# Exa

Web search API with its own index that returns ranked pages with full text, highlights or summaries.

- Provider: Exa Labs (https://exa.ai)
- Category: Search the web
- Type: Hosted API
- Pricing model: Pay as you go, prepaid credit; no subscription [1]
- Free tier: $10 credit a month, no card [1]
- Authentication: API key; OAuth or keyless for the MCP server [4]
- Connect via: REST API, hosted and local MCP server, Python and JS SDKs, agent skills [6]
- Read from the provider's pages on 2026-11-04
- Page: https://supermarket.dev/tools/search-the-web/exa

## Pricing

### Billing
- Pricing model: Pay as you go with prepaid credits [1]
- Free tier: $10 in credits on sign-up, reset to $10 on the first of each month; one-time $10 onboarding bonus [2]
- Card required for free tier: No [1]
- Minimum spend: None [1]
- Billing period: Credits are charged per request; the free balance resets each calendar month [2]
- Out of credit: Requests return `402 Payment Required` [2]

### Prices
Default first, then advertised. Results above 10 add $1 per 1,000 results: `auto` with 20 results is $7 + 10 x $1 = $17 per 1,000 requests. `/contents` is $1 per 1,000 pages for each content type.
| Request | $ per 1,000 requests (up to 10 results) | Note |
|---|---|---|
| `/search` with `type` left out (default is `auto`) | 7 | Default for a request that omits `type` |
| `/search` `lite` | 4 | Advertised starting price; no live fetch |
| `/search` `instant` | 4 | Legacy type |
| `/search` `deep-lite` | 12 | About 4 seconds |
| `/search` `deep` | 12 | 4-15 seconds |
| `/search` `deep-reasoning` | 15 | Legacy type, 12-40 seconds |
| `/answer` | 5 |  |
| `/monitors` | 2 |  |
Source [1]

### Defaults and extras
- Default search type: `auto` [7]
- Advertised price: From $4 per 1,000 requests (the `lite` type) [1]
- Extra results: $1 per 1,000 results above 10 [1]
- AI summaries: $1 per 1,000 pages [1]
- `/contents` charging: Each content type is billed separately [1]
- Pay per call without an account: `/search` and `/contents` by x402; same prices as API key billing [10]
- Volume pricing: Enterprise plan only [1]

## Tools

### MCP server
- Official MCP server: Yes, remote and local [4]
- Address or package: `https://mcp.exa.ai/mcp` (remote); `exa-mcp-server` on npm (local) [4]
- Tools listed without credentials: 2 (`web_search_exa`, `web_fetch_exa`); the server reports 3.5.0 [23]

### MCP tools
Read-only hints measured on `tools/list`: the two default tools declare `readOnlyHint: true`; the opt-in `web_search_advanced_exa` was listed keyless and also declares it; `agent_run` needs auth and was not listed.
| Tool | What it does | Read-only |
|---|---|---|
| `web_search_exa` | Searches the web and returns clean text from top results (default) | Yes |
| `web_fetch_exa` | Reads a webpage's full content as clean markdown; batches URLs (default) | Yes |
| `web_search_advanced_exa` | Advanced search with filters, domains, dates, highlights, summaries (opt-in with `?tools=`; works without a key when requested) | Yes |
| `agent_run` | Runs an Exa Agent for multi-step research and structured output (opt-in; needs OAuth or API key) | Not stated |
Source [5]

### API
| Endpoint | What it does |
|---|---|
| `POST /search` | Search the web; returns ranked results with optional text, highlights or summaries |
| `POST /contents` | Get page contents for known URLs |
| `POST /answer` | LLM answer to a question, with citations |
| `POST /agent/runs` | Start an Agent run for multi-step research |
| `/monitors` | Scheduled searches that surface new events |
| `/batches` | Batch jobs |
| `/v0/websets` | Websets (separate paid plan) |
| `POST /findSimilar` | Deprecated |
Source [9]

### Features
- Results per query: 10 by default; up to 100 set with `numResults`, no pagination [7]
- Content returned: Text, highlights or summaries; text and highlights included for the first 10 results [7]
- Search types: `auto` (default), `lite`, `instant`, `fast`, `deep-lite`, `deep`, `deep-reasoning` [1]
- Freshness controls: `maxAgeHours` (0 always fetches fresh, -1 cache only); date filters `startPublishedDate` and `endPublishedDate` [9]
- Domain filters: `includeDomains` and `excludeDomains`, with path prefixes and subdomain wildcards [7]
- Storing results: Self-serve Terms of Service prohibit copying results except browser cache; the Master Subscription Agreement says the customer owns Customer Data [15]

## Authentication

### Methods
| Method | Used for | How |
|---|---|---|
| API key | REST API, SDKs | `x-api-key` header, or `Authorization: Bearer <EXA_API_KEY>` |
| OAuth | Hosted MCP server | Connect to `https://mcp.exa.ai/mcp?login` and sign in to Exa in the browser |
| Keyless | Hosted MCP server (search and fetch) | Connect to `https://mcp.exa.ai/mcp` at a free rate limit |
| x402 or MPP | `/search` and `/contents` without an account | Pay per request in USDC |
Source [4]

### Getting access
- Who creates the account: A person; an agent cannot register itself [3]
- Where to get a key: Dashboard at `https://dashboard.exa.ai/api-keys` [3]
- Other requirements: None for the free tier; a card to buy credit beyond it [2]

## Setup

### Addresses
- REST API: `https://api.exa.ai` [6]
- MCP server: `https://mcp.exa.ai/mcp` [4]
- OpenAPI spec: `https://exa.ai/docs/exa-spec.json` (also `.yaml`) [6]
- Docs for agents: `https://exa.ai/docs/llms.txt` [6]
- Status page: `https://status.exa.ai` [16]

### Install
| What | Command |
|---|---|
| Claude Code plugin | `claude plugin install exa@claude-plugins-official` |
| Local MCP server | `npx -y exa-mcp-server` |
| Python SDK | `pip install exa-py` |
| JS SDK | `npm install exa-js` |
| Agent skills | `npx skills add exa-labs/agent-skills` |
| CLI | Not published |
Source [6]

## Limits

### Rate limits
Limits apply to the whole team across all keys. Buying $1,000 of credit within 30 days raises the limit to 25 QPS for 90 days.
| Endpoint | Limit |
|---|---|
| `/search`, `/answer`, `/chat/completions` | 10 QPS |
| `/search` with `deep-lite`, `deep` or `deep-reasoning` | 5 QPS |
| `/contents` | 100 QPS |
| `/agent/runs`, `/responses` | 5 QPS and 50 active runs |
| `/websets/*` | 20 QPS |
Source [2]

### Other limits
- Maximum results per search: 100 [9]
- Over the limit: `429 Too Many Requests`; wait for `Retry-After` [2]
- Concurrency (Agent runs): 50 active runs [2]
- Maximum cache age (`maxAgeHours`): `lite` rejects `maxAgeHours`, `livecrawl` and `livecrawlTimeout` with a 400 [7]
- Keyless MCP network: Direct IPv4 only [4]
- Blocked regions: API access blocked from sanctioned regions, including Russia, Ukraine and Venezuela [12]

## Privacy

### Your data
- Data location: Not published
- Retention: Not published
- Used for training: Yes: Exa uses query data to improve and train its models [14]
- Zero data retention: Enterprise plans only, enabled per team [11]

### Compliance
- Certifications: SOC 2 Type II [12]
- HIPAA: Enterprise only; HIPAA mode includes zero data retention [13]

## Sources

1. Pricing: https://exa.ai/docs/admin/pricing.md
2. Billing and rate limits: https://exa.ai/docs/admin/billing.md
3. Auth for agents: https://exa.ai/auth.md
4. Exa MCP: https://exa.ai/docs/get-started/exa-mcp.md
5. exa-mcp-server README: https://raw.githubusercontent.com/exa-labs/exa-mcp-server/main/README.md
6. Docs llms.txt: https://exa.ai/docs/llms.txt
7. Search quickstart: https://exa.ai/docs/search/quickstart.md
8. Contents quickstart: https://exa.ai/docs/contents/quickstart.md
9. OpenAPI spec: https://exa.ai/docs/exa-spec.json
10. x402 quickstart: https://exa.ai/docs/integrations/payments/x402/quickstart.md
11. Zero data retention: https://exa.ai/docs/admin/security/zero-data-retention.md
12. Security overview: https://exa.ai/docs/admin/security/overview.md
13. HIPAA: https://exa.ai/docs/admin/security/hipaa.md
14. Privacy policy: https://exa.ai/privacy-policy
15. Terms of Service: https://exa.ai/assets/Exa_Labs_Terms_of_Service.pdf
16. Status: https://exa.ai/docs/admin/status.md
17. SDKs: https://exa.ai/docs/sdks/quickstart.md
18. FAQs: https://exa.ai/docs/admin/faqs.md
19. Pricing page: https://exa.ai/pricing
20. Snapshot: https://exa.ai/docs/search/snapshot.md
21. Error codes: https://exa.ai/docs/admin/error-codes.md
22. Best practices: https://exa.ai/docs/search/best-practices.md
23. Checked by supermarket.dev
