Exa icon
developer-tools

Exa

Best live-web search API here for agents that need ranked results, long page text, and cited answers.

Visit Exa
92.3% answers correct57.4% top-3 search38.6k chars/result0.3% false citations
TL;DR — our verdictUpdated August 2026 · 8 test artifacts

Best overall in this benchmark

Where it wins
  • you are building an agent, chatbot, research tool, or open-web RAG layer
  • you need both search results and a direct answer mode, scored separately
  • you care about current facts, freshness, and long extracted page text
Main limitation
  • you need a consumer search UI instead of an API
Pricing (verified plans)
/search $7.00 / 1k calls/answer $5.00 / 1k calls
Strongest test artifacts

Our take

Exa is the strongest all-around choice in this benchmark. `/search` is the most reproducible of the former top three and best on current-fact retrieval, `/answer` is the best direct-answer mode at 48/52, and both modes return long extracted page text with measured cost. The caveats are real: answer-mode ambiguity is weaker, Q43 shows a correct answer with a false citation, and the billing-dashboard allowance still needs a direct capture.

In-Depth Review

Our detailed analysis of Exa — features, performance, and real-world testing.

AD
AI Demos Team
Expert Reviewer
Verified Review

Feature-by-Feature Breakdown

Live Web Search with Extracted Page Content
Top-3 tied-best overall, strongest on current-fact queries.
27/47
Test Summary
Feature tested: Live Web Search with Extracted Page Content
Result: Passed (27/47) — Top-3 tied-best overall, strongest on current-fact queries.

Feature tested: Live Web Search with Extracted Page Content

Result: Passed (27/47)

Verdict: Top-3 tied-best overall, strongest on current-fact queries.

Expected behavior: Exa's `/search` mode takes a plain query string and returns ranked live-web results with titles, URLs, extracted page text, published dates, and per-call cost metadata. The returned page text is often long enough to use directly instead of just a snippet.

Test case: Text/code file → Text/code file

Input type: Text/code file

Input used: Input artifact (Text/code file): Same fixed benchmark query set used for the run. — QUERY-SET-ground-truth.csv

Observed output: Output artifact (Text/code file): The run export shows about 38,600 median characters per result and published dates on 94% of results. — EXA-scored-run-export.csv

Input artifact: Input artifact (Text/code file): Same fixed benchmark query set used for the run. — QUERY-SET-ground-truth.csv

Output artifact: Output artifact (Text/code file): The run export shows about 38,600 median characters per result and published dates on 94% of results. — EXA-scored-run-export.csv

What changed: Text/code file transformed into Text/code file

Test case: Text prompt → Text/code file

Input type: Text prompt

Input used: Input artifact (Text prompt): INPUT

Observed output: Output artifact (Text/code file): This is the main search-mode ambiguity miss in the report: Exa chose SonarSource instead of the intended Perplexity entity. — EXA-per-query-output.md

Input artifact: Input artifact (Text prompt): INPUT

Output artifact: Output artifact (Text/code file): This is the main search-mode ambiguity miss in the report: Exa chose SonarSource instead of the intended Perplexity entity. — EXA-per-query-output.md

What changed: Text prompt transformed into Text/code file

Test case: Text prompt → Text/code file

Input type: Text prompt

Input used: Input artifact (Text prompt): INPUT

Observed output: Output artifact (Text/code file): The run returned the correct release date and release type for a fresh version-number-collision query. — EXA-per-query-output.md

Input artifact: Input artifact (Text prompt): INPUT

Output artifact: Output artifact (Text/code file): The run returned the correct release date and release type for a fresh version-number-collision query. — EXA-per-query-output.md

What changed: Text prompt transformed into Text/code file

Test case: Text prompt → Text/code file

Input type: Text prompt

Input used: Input artifact (Text prompt): INPUT

Observed output: Output artifact (Text/code file): Extraction quality averaged 2.00/2 and the needed figure was present every time. — EXA-verification-summary.md

Input artifact: Input artifact (Text prompt): INPUT

Output artifact: Output artifact (Text/code file): Extraction quality averaged 2.00/2 and the needed figure was present every time. — EXA-verification-summary.md

What changed: Text prompt transformed into Text/code file

Why it matters / Conclusion: Use `/search` when you want reproducible retrieval and long extracted text; it is excellent for current facts, but it is not a substitute for opening the citations.

Exa's `/search` mode takes a plain query string and returns ranked live-web results with titles, URLs, extracted page text, published dates, and per-call cost metadata. The returned page text is often long enough to use directly instead of just a snippet.

csv
QUERY-SET-ground-truth.csv
Loading file...
Same fixed benchmark query set used for the run.
csv
EXA-scored-run-export.csv
Loading file...
The run export shows about 38,600 median characters per result and published dates on 94% of results.
INPUT
Q26 ambiguity probe: the query "Sonar" should resolve to Perplexity, not SonarSource.
md
EXA-per-query-output.md
Loading file...
This is the main search-mode ambiguity miss in the report: Exa chose SonarSource instead of the intended Perplexity entity.
INPUT
Q43 current-fact / freshness probe: Python 3.11.16 release details.
md
EXA-per-query-output.md
Loading file...
The run returned the correct release date and release type for a fresh version-number-collision query.
INPUT
Q36–Q41 content-depth block: answer-bearing figures buried deep in long pages.
md
EXA-verification-summary.md
Loading file...
Extraction quality averaged 2.00/2 and the needed figure was present every time.
Bottom Line
Use `/search` when you want reproducible retrieval and long extracted text; it is excellent for current facts, but it is not a substitute for opening the citations.
Cited Answer Synthesis
Best direct-answer mode, with citation checks still required.
48/52
Test Summary
Feature tested: Cited Answer Synthesis
Result: Passed (48/52) — Best direct-answer mode, with citation checks still required.

Feature tested: Cited Answer Synthesis

Result: Passed (48/52)

Verdict: Best direct-answer mode, with citation checks still required.

Expected behavior: Exa's `/answer` mode takes a query and synthesizes a direct cited answer rather than just returning ranked results. It was strongest on freshness and multi-source answers, though the citations still need verification.

Test case: Text prompt → Text/code file

Input type: Text prompt

Input used: Input artifact (Text prompt): INPUT

Observed output: Output artifact (Text/code file): Q43 is graded CORRECT, so the later citation verdict does not come from a wrong answer. — EXA-answer-grades.csv

Input artifact: Input artifact (Text prompt): INPUT

Output artifact: Output artifact (Text/code file): Q43 is graded CORRECT, so the later citation verdict does not come from a wrong answer. — EXA-answer-grades.csv

What changed: Text prompt transformed into Text/code file

Test case: Text prompt → Text/code file

Input type: Text prompt

Input used: Input artifact (Text prompt): INPUT

Observed output: Output artifact (Text/code file): The citation verdict is FALSE: Exa cited aiohttp v3.11.16 release notes for a Python 3.11.16 question. — EXA-citation-verdicts.csv

Input artifact: Input artifact (Text prompt): INPUT

Output artifact: Output artifact (Text/code file): The citation verdict is FALSE: Exa cited aiohttp v3.11.16 release notes for a Python 3.11.16 question. — EXA-citation-verdicts.csv

What changed: Text prompt transformed into Text/code file

Test case: Text prompt → Text/code file

Input type: Text prompt

Input used: Input artifact (Text prompt): INPUT

Observed output: Output artifact (Text/code file): Exa cleanly abstained and explained why no answer exists. — EXA-per-query-output.md

Input artifact: Input artifact (Text prompt): INPUT

Output artifact: Output artifact (Text/code file): Exa cleanly abstained and explained why no answer exists. — EXA-per-query-output.md

What changed: Text prompt transformed into Text/code file

Test case: Text prompt → Text/code file

Input type: Text prompt

Input used: Input artifact (Text prompt): INPUT

Observed output: Output artifact (Text/code file): Exa failed the abstention test by promoting Linkup marketing copy into a measured figure. — EXA-per-query-output.md

Input artifact: Input artifact (Text prompt): INPUT

Output artifact: Output artifact (Text/code file): Exa failed the abstention test by promoting Linkup marketing copy into a measured figure. — EXA-per-query-output.md

What changed: Text prompt transformed into Text/code file

Why it matters / Conclusion: Use `/answer` when you want a direct answer rather than a results list, but treat the citation as something to verify rather than trust blindly.

Exa's `/answer` mode takes a query and synthesizes a direct cited answer rather than just returning ranked results. It was strongest on freshness and multi-source answers, though the citations still need verification.

INPUT
Q43 answer-grade check: Python 3.11.16 release details.
csv
EXA-answer-grades.csv
Loading file...
Q43 is graded CORRECT, so the later citation verdict does not come from a wrong answer.
INPUT
Q43 citation-honesty check: Python 3.11.16 release details.
csv
EXA-citation-verdicts.csv
Loading file...
The citation verdict is FALSE: Exa cited aiohttp v3.11.16 release notes for a Python 3.11.16 question.
INPUT
Q49 unanswerable query: Jina AI acquisition / financials not separately disclosed.
md
EXA-per-query-output.md
Loading file...
Exa cleanly abstained and explained why no answer exists.
INPUT
Q52 unanswerable pricing query.
md
EXA-per-query-output.md
Loading file...
Exa failed the abstention test by promoting Linkup marketing copy into a measured figure.
Bottom Line
Use `/answer` when you want a direct answer rather than a results list, but treat the citation as something to verify rather than trust blindly.

How it scored on the research's own criteria

The 11 evaluation dimensions from our hands-on research on Exa, each judged from recorded runs on 2 test inputs — the same verdicts the ranking page ranks on.

held up  partial  failed  not exercised by this input

CriterionVerdictWhat the runs showedPer inputProof
Ambiguity handlingWeak2/5Search does okay, but the answer mode is unreliable when names collide and can commit to the wrong entity. That is a clear weakness on ambiguous queries.
Answer quality (answer APIs)Strong5/5The answers themselves are excellent across the benchmark, including freshness and multi-source questions, with only a few misses. That is top-tier answer quality.open proof ↗
Citation accuracy (answer APIs)Strong4/5Most citations really do back the claims, but the Q43 miss shows it is not perfect. That is strong performance with a small but real grounding gap.open proof ↗
Extraction qualityStrong5/5It returns rich, directly usable page text instead of thin snippets, so the extracted content is strong enough to feed straight into downstream use.open proof ↗
FreshnessStrong5/5It consistently handled recent-release questions and did not drift on the freshness probes, so this is top-tier freshness behavior.open proof ↗
Long-tail coverageMixed3/5It can handle niche topics, but the drop on technical and content-depth queries is real enough that long-tail coverage is only middling overall.open proof ↗
No-answer behaviourStrong4/5It usually refuses cleanly and even gives good reasons for abstaining, but one hallucinated answer shows the guard is not fully dependable.open proof ↗
Relevance @ top-kStrong4/5Results usually show up near the top, and search is especially strong, but the answer mode is noticeably weaker than the search mode. That makes this a strong performer rather than a flawless one.open proof ↗
Cost per 1k queriesStrong5/5Pricing is explicit, measured, and easy to normalize, with no extra extraction surcharge hidden in the run. That makes cost handling strong and predictable.open proof ↗
p50 / p95 latencyStrong4/5Latency is consistent enough to be usable, but it is still in the multi-second range. Good tail behavior keeps it from scoring lower.open proof ↗
StabilityMixed3/5Search is fairly reproducible, but answer mode moves too much from one run to the next to call the system stable overall.open proof ↗

Verdicts come verbatim from the study's recorded observations, never re-derived at render; a criterion with no recorded run shows Not exercised — this section cannot invent a score.

Measured endpoint rates

Exa bills by credits in its docs; the benchmark measured the public per-call rates directly.

/search
$7.00 / 1k calls
52-query run cost: $0.364; 0 errors.
/answer
$5.00 / 1k calls
52-query run cost: $0.260; 0 errors.

Exa's docs say $20 on signup and $10/month in credits with no payment method required. Third-party trackers reported a free-tier change from 1,000 to 20,000 requests/month on 2026-07-14, but the August billing-dashboard allowance was still not captured here.

✓ Use This If
you are building an agent, chatbot, research tool, or open-web RAG layer
you need both search results and a direct answer mode, scored separately
you care about current facts, freshness, and long extracted page text
you want measured latency and cost instead of vendor claims
✕ Skip This If
you need a consumer search UI instead of an API
you need known-URL scraping, not query-in retrieval
you need private-document RAG
you need ambiguity-heavy answer mode without checking citations
you need the August billing-dashboard allowance before budgeting
developer-toolssearch-enginetextOther
Yes. The research tested `/search` and `/answer` separately, and they failed differently: `/search` was stronger for retrieval quality and reproducibility, while `/answer` was the best direct-answer mode overall.
Exa had 1 false citation in the checkable set, or 0.3%, which was the second-best result. The clearest case was Q43: the answer grade was correct, but the citation pointed to aiohttp v3.11.16 release notes for a Python 3.11.16 question.
It returns long extracted page text. The report says the median result was about 38,600 characters, and published dates appeared on 94% of results.
`/search` measured $7.00 per 1k calls, with 2,879 ms p50 and 3,791 ms p95. `/answer` measured $5.00 per 1k calls, with 3,237 ms p50 and 3,823 ms p95.
Exa's own docs describe credits, not a request-count free tier: $20 on signup and $10/month in credits with no payment method required. Third-party trackers reported a change from 1,000 to 20,000 requests/month on 2026-07-14, and the report still says the August billing-dashboard allowance was not captured.

Banner Preview

How the embed badge will look on your site

Exa featured on AI Demos

Embed HTML

Copy this code to your website source

<a target="_blank" href="https://aidemos.com/tools/exa?utm_source=exa_embed" style="width: 250px; height: 80px; border-radius:4px;" width="250" height="80"> <img src="https://aidemos-website-images.s3.amazonaws.com/featured.png" alt="Exa | Featured on AI Demos" style="width: 250px; height: 80px; border-radius:4px;" width="250" height="80"> </a>

Quick Integration Guide

  • 1Copy the HTML code block above.
  • 2Paste it into your site's HTML or CMS editor.
  • 3Banner appears instantly on your page.
  • 4Links back to your tool profile here.
Similar Tools

Similar Tools

Discover more AI tools like Exa to enhance your workflow.

Comments (0)

Please Log in to join the discussion.

Built by FutureSmart AI — the team behind AI Demos

Need a custom AI solution for this use case?

If you are looking to build a custom web search, cited answer, or research agent system for your business or internal workflow, email us at contact@futuresmart.ai.

Get a custom build

Found something inaccurate or missing? We try to keep our AI research accurate and useful. If you found outdated information, an issue, or have a suggestion, email us at collaborate@aidemos.com.

Back to Top