Skip to main content
Glossary

API

Application Programming Interface. A set of rules that allows different software applications to communicate with each other by defining methods, data formats, and protocols.

Detailed Explanation

An API acts as a contract between two software systems, specifying how they can interact. When you use a mobile app that displays weather data, the app is making API calls to a weather service's servers. The API defines what requests the app can make, what data it should send, and what response it will receive.

APIs are everywhere: when you log in with Google, an API call is made; when a website loads tweets, it uses Twitter's API; when your phone checks for new emails, it uses an email API. They are the backbone of modern software integration, enabling different systems built by different teams, in different languages, on different platforms to work together seamlessly.

Why It Matters

APIs are the building blocks of modern software. Understanding them is essential for any developer, product manager, or technical founder.

Real-World Example

When you book a flight on Kayak, it uses APIs from airlines (Delta, United), hotel chains (Marriott, Hilton), and car rental companies (Hertz, Avis) to aggregate results in one place.

When to Use

Anytime you need two software systems to exchange data or trigger actions. APIs enable integrations, mobile apps, third-party partnerships, and microservice architectures.

Advantages

  • Enable integration between different systems
  • Allow third-party developers to build on your platform
  • Abstract complexity behind simple interfaces
  • Enable parallel development of frontend and backend
  • Support ecosystem and partner networks

Disadvantages

  • Additional development and maintenance overhead
  • Versioning and backward compatibility challenges
  • Security risks if not properly authenticated
  • Performance overhead from network calls
  • Documentation burden for public APIs

Frequently Asked Questions

What is the difference between an API and a SDK?

An API is a set of rules for communication. An SDK (Software Development Kit) is a collection of tools, libraries, and documentation that makes it easier to use a specific API. Think of the API as the restaurant menu and the SDK as the cooking kit.

How do I authenticate API requests?

Common methods include API keys (simple but less secure), OAuth 2.0 (industry standard for delegated access), JWT tokens (stateless authentication), and mTLS (mutual TLS for service-to-service). The right choice depends on your security requirements.

What is rate limiting in APIs?

Rate limiting restricts how many requests a client can make within a time window. It protects your API from abuse, ensures fair usage, and prevents overload. Typical limits are 100-1000 requests per minute depending on the tier.

Should I build a REST or GraphQL API?

REST is simpler to implement and cache, making it ideal for most use cases. GraphQL excels when clients need flexible queries with varying data requirements, like mobile apps that need to minimize data transfer. Start with REST unless you have a specific reason for GraphQL.

What is API versioning?

API versioning lets you make changes to an API without breaking existing clients. Common strategies include URL path versioning (/v1/users), header versioning (Accept: application/vnd.api.v1+json), and query parameter versioning (?version=1).

Back to Glossary

Browse all terms in our software development glossary.

Browse All Terms