Welcome
We’re honored that you’re reading our docs in 2026. These docs serve two audiences: human readers, and coding agents that should read this guide instead.
Why choose Exa?
Exa is a custom search engine built for AIs. Our API is the only that offers:
Search types for any agent
Whether you’re building a fast chatbot or a deep research tool, Exa has custom search types with appropriate latency-quality profiles, from 200ms instant search to 60s deep search.See all search types →
| Type | Speed | Best For |
|---|---|---|
auto |
~1s | Default |
instant |
~200ms | Real-time apps (e.g., chat, voice) |
fast |
~450ms | Speed with minimal quality sacrifice |
deep-lite |
~2s to 10s | Lightweight synthesized search output |
deep |
5s to 60s | Complex queries requiring multi-step reasoning with structured outputs |
deep-reasoning |
10s to 60s | Higher-reasoning synthesized output for harder research tasks |
10x token-efficient contents
LLMs just want dense information! At Exa, we train models that take full webpages and condense them into just the tokens an LLM needs. This saves LLM costs and also produces better RAG evals in most cases — we call it highlights.We can also use LLMs to process information on our end, returning structured outputs or grounded answers.See all contents types →
LLM Outputs
| Type | Description |
|---|---|
| Structured outputs | Use output_schema with any search type to extract structured JSON from search results |
| LLM summaries | AI-generated overviews of each result’s content |
| Grounded answers | Full answers with citations via /answer, or use output_schema on /search for grounded text or structured extraction |
Webpage Content
| Type | Description |
|---|---|
| Highlights | 10x token efficient extracts of only the relevant tokens from a webpage. 4000 characters recommended. |
| Full text | Full webpage text, when full comprehensiveness needed |
Custom data types
Agents can parallel process gigantic quantities of precise information. Exa has custom indexes of 1B+ people, 50M+ companies, 100M+ research papers, and more.See all data types →
| Category | Best For |
|---|---|
company |
50M+ company pages and metadata |
people |
1B+ people and metadata (e.g., job, education) |
research paper |
100M+ full papers |
news |
Current events, journalism |
personal site |
Blogs, personal pages |
financial report |
SEC filings, earnings reports |
Common use cases
Web search tool
Give any agent the ability to search the web in real time.See example code →
results = exa.search(
"news about Iran",
type="auto",
contents={"highlights": True},
)
Data enrichment / Structured output
Extract structured JSON from the web with custom schemas. Deeper search types work best for harder synthesis tasks.See example code →
result = exa.search(
"top aerospace companies",
type="deep",
output_schema={
"type": "object",
"required": ["companies"],
"properties": {
"companies": {
"type": "array",
"items": {
"type": "object",
"required": ["company_name", "ceo_name"],
"properties": {
"company_name": {"type": "string"},
"ceo_name": {"type": "string"}
}
}
}
}
}
)
output_schema, system_prompt, and stream work across all search types. For more demanding synthesis, prefer deeper search types like deep-lite or deep.
Company/People research
Find and enrich companies/people with dozens of fields.See example code →
company_results = exa.search(
"agtech companies in the US that have raised series A",
type="auto",
category="company",
contents={"text": {"max_characters": 20000}}
)
people_results = exa.search(
"software engineers that work at fintech companies",
type="auto",
category="people",
contents={"text": {"max_characters": 20000}}
)
Human Quickstart
Get your API key from the Exa Dashboard.
Python
pip install exa-py
from exa_py import Exa
exa = Exa(api_key="your-api-key")
result = exa.search(
"blog post about artificial intelligence",
type="auto",
contents={"highlights": True},
)
JavaScript
npm install exa-js
import Exa from "exa-js";
const exa = new Exa("your-api-key");
const result = await exa.search("blog post about artificial intelligence", {
type: "auto",
contents: {
highlights: true,
},
});
cURL
curl -X POST "https://api.exa.ai/search" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"query": "blog post about artificial intelligence",
"type": "auto",
"contents": {
"highlights": true
}
}'
Next
- Contents API - Extract clean content from any URL
- Search API Reference - Full API reference with all parameters
- MCP Setup - Connect your AI assistant to Exa
- SDKs - Python and JavaScript SDK docs