# What is an API?

### **What is an API?**

**API (Application Programming Interface)** is a set of rules that allows different software applications to communicate with each other. It acts as a bridge between two systems, enabling them to exchange data and functionality without needing to understand each other's internal workings.

### **Key Concepts of APIs:**

1. **Request & Response**: One system sends a request to the API, and the API returns a response.
    
2. **Endpoints**: APIs have specific URLs (endpoints) where requests are sent.
    
3. **Methods**: Common API methods include:
    
    * **GET** → Retrieve data
        
    * **POST** → Send data to create a new resource
        
    * **PUT/PATCH** → Update existing data
        
    * **DELETE** → Remove data
        
4. **Authentication**: APIs often require authentication (e.g., API keys, OAuth) to control access.
    
5. **Data Formats**: APIs usually exchange data in JSON or XML format.
    

### **Types of APIs:**

1. **REST API (Representational State Transfer)** – Most commonly used, follows HTTP protocols.
    
2. **SOAP API (Simple Object Access Protocol)** – Uses XML-based messaging.
    
3. **GraphQL API** – Allows clients to request only the data they need.
    
4. **WebSocket API** – Enables real-time communication.
    

### **Example of an API in Action:**

Imagine a **weather app** on your phone. When you check the weather, the app sends a request to a weather API (e.g., OpenWeather API). The API processes the request and returns real-time weather data, which is then displayed in the app.
