Exa
Web search and content retrieval built for AI.
Overall score
80.8/100
exa-rest
Measured Oct 5, 2026
Status
Ranked
Complete benchmark. `overall` is a weighted average of the applicable criteria, comparable to other surfaces in the same category and the same rubric version.
Coverage
78% of the rubric
Surfaces
evaluated.
We score a surface, not a product. One product often exposes several, and they are not worth the same.
exa-restrestprimary
78% coverage
80.8/100
Criterion
by criterion.
Measured on exa-rest, rubric v0.2.0. A criterion with no score is not counted as zero: it is excluded and the weights are renormalised.
Offload Valuejudged · weight 15 · Oct 5, 2026
92/100
Exa's search endpoint gives an agent live web retrieval plus crawling, content extraction, highlights, summaries, structured entity enrichment (company financials, funding, web traffic, research citations) and multi-step deep research with synthesis. None of this is reproducible through inference alone: it requires an index of the live web and proprietary crawled data, and the deep/deep-reasoning modes offload multi-step research that would otherwise cost the agent many thousands of tokens and many tool calls. It also supplies grounding citations and structured output matching a supplied JSON schema. This is far beyond CRUD.
- https://exa.ai/docs/reference/search
deep conducts comprehensive multi-step research with synthesis, while deep-reasoning adds stronger reasoning for complex analysis and decision-making tasks.
- https://exa.ai/docs/reference/search
deep conducts comprehensive multi-step research with synthesis, while deep-reasoning adds stronger reasoning for complex analysis and decision-making tasks.
- https://exa.ai/docs/reference/search
The search endpoint lets you search the web and extract contents from the results.
Interaction Costmeasured · weight 15 · Oct 5, 2026
100/100
Median over 2 successful run(s): 11618 tokens, 1.5 calls. Ratio to the best in "web-search" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.
Error Recoverabilityprobed · weight 15 · Oct 5, 2026
49/100
unknown_endpoint → HTTP 404, clarity 30/100 (field named: no, allowed values: no, RFC 9457: no) · wrong_type → HTTP 400, clarity 75/100 (field named: yes, allowed values: yes, RFC 9457: no) · hallucinated_enum → HTTP 400, clarity 50/100 (field named: no, allowed values: yes, RFC 9457: no) · unknown_field → HTTP 200, clarity 40/100 (field named: no, allowed values: no, RFC 9457: no)
- https://api.exa.ai/search
HTTP 402: {"requestId":"49e575a20a2c703cc1b135040c3fd78f","error":"Payment required to access this resource","tag":"X402_PAYMENT_REQUIRED","x402Version":2,"resource":{"url":"https://api.exa.ai/search","descript
- https://api.exa.ai/nonexistent_resource_xyz
HTTP 404: {"requestId":"f9fc949512e536d9ccb3324f3be2a3cb","error":"Not found","tag":"NOT_FOUND"}
- https://api.exa.ai/search
HTTP 400: {"requestId":"bca754c686287d0f3a7173b07b3259d9","error":"Invalid request body | Validation error: Invalid input: expected number, received string at \"numResults\"","tag":"INVALID_REQUEST_BODY"}
- https://api.exa.ai/search
HTTP 400: {"requestId":"900da980ed7c8a9fb45a8792304768d2","error":"Invalid request body | Validation error: Invalid option: expected one of \"neural\"|\"keyword\"|\"auto\"|\"hybrid\"|\"fast\"|\"blue\"|\"deep-re
Doc Legibilitymeasured · weight 12 · Oct 5, 2026
57/100
text/markup ratio 1.4% (weight 30) · rendering without JavaScript undetermined (excluded from the calculation) (weight 25) · machine-readable spec: https://api.exa.ai/openapi.json (weight 25) · llms.txt: https://exa.ai/llms.txt (weight 10) · 2 runnable example(s) (weight 10). Weighted average over 75 points of available sub-criteria.
Auth Frictionmeasured · weight 10 · Oct 5, 2026
90/100
Dedicated x-api-key header, verified by a successful call. Slightly below Bearer: the header name has to be read in the documentation.
- https://api.exa.ai/search
HTTP 400: {"requestId":"bca754c686287d0f3a7173b07b3259d9","error":"Invalid request body | Validation error: Invalid input: expected number, received string at \"numResults\"","tag":"INVALID_REQUEST_BODY"}
- https://api.exa.ai/search
HTTP 402: {"requestId":"49e575a20a2c703cc1b135040c3fd78f","error":"Payment required to access this resource","tag":"X402_PAYMENT_REQUIRED","x402Version":2,"resource":{"url":"https://api.exa.ai/search","descript
- https://api.exa.ai/nonexistent_resource_xyz
HTTP 404: {"requestId":"f9fc949512e536d9ccb3324f3be2a3cb","error":"Not found","tag":"NOT_FOUND"}
- https://api.exa.ai/search
HTTP 400: {"requestId":"900da980ed7c8a9fb45a8792304768d2","error":"Invalid request body | Validation error: Invalid option: expected one of \"neural\"|\"keyword\"|\"auto\"|\"hybrid\"|\"fast\"|\"blue\"|\"deep-re
Safety & Reversibilityprobed · weight 10
—/100
If I retry after a timeout, do I charge the customer twice?
Payload Efficiencyprobed · weight 8
—/100
Can I ask for only the fields I need, or do I have to swallow 200 attributes to extract one?
Task Atomicitymeasured · weight 6 · Oct 5, 2026
100/100
Median over 2 successful run(s): 11618 tokens, 1.5 calls. Ratio to the best in "web-search" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.
Prior Knowledge Coveragemeasured · weight 5 · Oct 5, 2026
100/100
Median over 2 successful run(s): 11618 tokens, 1.5 calls. Ratio to the best in "web-search" (3 surfaces measured, v0.2 scale). Cold, without documentation: 1/1 succeeded.
Async Compatibilityprobed · weight 2
—/100
If the operation is asynchronous, can I get the result without hosting a web server?
Tool-Native (MCP)binary · weight 2
—/100
Does the vendor publish an official, maintained MCP server?
Runs, verified
never on the agent’s word.
Every row is a real attempt at the category’s canonical task. Success is verified by reading the created resource back.
| Task | Tokens | Calls | Errors | Docs | Result |
|---|---|---|---|---|---|
| find-official-source | 10,134 | 2 | 0 | without | verified |
| find-official-source | 13,023 | 1 | 0 | with | verified |
| find-official-source | 10,213 | 2 | 0 | with | verified |
The same entry,
without the markup.
You publish this API and dispute a score? The methodology is public and every score above points to the evidence that produced it.