Exa
exa.ai ↗Web search, page-content fetch, and grounded answers API for AI agents.
Exa is a strong pick when you arrive with an API key already in hand: agents find the surface easily, the docs are comprehensible end-to-end, errors are recoverable, and call patterns stay efficient. Expect a much rougher ride if you want the agent to self-register and bootstrap its own credentials — discovery thins out, the surface becomes harder to comprehend without prior context, reliability drops, and chaining calls into composable workflows largely breaks down. Wire it up with pre-provisioned auth and you'll have a smooth integration; ask the agent to onboard itself and you'll be babysitting.
By dimension (best model)
| discoverable | 7/7 tasks | 100 | |
| comprehensible | 13/13 tasks | 100 | |
| reliable | 6/7 tasks | 86 | |
| composable | 2/3 tasks | 67 | |
| recoverable | 4/4 tasks | 100 | |
| efficient | 6/6 tasks | 100 | |
| Aggregate(mean of 6 dimensions — the headline) | — | 92 | |
| Raw pass rate(secondary; tasks passed / tasks attempted) | — | 95 | |
By model
| Model | Autonomous | Agent reg. | Gap |
|---|---|---|---|
| Opus 4.7best | 92 | 34 | +58pp |
| GPT-5.5 | 76 | 27 | +49pp |
Where the agent struggled
- Docs don't match behavior3×
- Inconsistent surface1×
- Missing examples1×
What the agent tried
Run a basic Exa web search for 'best open source vector databases 2025' and return the top 3 result URLs. search-web | ✓ |
Find and call the Exa endpoint that lists my scheduled monitors. Report how many exist. list-monitors | ✓ |
Use Exa's Answer API to answer 'What is Exa AI?' and return both the answer text and at least 2 citation URLs in one call. answer-with-citations | ✓ |
In one HTTP request, search for 'weaviate vector database' and ALSO get clean markdown text content for each result — do not make a separate /contents call. fused-search-and-contents | ✓ |
Create a new Webset that tracks AI infrastructure startups. Return the webset id. create-webset | ✓ |
Set up the official Exa MCP server in a local Claude Desktop config. Provide the exact JSON snippet, including the hosted endpoint URL. configure-mcp-client | ✓ |
Search Exa specifically for GitHub repositories (code category) matching 'rust web framework' and return 5 results. search-by-category | ✓ |
Fetch full markdown contents for these two URLs in a single call: https://exa.ai/about and https://github.com/weaviate/weaviate fetch-page-contents | ✓ |
Search 'OpenAI GPT-5 release', then use the stable result id from the top hit to retrieve highlights via the contents endpoint. compose-search-to-contents | ✓ |
Find pages similar to https://github.com/weaviate/weaviate using Exa's find-similar capability. Return 5 similar URLs. find-similar-links | ✓ |
Create a scheduled monitor that runs a weekly Exa search for 'LLM agent frameworks news'. Return the monitor id. create-monitor | ✗ |
Get a summary of https://exa.ai/about using Exa's summary feature. summarize-url | ✓ |
Call the Exa hosted MCP server at its public endpoint and invoke the web_search_exa tool for 'latest AI safety research'. Return the tool's response. invoke-mcp-web-search | ✓ |
List my Webset imports so I can see what data sources I've uploaded. list-imports | ✓ |
Authenticate with an INVALID api key (use 'exa_invalid_key_xyz') against POST /search and report the exact error response. handle-auth-error | ✓ |
Identify which team owns the current API key by making an authenticated call and inspecting any returned identity info or error metadata. identify-team | ✓ |
Using the exa-py Python SDK, run a neural search for 'open source LLM evaluation tools' with 5 results. Provide the runnable code. use-python-sdk | ✓ |
Run an Exa search for 'climate tech startups 2024' with publishedDate filter restricting to results from 2024 only. Return 5 result URLs and their publishedDate fields. search-with-date-filter | ✓ |
Search 'AI agent benchmarks', pick the top result, then create a monitor that re-runs this same query weekly. Return the monitor id. compose-search-to-monitor | ✓ |
Run a search using Exa's x402 keyless pay-per-request mode (no API key). Describe the request flow and what headers/payment proof are needed. pay-per-request-via-x402 | ✓ |
Recent runs
| When | Score | Tokens | |
|---|---|---|---|
| 2026-05-29 20:19 UTC | 92 | 4.42M | findings → |
Want full traces, per-task remediation, failure-mode IDs, and head-to-head comparisons? The findings report is the paid tier — (contact link coming).