When I first started learning about APIs, the term felt abstract. Everyone seemed to use the word API, but depending on the context, they could be referring to a specification, a piece of code, a running service, or an entire business strategy.
To better understand the concept, I combined several learning approaches: reading, mind mapping, experimentation, and system-level discussions. By the end of the exercise, APIs felt much less like a buzzword and much more like a practical tool that connects software systems together.


Starting with the Big Picture
One of the first resources I explored was APIs: A Strategy Guide by Daniel Jacobson, Greg Brail, and Dan Woods.
The book approaches APIs not merely as a technical topic but as a business strategy. Modern companies increasingly expose their data and services through APIs because APIs create channels between systems, partners, customers, and developers.
Using NotebookLM, I generated a mind map to summarize the major concepts.
Some of the key themes included:
- What an API actually is
- Internal vs. public APIs
- Business motivations for creating APIs
- API ecosystems and value chains
- Direct and indirect monetization models
- Technical contracts and specifications
One insight that stood out was that APIs are not purely technical artifacts. They are often designed to enable communication between different applications, business units, partners, and even entire industries.
What Exactly Is an API?
After several discussions, I found the simplest definition to be:
An API is a contract that defines how one piece of software can communicate with another piece of software.
The important word here is contract.
An API does not necessarily describe:
- How the code is written
- Which programming language is used
- Which database stores the data
- Which server executes the code
Instead, it defines:
- What requests can be sent
- What parameters are accepted
- What responses are returned
- What rules both sides must follow

Distinguishing Three Frequently Confused Concepts
1. API Contract
The specification.
Example:
GET /users/123
returns:
{
"name": "John"
}
This is the agreement between client and server.
2. API Implementation
The actual code that fulfills the request.
Example:
@app.route("/users/<id>")
def get_user(id):
return jsonify(user_data)
This is the logic written by developers.
3. API Server
The running process.
When Flask is started:
app.run()
the program becomes a server process that continuously listens for incoming requests.
This was an important realization:
The API itself is not a server.
The API contract is the specification.
The API implementation is the code.
The API server is the running process that hosts the implementation.
Building a Mini API Server
To move beyond consuming APIs, I explored how one might create an API.
Using Flask, I designed a simple learning project consisting of:
Step 1: Install Flask
Flask provides the tools necessary for Python programs to speak HTTP.
Step 2: Create an API Server
Define an endpoint:
@app.route("/hello")
def hello():
return {
"message": "Hello World"
}
Step 3: Create a Client
Send a request:
response = requests.get(
"http://127.0.0.1:5000/hello"
)
Receive the response:
{
"message": "Hello World"
}
This small exercise helped illustrate how APIs work from both sides of the connection.

Where APIs Sit in the Bigger System
One of the most valuable discussions was placing APIs within the larger flow of how the web works.
A simplified version looks like this:
Human Intent
↓
Browser
↓
JavaScript
↓
HTTP
↓
Internet
↓
Web Server
↓
Application
↓
API Endpoint
↓
Database
↓
API Response
↓
Browser
↓
User
This perspective helped connect many topics that previously felt separate:
- Networking
- Web development
- Databases
- HTTP
- JavaScript
- WordPress
- Flask
- Cloud services
The API becomes the bridge between the application’s internal logic and the outside world.
Types of APIs
Another area we explored was API classification.
Internal APIs
Used inside an organization.
Examples:
- ERP integrations
- Internal accounting systems
- Internal reporting tools
These APIs are not exposed to the public.
Partner APIs
Shared with selected external organizations.
Examples:
- Suppliers
- Business partners
- Contractors
Access is restricted.
Public APIs
Available to external developers.
Examples:
- OpenAI API
- Google Maps API
- Weather APIs
These are often monetized through subscriptions or usage-based pricing.
REST and Non-REST APIs
REST is currently the most common API style.
REST APIs typically:
- Use HTTP
- Use URLs as endpoints
- Return JSON
- Follow predictable conventions
Example:
GET /users
POST /users
PUT /users/123
DELETE /users/123
However, REST is not the only approach.
Other API technologies include:
- GraphQL
- SOAP
- gRPC
- WebSockets
Each has advantages depending on performance, flexibility, and system requirements.
Why This Matters
Learning APIs feels like a natural next step after learning databases and web development.
A database stores information.
An application processes information.
An API exposes information.
Without APIs, modern software ecosystems would be significantly more isolated and difficult to integrate.
Understanding APIs also provides a foundation for:
- Web development
- Cloud computing
- Mobile applications
- AI integrations
- ERP systems
- Data engineering
- Internal controls and system integration projects
Recommended Learning Resource
For readers interested in learning APIs from a practical programming perspective, I recommend the following playlist:
The playlist starts with fundamentals and gradually moves toward building real API applications, making it suitable for beginners who want hands-on experience.
Final Thoughts
What began as a simple question — “What exactly is an API?” — evolved into a much broader understanding of how modern software systems communicate.
Through reading, mind mapping, experimentation in Kaggle, designing a miniature Flask server, and discussing system architecture, I came away with one key realization:
An API is not merely code. It is a communication contract that allows independent systems to work together.
One analogy that helped me understand this concept was to think of an API as a translator. Just as a translator allows two people who speak different languages to communicate, an API allows different software systems to exchange information without needing to understand each other’s internal workings. A mobile app, a website, a database, and a cloud service may all be built using different technologies, yet they can still communicate effectively as long as they agree on the same API contract.
Once you understand that idea, many pieces of modern technology—from weather apps and banking applications to WordPress sites and AI systems—start to make much more sense. APIs are everywhere, quietly acting as the bridges that connect software together and enable the digital experiences we use every day.
This exercise also gave me a greater appreciation for the work performed by backend engineers. While calling an API may require only a few lines of code, integrating APIs into a larger application often involves studying documentation, understanding authentication methods, handling errors, processing data formats, and ensuring that multiple systems can communicate reliably. Before the rise of AI-assisted development tools, engineers frequently spent hours—or even days—reading API documentation, studying authentication requirements, and experimenting with requests before successfully integrating a third-party API into their applications.
Today, AI tools such as ChatGPT, Claude, and GitHub Copilot can accelerate that learning process by explaining documentation, generating example code, and helping troubleshoot issues. However, developers still need to understand the underlying API contract, system architecture, and business requirements in order to build reliable solutions.
For me, this learning exercise was valuable not only because I learned how to call an API or build a simple Flask endpoint, but because it helped place APIs within the larger ecosystem of networking, web development, databases, cloud services, and software architecture. What once seemed like an isolated technical term now feels like one of the fundamental building blocks of modern computing.
Other online visual references
— Linden Lake




Leave a Reply