NEW
Also known as: Application Programming Interface
Defined interface that enables software components to communicate and exchange functionality or data.
DESCRIPTION
An API specifies how software components interact through requests and responses, exposing functions or data via stable contracts. Common styles include REST over HTTP, gRPC with Protocol Buffers, and SOAP. Good APIs include clear schemas (OpenAPI), authentication, versioning, and rate limiting. They enable modular architectures, integration across services, and access to platforms and data products. In data systems, APIs power ingestion, feature services, and operational analytics.
ALTERNATIVE DEFINITIONS
Wikipedia
An application programming interface (API) is a way for two or more computer programs to communicate with each other.
Highlights inter-program communication role of APIs.
Red Hat
An application programming interface (API) is a set of definitions and protocols for building and integrating application software.
Emphasizes definitions and protocols used for building and integration.
RELATED TERMS
REST gRPC SOAP Webhooks OpenAPI Rate Limiting Authentication Microservices
COMPETING TERMS
Software Development Kit Queue
RELATIONS
- Narrower: APIs Anthropic API Data API OpenAI API REST API
KNOWLEDGE AREAS
Data Integration & Interoperability Software Engineering Platform & Tooling
TARGET AUDIENCE
Software Developer Data Engineer Analytics Engineer AI Engineer DevOps Engineer
EXTERNAL SOURCES
- Wikipedia - API
- OpenAPI Initiative - OpenAPI specification standard
- gRPC - gRPC introduction and benefits
TOP QUESTIONS
Why use an API instead of direct database access?
APIs enforce contracts, security, and decoupling, enabling evolution and scaling without exposing internal schemas or risking inconsistent writes.
Category: Benefits
What are common API styles?
REST, gRPC, and SOAP are prevalent. REST is resource-oriented, gRPC is high-performance RPC, and SOAP is XML-based with strict standards.
Category: Overview
How should APIs be versioned?
Use semantic versioning in paths or headers; deprecate gracefully with documentation and timelines.
Category: Best practice
How to secure APIs?
Apply authentication and authorization (OAuth 2.0/OIDC), TLS, rate limiting, and input validation to prevent abuse.
Category: Security
What is OpenAPI’s role for APIs?
OpenAPI describes endpoints, schemas, and authentication, enabling code generation, documentation, and contract testing.
Category: Tooling
How do APIs support data platforms?
They expose ingestion endpoints, feature services for ML, and operational analytics to downstream applications.
Category: Use-case
What is idempotency in APIs?
Idempotent methods (e.g., PUT) produce the same result if repeated, simplifying retries and error handling.
Category: Concept
When to choose gRPC over REST for APIs?
Use gRPC for low-latency, strongly-typed streaming or internal microservices; REST for web-friendly, broad client compatibility.
Category: Decision
What are common mistakes with APIs?
Breaking contracts without versioning, leaking internal errors, inconsistent resource naming, and poor documentation hinder adoption.
Category: Mistakes