Different Type of API's
Tags: api, webdev, tutorial, codenewbie
Published: 2023-09-11 17:22:05

# Different types of APIs

Application programming interfaces, or APIs, are a critical component of modern software development. This allows different software systems to communicate and share with each other. As a learner, it is very important to understand the various APIs and how they work. In this article, we'll explore different types of APIs, provide real-life examples, and include some examples of beginner-friendly applications.

## What is an API?

An API is a set of rules and protocols that allow one software to interact with another. Think of yourself as a waiter in a restaurant. You, the customer (software application), communicate your order (request) to the server (an API), which then sends it to the kitchen (another software application) and responds with your meal.

## API type

There are different types of APIs, each with a different purpose. Let's explore the most common:

### 1. **Web API (HTTP/HTTPS)**

Web API uses the HTTP or HTTPS protocol to allow applications to communicate over the Internet. It is widely used to access information or services from the web server. A popular example of a Web API is the Twitter API, which allows developers to access Twitter data and functionality.

**Real life example:** The Twitter API allows developers to receive tweets, post tweets, and perform various Twitter-related actions programmatically.

**Example:** You will use a library like "tweepy" in Python to access Twitter data. Here's a simple example of getting the latest tweets:

```Python
import hook

customer_key = 'ANDA_CONSUMER_KEY'
customer_secret = 'ANDA_CONSUMER_SECRET'
access_token = 'ANDA_ACCESS_TOKEN'
access_token_secret = 'AKSES_TOKEN_RAHSIA'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret);
auth.set_access_token(access_token, access_token_secret);

api = tweepy.API(aut)

tweets = api.user_timeline(screen_name = 'TwitterUser', account = 10)
for tweets within tweets:
    print(tweet.text)
```

### 2. **Library/API Integration**

Libraries or APIs can be integrated into your application to add functionality. For example, you can use the Google Maps API to integrate maps and location services into your application.

**Real life example:** Uber uses Google Maps API for location based services to provide accurate navigation and estimated time of arrival.

**Programming example:** You can use JavaScript to add Google Maps API to your website. Here is a simple example:

```html
<! DOCTYPE html>
<html>
<head>
    <title>Google Maps API example</title>
    <script src = "https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async delay> </script>
    <script>
        initMap() function
            var map = new google.maps.Map(image.getElementById('map'), {
                center: {lat: -34.397, lng: 150.644},
                Zoom in: 8
            });
        }
    </script>
</head>
<body>
    <div id = "map" style = "height: 400px; width: 100%;"> </div>
</body>
</html>
```

### 3. **Operating System API**

This API allows interaction with the underlying operating system. It allows applications to perform tasks such as file manipulation, system configuration, and device monitoring.

**Real life example:** The Windows API provides functions to create, manipulate, and manage windows, files, and processes.

**Example:** In Python, you can use the "os" module to interact with the operating system. Here's a simple example of listing files in a directory:

```Python
import os

directory_path = '/path/to/directory'
file = os.listdir(directory_path)

for files within files:
    print (file)
```

### 4. **Database API**

Database APIs facilitate communication between applications and databases. It allows you to perform operations such as reading, writing, and querying data from the database.

**Real life example:** Provides an API to interact with MySQL and PostgreSQL databases, allowing applications to store and retrieve data.

**example** You can use the "sqlite3" library to interact with the SQLite database in Python. A basic example of creating a database and entering data:

```Python
import sqlite3

conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()

cursor.execute('''CREATE TABLE IF USER EXISTS (id INTEGER PRIMARY KEY, name TEXT)'')
cursor.execute(''' ASSIGNS user(name) VALUE ('John')''')

conn.commit()
conn.close()
```

## The results

Understanding different types of APIs and real-life examples is essential for those entering the world of software development. As you become more familiar with the API, you can take advantage of its power to create more complex and feature-rich applications. Start exploring the types of APIs that fit your project, and feel free to experiment with your own APIs when you're confident in your programming skills. APIs are a key part of modern software, and it's important to master them