tools/integrations/exa.md
AI-powered web search API built for LLMs and agents. Returns high-quality search results with neural and keyword matching, plus on-demand content retrieval (full text, highlights, and summaries) in a single request.
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | Search, Find Similar, Contents |
| MCP | ✓ | Official MCP server available |
| CLI | ✓ | exa.js |
| SDK | ✓ | exa-py (Python), exa-js (TypeScript) |
x-api-key: {key}Base URL: https://api.exa.ai
| Endpoint | Purpose |
|---|---|
POST /search | Search the web with neural, keyword-like, or auto-routed modes |
POST /findSimilar | Find pages similar to a given URL |
POST /contents | Fetch text, highlights, or summaries for one or more URLs |
POST https://api.exa.ai/search
{
"query": "best B2B SaaS onboarding flows",
"type": "auto",
"numResults": 10,
"contents": {
"text": { "maxCharacters": 1000 },
"highlights": true
}
}
POST https://api.exa.ai/search
{
"query": "landing page teardowns",
"includeDomains": ["goodui.org", "growth.design", "marketingexamples.com"],
"startPublishedDate": "2024-01-01T00:00:00Z",
"contents": { "highlights": true }
}
POST https://api.exa.ai/findSimilar
{
"url": "https://stripe.com/pricing",
"numResults": 20,
"contents": { "summary": { "query": "What pricing model and price points does this page use?" } }
}
POST https://api.exa.ai/search
{
"query": "DTC beauty brand raising Series A",
"category": "news",
"numResults": 25,
"startPublishedDate": "2024-06-01T00:00:00Z"
}
POST https://api.exa.ai/contents
{
"urls": ["https://example.com/post-1", "https://example.com/post-2"],
"text": true,
"summary": { "query": "Summarize this article's key argument in one paragraph." }
}
auto - Automatically routes between neural and keyword matching (default)neural - Embedding-based semantic search; best for concept/idea queriesfast - Lower-latency neural searchinstant - Returns cached results near-instantlydeep-lite, deep, deep-reasoning - Agentic search variants that plan multiple queries and synthesizecompany, research paper, news, personal site, financial report, people
includeDomains / excludeDomains - Restrict to or exclude specific domains (up to 1200)includeText / excludeText - Require or forbid phrases in result pagesstartPublishedDate / endPublishedDate - ISO 8601 publication date rangestartCrawlDate / endCrawlDate - ISO 8601 crawl date rangeuserLocation - Two-letter country code (e.g., US)All three can be requested in the same call:
text: true or { maxCharacters, includeHtmlTags, verbosity } - Full or truncated page texthighlights: true or { query, maxCharacters } - LLM-selected relevant snippetssummary: { query, schema } - LLM-generated summary, optionally conforming to a JSON schemafindSimilarcompany and people categories to discover accounts or individuals matching criteria