API
ay-pee-eye
Application programming interface: a defined way for software programs to communicate with each other.
An API (application programming interface) is a contract that defines how two pieces of software talk to each other. It specifies what requests you can make, what data you send, and what responses you get back. APIs are the connective tissue of modern software.
Every time you use an app that shows weather data, processes a payment, or sends a notification, APIs are doing the work behind the scenes. The app calls the weather API with a location, the API returns the forecast. The app calls the payment API with card details, the API processes the charge and returns a confirmation.
For developer tools companies, the API is often the product. Stripe's API is Stripe. Twilio's API is Twilio. The quality of the API documentation, the developer experience of using the API, and the reliability of the API are the primary differentiators.
Examples
A company builds an integration.
An e-commerce platform integrates with a shipping API. The platform sends order details (weight, dimensions, destination) to the shipping API. The API returns available shipping options with prices and estimated delivery dates. The customer sees these options at checkout.
A developer tool company's API is its product.
Stripe's payment API accepts a POST request with payment details and returns a charge object. The API is well-documented, consistent, and handles edge cases gracefully. Developers choose Stripe over competitors primarily because of the API quality.
An API change breaks integrations.
A company changes the response format of their API without versioning. Every customer that parses the response breaks simultaneously. The company rolls back the change, introduces API versioning (v1, v2), and gives customers 12 months to migrate to the new format.
In practice
Read more on the blog
Frequently asked questions
What is the difference between an API and an SDK?
An API is the interface: the set of endpoints, request formats, and response formats. An SDK is a library that wraps the API in a specific programming language, making it easier to use. The API is the contract. The SDK is a convenience layer for a specific language.
What makes a good API?
Consistency (similar endpoints work the same way), clear error messages (not just '500 Internal Server Error'), good documentation (with examples in multiple languages), versioning (so changes do not break existing integrations), and reliability (99.9%+ uptime).
Related terms
Software development kit: a set of tools and libraries for building with a specific platform or API.
Representational State Transfer: an architectural style for building web APIs using HTTP methods.
A query language for APIs that lets clients request exactly the data they need.
An HTTP callback that sends data to your application automatically when an event occurs in another system.
A unique string that identifies and authenticates an application or user when making API requests.

Want the complete playbook?
Picks and Shovels is the definitive guide to developer marketing. Amazon #1 bestseller with practical strategies from 30 years of marketing to developers.