For most of the newbie web developers out there perhaps the most intriguing term you hear is “API”. An API to link your frontend to the backend, to pull resources from a CDN, for user authentication, or simply to fetch weather data for your website. It’s everywhere! This makes API a must-learn technology for an ideal web developer and is a skill that comes in handy for developers in other streams like data science and machine learning too.
So what is it? Simply put an API acts as an adapter for your application, enabling two softwares running on different technologies to talk to each other. By different technologies, I meant that one application can be an app running on your pc and the other can be a web server situated miles away from you. It is, therefore, APIs that make it possible for you to stream videos, surf the web and chat with your friends.
It is everything from “in which format the data must be transmitted” to “how does the user ask for it”. This paradigm is mostly dealt with by backend engineers still progressively people are learning it irrespective of their career paths in programming. Even your web browsers have APIs built into them, one common example of which is granting a location or notification access to the website you visit.
Broadly categorised on the basis of access to them, APIs are of two types:
Public APIs - These are offered by websites who want to share their data, mostly research data which can be anything like current weather, quantitative data about stock markets, sentimental analysis (which can be paid sometimes but still publicly available), an OAuth access to your Spotify or YouTube account, information from which can be integrated with your application as per design needs. Such APIs are referred to as endpoints because they act as a terminal for you to access the data. So in theory, you’ll query these endpoints from your application to fetch your required data.
Private APIs - These can be called internal APIs as the name suggests. These are built by the companies for their internal usage, which means no outsider, be it an outside developer can access these APIs. An example of this can be an employee database API for the human resource department in a company where the software is specifically curated for that specific department to access information about the employees of the firm (you won’t want people outside your organization to have access to sensitive information about your employees right?).
That, in a nutshell, summarises what APIs are and how they are used. Hopefully, now you know a bit more than you did 5 mins ago.
Till next time 😉