---
updatedAt: 2026-07-23T19:24:01.000Z
---

Fetch the complete documentation index at: https://docs.apollo.io/llms.txt. Use this file to discover all available pages before exploring further.

# OpenAPI Specification

Import the full Apollo API into your tooling, generate client SDKs, or power AI agents.

The complete Apollo API is published as a machine-readable **OpenAPI 3 specification** — a single file describing every endpoint, parameter, and example request.

> 📘 Download the spec
>
> **<https://docs.apollo.io/openapi/apollo-rest-api.json>**

## What you can do with it

* **Import into an API client** — load the spec into Postman or any OpenAPI-compatible client to get every Apollo endpoint, parameter, and example request ready to send. See [Import into Postman](#import-into-postman) below.
* **Generate a client SDK** — feed the spec to tools like <a href="https://openapi-generator.tech/" target="_blank" rel="noopener">OpenAPI Generator</a> or another tool of your choice to scaffold a typed client in your language of choice.
* **Power AI and custom tooling** — point LLM agents, MCP servers, or your own doc viewers at the spec for an always-current, structured description of the API. OpenAPI specifications are easier for automated tooling and AI agents to consume than HTML documentation.

The spec is regenerated whenever these docs are published, so the download URL always reflects the latest version of the API. Before you make live calls, [create an API key](https://docs.apollo.io/docs/create-api-key) and review [Authentication](https://docs.apollo.io/reference/authentication).

## Import into Postman

You can load the entire Apollo API into <a href="https://www.postman.com/downloads/" target="_blank" rel="noopener">Postman</a> in about a minute:

1. In Postman, click **Import**, then paste the spec URL: `https://docs.apollo.io/openapi/apollo-rest-api.json`. When prompted, import it as a **Postman collection**. Postman creates an **apollo-rest-api** collection with every Apollo endpoint, parameter, and example request body prefilled.

2. Add your API key. The collection's **Authorization** tab is already configured for Apollo's API key authentication — the `x-api-key` header, with its value read from an `{{apiKey}}` variable. Select the collection, open its **Variables** tab, add a variable named `apiKey` (if it isn't listed yet), enter your Apollo API key as its **Current value**, and save. If you don't have a key yet, [create an API key](https://docs.apollo.io/docs/create-api-key).

   > 📘 Ensure you're using the correct authentication
   >
   > Apollo users authenticate with an API key sent in the `x-api-key` header — keep the collection's preconfigured **API Key** authorization and set the `apiKey` variable. Entering an API key as a **Bearer Token** results in a `401 Invalid API key` error. Apollo partners using the [OAuth 2.0 authorization flow](https://docs.apollo.io/docs/use-oauth-20-authorization-flow-to-access-apollo-user-information-partners) can instead switch the collection's authorization type to **Bearer Token** and supply their OAuth access token.

3. Send your first request. Open the **Get Current User Profile** request (`GET /users/api_profile`) and click **Send**. It consumes no credits, and a `200` response with your user profile confirms your key works. From there, explore any endpoint — check its reference page for [credit consumption](https://docs.apollo.io/docs/api-pricing) before sending requests that enrich or search data.

Your key's access still depends on your Apollo plan and the key's configured scopes — a `403` response means the endpoint isn't included in your plan or key scope, not that your import is broken. See [Authentication](https://docs.apollo.io/reference/authentication) and [Rate Limits](https://docs.apollo.io/reference/rate-limits) for details.

## Generate a client SDK

You can turn the spec into a fully typed client library using a tool like <a href="https://openapi-generator.tech/" target="_blank" rel="noopener">OpenAPI Generator</a> or a similar tool. This guide builds a TypeScript client on macOS and runs a [People Search](https://docs.apollo.io/reference/people-api-search). To generate for another language or platform, see the <a href="https://openapi-generator.tech/" target="_blank" rel="noopener">OpenAPI Generator docs</a>.

**1. Install the tools.** You can install OpenAPI Generator and Node.js with <a href="https://brew.sh/" target="_blank" rel="noopener">Homebrew</a> or another tool of your choice:

```bash
brew install openapi-generator node
```

**2. Generate the client.** Point the generator at the published spec:

```bash
openapi-generator generate \
  -i https://docs.apollo.io/openapi/apollo-rest-api.json \
  -g typescript-fetch \
  -o ./apollo-client
```

**3. Run a People Search.**

1. [Create an API key](https://docs.apollo.io/docs/create-api-key).

2. Set the key as an environment variable:

   ```bash
   export APOLLO_API_KEY="your-api-key"
   ```

3. Run the search with `npx tsx`:

   ```bash
   cd apollo-client
   npx tsx -e "import { SearchApi, Configuration } from './'; new SearchApi(new Configuration({ apiKey: process.env.APOLLO_API_KEY })).peopleApiSearch({ personTitles: ['sales manager'], personLocations: ['california'], perPage: 10 }).then(r => console.log(r.people?.map(p => p.firstName)))"
   ```

The generated client handles authentication, request building, and response parsing, so you work with typed TypeScript objects instead of raw HTTP.