Explaining APIs in a way that even a 5 year old could understand
Tags: beginners, api, programming
Published: 2023-03-16 04:34:23

Are you ready to enter the world of APIs? If you're a software developer or a tech enthusiast, get ready to experience the thrill of creating amazing software applications using APIs! APIs are not just a set of protocols, routines, and tools. They're a gateway to a whole new world of possibilities! With APIs, you can access the functionality of other applications, connect different systems, and build innovative solutions to complex problems.

Imagine having access to a treasure trove of pre-built functionality that you can incorporate into your own application with just a few lines of code! With APIs, you can easily add features like maps, social media integration, payment gateways, and much more. And the best part? You don't have to reinvent the wheel! You can focus on building the core functionality of your application and leave the rest to the APIs.

But wait, there's more! APIs are not just for software developers. Businesses can also benefit from APIs by creating new revenue streams, reaching new customers, and improving their operations. With APIs, businesses can integrate their systems, automate their workflows, and create new products and services.

So, whether you're a developer looking to create amazing software applications or a business looking to innovate and stay ahead of the competition, APIs are the key to unlocking the potential of the digital world. Are you ready to join the API revolution? Let's dive in and explore the exciting world of APIs!

## What is an API?
An API (Application Programming Interface) is a set of protocols, routines, and tools that enable different software applications to communicate with each other. In simpler terms, an API is a way for two different software applications to talk to each other and share information. Let's look at it this way;
Imagine you have a toy car that can only move forward and backward, and you want to make it turn left and right too. So, you take a toy remote control car that can already turn left and right, and you take the parts that make it turn left and right and put them inside your toy car. This way, your toy car can now also turn left and right, just like the remote control car!


![toy car](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s96heo8hz9gumicf2t6b.jpeg)

An API is like those parts that you took from the remote control car and put inside your toy car. It helps one toy (or program) talk to another toy (or program) and share information or do things together, even if they weren't originally designed to do so. Just like you can use the parts from one toy to make another toy do more things, developers use APIs to make their programs work together and do more things too!

## History of API

![dinosaur computer](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rra6iq6n1mxp3hvnh9q3.jpeg)

The concept of APIs can be traced back to the early days of computer programming in the 1960s and 1970s when developers began using libraries of reusable code to streamline their work. However, it wasn't until the rise of the internet in the 1990s that APIs became more widespread.

In the early days of the internet, most websites were static and didn't have any interactive features. However, with the emergence of dynamic websites and web applications, there was a growing need for different systems to communicate with each other. This led to the development of the first web APIs, which allowed developers to access and use the functionality of other web applications.

One of the earliest examples of a web API was the Simple Object Access Protocol (SOAP), which was developed by Microsoft in the late 1990s. SOAP provided a standard way for different systems to communicate with each other over the internet.

As the internet continued to evolve, new types of APIs emerged, such as Representational State Transfer (REST) APIs and JavaScript Object Notation (JSON) APIs. These newer APIs were designed to be simpler and more lightweight than SOAP, making them easier to use and more widely adopted.

Today, APIs are an essential part of modern software development and are used by developers and businesses around the world to build new applications, integrate different systems, and create innovative solutions to complex problems

## API Use Cases

- **Social Media**

![social](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ekoekv93saqqwh2b5csl.jpeg)

APIs provided by social media platforms such as Facebook, Twitter, and Instagram enable developers to create applications that work with their platform. These apps can allow users to post content directly from the app to their social media accounts.

- **E-commerce**

![E-commerce](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n5vn25yg2izyjoaw5uhz.png)

E-commerce websites use APIs to link with payment gateways, shipping providers, and other services. For instance, Amazon uses an API to connect with a shipping provider to monitor shipments and inform customers about delivery status.

- **Weather Data**

![Weather Data](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ps2tfj9iggt82m9lkmz2.jpeg)
Weather APIs offer access to current and past weather data and forecasts that developers can use to create weather applications or include weather information in other applications.

- **Maps and Location Services**

![Maps and Location Services](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3fqjd02ufx9ujeessbbc.jpeg)

Google Maps API and similar APIs allow developers to access location data and mapping services. This enables them to create applications with features like location tracking, geocoding, and mapping services.

- **Financial Data**

![finance](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ubla209ylalthqla9wkg.jpeg)
APIs, like Yahoo Finance, offer access to financial information such as stock prices, market data, and financial news. Developers can use this information to make financial apps, analyze data, and create visual representations.

- **Messaging and Communication**

![messaging](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/432amu16bswp7wf53qpe.jpeg)
Messaging and communication APIs are tools that help developers create apps that allow people to talk to each other in real-time. For instance, Twilio's messaging API can be used to send texts, make phone calls, and share pictures and videos.

## Types of API 

APIs come in many different types, each with its own unique characteristics and use cases. In this article, we'll explore some of the most common types of APIs, including REST, SOAP and GraphQL, and discuss their strengths and weaknesses. Whether you're a developer looking to integrate APIs into your software, or simply interested in learning more about this critical technology, this article will provide you with a comprehensive overview of the different types of APIs available today.


- **REST**

![rest](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ncjg8f4vkeln7rzd398p.png)



A REST API is a way for different software applications to talk to each other over the internet. It uses a set of rules to organize and manage the communication, so that each application knows what to expect from the other.

In a RESTful API, each "thing" that can be talked about (such as a user, an order, or a product) has its own unique address, like a web page. Different actions can be taken on these "things" by using different types of commands, like clicking a button or typing text.


![rest architecture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6nv7ao0bys72ggc2y694.png)

RESTful APIs are useful because they are easy to use, fast, and work with many different types of programming languages and technologies. They are commonly used by businesses to build web services that can be used by other applications.

- **SOAP**

![soap](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2m0aobntf6krt3pizp5e.png)
SOAP API is a technology that allows different computer programs to communicate with each other over the internet using a common language. This common language is called XML, which is a way to structure data so that it can be easily read and understood by different programs.

When two programs want to communicate using SOAP API, they send messages to each other in XML format over the internet. These messages contain information about what the programs want to do, and the data that they need to exchange.

![soap architecture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3zif0ilv5afwpmvt5rkd.png)

SOAP API (Simple Object Access Protocol API) is often used in big companies or organizations where security and reliability are very important. However, it has become less popular in recent years because other technologies like RESTful APIs have become more popular. RESTful APIs are simpler and easier to use than SOAP API.

- **GraphQL**

![GraphQL](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vb9z4s2c3q1u4lbhmh0u.png)

GraphQL is a query language and server-side runtime for APIs that allows developers to request specific data from a server. It was developed by Facebook in 2012 as an alternative to traditional RESTful APIs.

With GraphQL, the client can request exactly the data it needs by constructing a query, which is then sent to the server. The server responds with only the requested data, which can save time and reduce network usage.

![GraphQL architecture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rdbmvhydjfeg6kyrg5sa.jpeg)

GraphQL also provides other features like real-time updates and error handling, which can help to improve performance and reliability.

Overall, GraphQL is becoming popular because it provides a flexible and efficient way to retrieve data, and can handle complex data structures with ease.

## Conclusion 

APIs are like a set of tools that allow different software programs to communicate and work together. They make it easier for developers to create new applications by using parts of existing software, and they also allow businesses to share their data and services with others. APIs are important because they make it possible for different systems to talk to each other, which helps make technology more efficient and useful. As technology continues to evolve, APIs will play a big role in shaping the future of how we use software.


That's all for now, till I write again.