The short answer

API stands for Application Programming Interface. Despite the technical-sounding name, the concept is straightforward: an API is a defined way for one piece of software to ask another piece of software to do something.

That's it. A set of rules for how two programs can talk to each other.

The restaurant analogy

Think of an API like a waiter in a restaurant. You (the customer) don't go into the kitchen and cook your own meal — you give your order to the waiter, who takes it to the kitchen, and brings back what you asked for. You don't need to know how the kitchen works. You just need to know what's on the menu and how to place an order.

The API is the waiter. Your application is the customer. The service you're calling is the kitchen. The "menu" is the API documentation — it tells you what you can ask for and in what format.

Why APIs exist

Imagine you're building an app that needs to display a map. You could write mapping software from scratch — gathering satellite imagery, building routing algorithms, handling zoom levels, rendering tiles. That would take years. Or you could call the Google Maps API, pass it an address, and get back a rendered map in milliseconds.

APIs exist because building everything yourself is impractical. They let developers use functionality that already exists — payment processing, maps, weather data, email delivery, document conversion — without having to understand or rebuild the underlying system. You just need to know the rules for asking.

This is why modern software is largely built from assembled APIs rather than written from the ground up. Your banking app talks to a fraud detection API, a notification API, and a payment processing API. Your food delivery app talks to a mapping API, a payment API, and restaurant ordering APIs. None of these companies built all of those capabilities themselves.

How a web API works

Most APIs you'll encounter today are web APIs — they communicate over the internet using standard HTTP, the same protocol your browser uses to load web pages. The most common style is called a REST API.

Your application
HTTP request
API server
Includes: what you want, your API key, any data
Your application
HTTP response
API server
Returns: the result, or an error if something went wrong

A REST API uses standard HTTP methods to indicate what kind of operation you're performing:

The response from a modern web API is usually in JSON format — a simple, structured text format that any programming language can read. It looks something like this:

// A typical JSON response from a hypothetical user lookup API
{
  "id": "usr_abc123",
  "name": "Jane Smith",
  "email": "jane@example.com",
  "plan": "pro"
}

API keys and authentication

Most APIs require you to identify yourself before they'll respond to requests. The most common method is an API key — a unique string of characters that acts like a password for your application.

You include the API key in every request, usually in a header:

# Example API request with authentication
POST https://api.example.com/convert
Authorization: Bearer your-api-key-here
Content-Type: application/json

The API uses this key to verify you're authorised, track how many requests you've made (for rate limiting and billing), and associate the request with your account. Keep API keys private — treat them like passwords, because that's effectively what they are.

A real example — Zindle

Real-world API example

Zindle — HTML to PDF conversion API

Zindle is a simple REST API built by DS Webhosting. You send it HTML, it returns a PDF. That's the entire service.

A developer integrating Zindle into their application makes a single POST request — including their HTML content and their API key — and receives a PDF file in return. Zindle never stores the documents at any point in the process, making it suitable for sensitive or confidential content.

It has a free tier for low-volume use and a Pro plan at AUD$12/month for up to 3,000 conversions. Full documentation at zindle.com.au.

Here's what a Zindle API call looks like in practice:

# Convert HTML to PDF using the Zindle API
curl -X POST https://api.zindle.com.au/v1/convert \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "html": "<h1>Invoice #1234</h1><p>Amount due: $500.00</p>"
  }' \
  --output invoice.pdf

That's it. One request, one PDF back. The developer doesn't need to know anything about how PDF rendering works, what libraries Zindle uses internally, or how to handle page layout. They just need to know the rules for making the request — which is what the API documentation provides.

This is exactly the kind of task APIs are made for: a well-defined, repeatable operation that would be tedious to build yourself but is trivial to call.

APIs vs websites

A question worth addressing: if a website and an API are both accessed over the internet via HTTP, what's the difference?

A website is designed to be used by humans through a browser. It returns HTML, CSS, and images that the browser renders into something readable and clickable.

An API is designed to be used by other software. It returns structured data — usually JSON — that another application can process programmatically. There's no visual interface, no button to click, no page to read. The response is meant to be consumed by code, not by eyes.

Many services offer both. An e-commerce platform might have a website for customers to browse and buy, and also an API so that other businesses can integrate their product catalogue, check stock levels, or place orders programmatically from their own systems.

Why this matters even if you're not a developer

Understanding what an API is matters beyond just being able to follow technical conversations. A few practical reasons:

Need HTML-to-PDF conversion in your application?

Zindle is a simple REST API — send HTML, receive a PDF. Free tier available, full documentation on the site.

Visit Zindle.com.au →
← All resources Also read: AI-assisted development explained →