> ## Documentation Index
> Fetch the complete documentation index at: https://exa.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> The Exa API is served at https://api.exa.ai. Authenticate with `Authorization: Bearer $EXA_API_KEY` (or `x-api-key: $EXA_API_KEY`); create keys at https://dashboard.exa.ai/api-keys?utm_source=docs&utm_medium=docs&utm_campaign=markdown_instructions. Every way an agent can get access to Exa is described at https://exa.ai/auth.md.
> Prefer the official SDKs, `exa-py` (`pip install exa-py`) and `exa-js` (`npm install exa-js`); both read `EXA_API_KEY` from the environment.
> Tool-using agents can call Exa without writing code through the hosted MCP server at https://mcp.exa.ai/mcp, or install the Exa agent skill with `npx skills add exa-labs/agent-skills` (skill file: https://exa.ai/docs/skill.md).
> The OpenAPI specs at https://exa.ai/docs/exa-spec.yaml and https://exa.ai/docs/team-management-spec.yaml are the source of truth for request and response schemas.

# Developer quickstart

> Get an API key, then use Exa from your code or your agent.

## 1. Get an API key

Agents: see [exa.ai/auth.md](https://exa.ai/auth.md) for every way to get access.

**1. Visit the Exa Dashboard**

> [card] [Get your Exa API key](https://dashboard.exa.ai/api-keys?utm_source=docs\&utm_medium=docs\&utm_campaign=get_key_card)
>
> Create a key in the dashboard. New accounts start with free credits.

**2. Set the key as an environment variable**

> [tab] macOS/Linux
>
> ```bash theme={null}
> export EXA_API_KEY="your-api-key"
> ```

> [tab] Windows
>
> ```powershell theme={null}
> setx EXA_API_KEY "your-api-key"
> ```

## 2. Choose how you'll use Exa

Exa fits into your application two ways: call the APIs from your own code, or connect an agent you already use.

> [card] [Call the APIs](#3-install-an-sdk)
>
> Use Search, Contents, and Exa Agent from your own code. Install an SDK
> below and make your first request.

> [card] [Connect your agent](https://exa.ai/docs/get-started/exa-mcp.md)
>
> Connect ChatGPT, Claude, Codex, or Cursor to Exa's search and research
> tools. Without an API key, Exa MCP runs search and fetch at a free rate
> limit. Exa Agent needs sign-in or an API key.

Building with the APIs? Pick where to start:

| Start with | Use it for |
| - | - |
| [Search](https://exa.ai/docs/search/quickstart.md) | Finding relevant web pages & returning synthesized content in under 2s |
| [Deep Search](https://exa.ai/docs/search/deep-search.md) | Higher-quality search where an LLM iteratively finds better results |
| [Agent](https://exa.ai/docs/agent/quickstart.md) | Long-running asynchronous research, list building, enrichment, or reports |
| [Contents](https://exa.ai/docs/contents/quickstart.md) | Extracting page content when you already have the URL(s) |

## 3. Install an SDK

```bash Python theme={null}
pip install exa-py

# Or, if using uv:
uv add exa-py
```

```bash JavaScript theme={null}
npm install exa-js
```

## 4. Make your first request

```python Python theme={null}
from exa_py import Exa

exa = Exa()

results = exa.search(
    "best blog posts about vector databases",
    contents={"highlights": True},
)

for result in results.results:
    print(result.title, result.url)
```

```javascript JavaScript theme={null}
import Exa from "exa-js";

const exa = new Exa();

const { results } = await exa.search(
  "best blog posts about vector databases",
  { contents: { highlights: true } },
);

for (const result of results) {
  console.log(result.title, result.url);
}
```

```bash cURL theme={null}
curl -s -X POST "https://api.exa.ai/search" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $EXA_API_KEY" \
  -d '{
    "query": "best blog posts about vector databases",
    "contents": { "highlights": true }
  }'
```

## Next steps

> [card] [Search API](https://exa.ai/docs/search/quickstart.md)
>
> Find relevant pages and return clean content or structured outputs.

> [card] [Agent API](https://exa.ai/docs/agent/quickstart.md)
>
> Build long-running research, list-building, and enrichment workflows.

> [card] [Contents API](https://exa.ai/docs/contents/quickstart.md)
>
> Extract clean content from pages you already know.

> [card] [Exa MCP](https://exa.ai/docs/get-started/exa-mcp.md)
>
> Connect any MCP client to Exa's web search, page fetching, and Exa Agent
> tools.
