APIs: 101
Tags: webdev, api, computerscience, beginners
Published: 2023-01-23 13:48:40

HTTP (Hypertext Transfer Protocol) is a protocol used for transferring data over the internet. It is the foundation of the World Wide Web and is used for communication between clients and servers.

An API (Application Programming Interface) is a set of rules and protocols for building and interacting with software applications. It specifies how software components should interact and APIs allow for communication between different systems.

**What is an API?**

API stands for "Application Programming Interface." In simple terms, an API is a set of rules and protocols that allows different software applications to communicate with each other.

I know this is one of the standard definition for APIs on web. Let's understand this with a popular analogy. Think of an API like a menu in a restaurant. The menu provides a list of options that the kitchen (the back-end of the restaurant) can prepare. Similarly, an API provides a list of endpoints (or "options") that a software application (the back-end) can respond to.

![What is an API?](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ca46iav0l5axrhxb58g.png)

For example, imagine you are building a mobile app that needs to display information about the current weather. Instead of building the functionality to gather weather data from scratch, you can use an API that provides weather information. You would make an API call to the weather API and it would respond with the current weather data in a specific format, like JSON.

APIs are widely used in modern software development to allow different systems and applications to share data and functionality, without requiring direct access to the underlying systems.

**Some Basic terminologies of APIs**

![APIs terminologies](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1kzq7j1cb0x92vv9ygfd.png)

Here are some basic terms commonly used when discussing APIs:
- Endpoint: An endpoint is a specific URL that an API call is made to. It is the location where the desired resource is located.
- Request: An API request is the message sent by the client to the server to retrieve or update information.
- Response: An API response is the message sent by the server in response to an API request. It contains the requested information or an error message.
- Resource: A resource is a specific data item or collection of items that can be retrieved or manipulated using an API.
- Method: An API method is the type of request being made to an endpoint, such as a GET request to retrieve data, or a POST request to submit data (We will discuss more on this later).
- Authentication: Authentication is the process of verifying the identity of the client making an API request. It can be done with a token or a key.
- Rate Limiting: The number of requests that a client can make to an API within a specified time period.
- SDK: SDK stands for "Software Development Kit", is a set of tools and libraries provided by the API provider to make it easier to integrate with their API.
- JSON: JSON (JavaScript Object Notation) is a common format for sending and receiving data through APIs.

These are just a few of the terms commonly used when discussing APIs, but there are many more. Understanding these basic terms will help you understand how APIs work and how to use them effectively.

**Different methods in APIs**

![Methods in APIs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3nkhrffwix8tdauj1dn4.png)

API (Application Programming Interface) methods are the different ways in which a computer program can interact with an API. The most commonly used API methods are:

- GET: Retrieves information from a server. For example, a GET request to a weather API would return the current temperature and forecast.
- POST: Sends new information to a server. For example, a POST request to a social media API could be used to post a new status update.
- PUT: Updates existing information on a server. For example, a PUT request to an e-commerce API could be used to update the quantity of an item in a shopping cart.
- DELETE: Deletes information from a server. For example, a DELETE request to a social media API could be used to delete a post.
- PATCH: Partial update existing information on a server. For example, a PATCH request to a user profile API could update user's address.

These are the most commonly used API methods, but there may be others depending on the API and their use-cases.

**APIs based on HTTP:**

- The most commonly used API based on HTTP is the XMLHttpRequest API, which can be used to exchange data between a user agent and a server.
- The modern Fetch API provides the same features with a more powerful and flexible feature set.

Therefore, we can say that HTTP is an extensible protocol that is easy to use. The client-server structure, combined with the ability to add headers, allows HTTP to advance along with the extended capabilities of the Web.