# Exa Search API

> Neural web search for AI apps and agents. Ask in natural language and get the most relevant pages, with optional highlights, summaries or full text, domain filters and date ranges.

Source: https://www.sandbase.ai/model/exa/search
API reference: https://www.sandbase.ai/model/exa/search/docs

## Facts

- Provider: Exa
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/exa/search`
- Price: $0.01 per call
- Free allowance: 100 calls per organization per UTC day, shared across eligible APIs
- Capabilities: web search
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/exa/search` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `query` | string | yes |  |
| `type` | string | no | auto, fast, instant, deep-lite, deep, deep-reasoning |
| `numResults` | integer | no |  |
| `category` | string | no | company, research paper, news, personal site, financial report, people |
| `includeDomains` | array | no |  |
| `excludeDomains` | array | no |  |
| `startPublishedDate` | string | no |  |
| `endPublishedDate` | string | no |  |
| `contents` | object | no |  |
| `outputSchema` | object | no |  |
| `systemPrompt` | string | no |  |

## FAQ

### How do I use the Exa Search API?

Send a POST request to https://api.sandbase.ai/v1/api/exa/search with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the Exa Search API cost?

$0.01 per call. Every organization gets 100 free calls per UTC day, shared across eligible SandBase APIs including this one; after that each call is billed at this price from your SandBase balance. There is no subscription.

### What parameters does the Exa Search API accept?

Required: query (string). Optional: type (one of auto, fast, instant, deep-lite, deep, deep-reasoning), numResults (integer), category (one of company, research paper, news, personal site, financial report, people), includeDomains (array), excludeDomains (array) and startPublishedDate (string) and 4 more. The Parameters table and the Playground on this page list every field.

### What does the Exa Search API return?

A JSON response returned in the same HTTP request (synchronous). The README on this page includes a sample response.

### Do I need a Exa developer account or API key?

No. Exa Search runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Exa API access separately.

## README

### Exa Search API

Exa Search finds web pages by meaning rather than keywords. Send a natural-language query and get ranked results with titles, URLs and optional page content, ready to feed into an LLM.

#### Use cases

- Ground LLM answers and agents with fresh web sources (RAG).
- Find companies, research papers or news on a topic.
- Restrict results to trusted domains or a publish-date window.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/api/exa/search" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "OpenAI Codex documentation", "type": "fast", "numResults": 3, "contents": {"highlights": true}}'
```

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `query` | string | Yes | The natural-language search query. |
| `type` | string | No | Search mode. auto lets Exa choose; the deep modes trade latency for higher-quality retrieval. |
| `category` | string | No | Optional hint about the kind of pages to prioritize. |
| `contents` | object | No | Content options to return alongside each result. |
| `numResults` | integer | No | Number of results to return. |
| `outputSchema` | object | No | JSON Schema used to synthesize a structured output from the results. |
| `systemPrompt` | string | No | Instruction that guides how the structured output is generated. |
| `excludeDomains` | array | No | Exclude results from these domains. |
| `includeDomains` | array | No | Only return results from these domains. |
| `endPublishedDate` | string | No | Only return results published on or before this ISO 8601 date. |
| `startPublishedDate` | string | No | Only return results published on or after this ISO 8601 date. |

#### Example response

Real response for the request above, trimmed to the main fields. User names and long IDs are masked.

```json
{
  "entities": [
    {
      "title": "Codex manual",
      "url": "https://developers.openai.com/codex/codex-manual.md",
      "highlights": [
        "Codex is OpenAI's coding agent for software development. ChatGPT Plus, Pro, Business, Edu, and Enterprise pla…"
      ]
    }
  ]
}
```

#### Notes

- `type` trades speed for quality: `instant` / `fast` for low latency, `deep` modes for harder research queries.
- Use `contents` to return highlights, summaries or full text with each result.
