How Exa’s scores are calculated
The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.
verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10
PA Score31/100
Agent-ready 60.7 × 0.30 = 18.21
API quality 4.0 × 0.20 = 0.80
Openness 9.6 × 0.20 = 1.92
Built-in AI 33.8 × 0.15 = 5.07
Automation 33.4 × 0.15 = 5.01
(18.21 + 0.80 + 1.92 + 5.07 + 5.01) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 31.01 ÷ 1.00 = 31.0
Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.
Agent-ready60.7/100×0.30 of the PA blend
Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.
Point an agent at llms.txt or agent-oriented docsweight 2
2 (weight) × 9 (quality) × 1.0 (full) = 18.0 of 20 max
- [probe] https://exa.ai/llms.txt“PROBE llms.txt: HTTP 200 at https://exa.ai/llms.txt # Exa > Exa is a real-time knowledge index and retrieval platform built for AI agents. Exa builds and maintains its own”
- [probe] https://exa.ai/docs/reference/search-api-guide.md“PROBE docs-md: HTTP 200 at https://exa.ai/docs/reference/search-api-guide.md > ## Documentation Index > Fetch the complete documentation index at: https://exa.ai/docs/llms.txt > Use this file to di”
- [claimed-docs] https://exa.ai/docs/llms.txt“Return query-relevant excerpts from Exa Search results while controlling context size and latency.”
- [claimed-docs] https://exa.ai/docs/llms.txt“Use iterative search, reasoning, and grounded synthesis for complex research tasks.”
- [claimed-docs] https://exa.ai/docs/reference/agent-skills.md“Exa skills teach coding agents how to search, retrieve content, and build with Exa's APIs.”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 7 (quality) × 1.0 (full) = 14.0 of 20 max
- [github] https://github.com/exa-labs/exa-js“Use Exa as a `web_search` tool in an OpenAI or Anthropic loop. Call `webSearch()` with no arguments to get Exa's recommended settings for agentic search”
- [github] https://github.com/exa-labs/exa-js“Search streaming is available via `streamSearch(...)`, which yields OpenAI-style chat completion chunks.”
- [claimed-docs] https://exa.ai/docs/reference/pricing“Async deep research, list building, and enrichment.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] https://exa.ai/docs/reference/stripe-projects“A single command creates an Exa account and syncs an API key into your project.”
- [probe] https://exa.ai/docs/reference/search-api-guide.md“PROBE docs-md: HTTP 200 at https://exa.ai/docs/reference/search-api-guide.md > ## Documentation Index > Fetch the complete documentation index at: https://exa.ai/docs/llms.txt > Use this file to di”
Plug MCP servers into this product so it can use their toolsweight 3
n/a — not applicable to this product: excluded from numerator and denominator
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Complete setup guide for Exa MCP Server. Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa Agent, and Exa Connect tools.”
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa's web search, page fetching, Exa Agent, and Exa Connect tools.”
- [claimed-docs] https://exa.ai/docs/reference/agent-api/connect/overview.md“Exa Connect integrates premium data partners into the Exa Agent loop. Attach a provider to a run, and the Exa Agent queries that partner's database alongside web search before combining the results into one grounded, structured answer.”
- [probe] https://exa.ai/docs/reference/exa-mcp“official MCP server documented at https://exa.ai/docs/reference/exa-mcp”
Connect an agent via an official MCP serverweight 3
3 (weight) × 9 (quality) × 1.0 (full) = 27.0 of 30 max
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Complete setup guide for Exa MCP Server. Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa Agent, and Exa Connect tools.”
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Exa MCP connects AI assistants to Exa’s search capabilities, including web search, code search, Exa Agent, and Exa Connect.”
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa Agent, and Exa Connect tools.”
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa's web search, page fetching, Exa Agent, and Exa Connect tools.”
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“No API key is required to get started. Exa MCP is open source and available on GitHub.”
- [probe] https://exa.ai/docs/reference/exa-mcp“official MCP server documented at https://exa.ai/docs/reference/exa-mcp”
Use an official CLIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Drive the product through a documented public APIweight 3
3 (weight) × 9 (quality) × 1.0 (full) = 27.0 of 30 max
- [claimed-docs] https://exa.ai/docs/reference/search-api-guide“from ~250 ms instant search to 12-40 second deep-reasoning search”
- [claimed-docs] https://exa.ai/docs/reference/search-api-guide“Use `output_schema` with any search type to extract structured JSON from search results”
- [github] https://github.com/exa-labs/exa-js“Use Exa as a `web_search` tool in an OpenAI or Anthropic loop. Call `webSearch()` with no arguments to get Exa's recommended settings for agentic search”
- [github] https://github.com/exa-labs/exa-js“const { answer } = await exa.answer("What is the capital of France?");”
- [claimed-docs] https://exa.ai/docs/reference/rate-limits“Our API endpoints have default rate limits to ensure reliable performance for all users.”
- [probe] https://exa.ai/llms.txt“PROBE llms.txt: HTTP 200 at https://exa.ai/llms.txt # Exa > Exa is a real-time knowledge index and retrieval platform built for AI agents. Exa builds and maintains its own”
- [probe] https://exa.ai/docs/reference/search-api-guide.md“PROBE docs-md: HTTP 200 at https://exa.ai/docs/reference/search-api-guide.md > ## Documentation Index > Fetch the complete documentation index at: https://exa.ai/docs/llms.txt > Use this file to di”
- [probe] https://exa.ai/openapi.json“PROBE openapi: all candidate paths 404 (https://exa.ai/openapi.json, https://exa.ai/swagger.json, https://exa.ai/api/openapi.json, https://exa.ai/.well-known/openapi.json)”
- [community] https://news.ycombinator.com/item?id=43906841“Signed up for a trial account and I'm pretty impressed with the search API (haven't used Websets yet but looks cool). Suggested adding a 'cruft cleaner' for web query results to reduce what's fed to downstream LLMs.”
Issue scoped/least-privilege API credentials for an agentweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://exa.ai/docs/reference/stripe-projects“A single command creates an Exa account and syncs an API key into your project.”
- [claimed-docs] https://exa.ai/docs/reference/rate-limits“Our API endpoints have default rate limits to ensure reliable performance for all users.”
Build against official SDKsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [github] https://github.com/exa-labs/exa-js“Use Exa as a `web_search` tool in an OpenAI or Anthropic loop. Call `webSearch()` with no arguments to get Exa's recommended settings for agentic search”
- [github] https://github.com/exa-labs/exa-js“Search streaming is available via `streamSearch(...)`, which yields OpenAI-style chat completion chunks.”
- [github] https://github.com/exa-labs/exa-js“const { answer } = await exa.answer("What is the capital of France?");”
- [github] https://github.com/exa-labs/exa-js“For type: "object", search currently enforces: max nesting depth: 2, max total properties: 10”
- [github] https://github.com/exa-labs/exa-js“Search streaming is available via streamSearch(...), which yields OpenAI-style chat completion chunks.”
- [github] https://github.com/exa-labs/exa-js“Get answers with citations const { answer } = await exa.answer("What is the capital of France?");”
- [github] https://github.com/exa-labs/exa-js“includeDomains: ["nasa.gov", "space.com"], startPublishedDate: "2024-01-01",”
- [claimed-docs] https://exa.ai/docs/reference/search-api-guide“Use `output_schema` with any search type to extract structured JSON from search results”
Subscribe to events via webhooksweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to populate for each accepted item.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
Agent-ready = 109.2 ÷ 180 × 100 = 60.7
API quality4.0/100×0.20 of the PA blend
The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.
Explore an interactive API reference with runnable examplesweight 2
2 (weight) × 4 (quality) × 0.3 (disputed) = 2.4 of 20 max
- [claimed-docs] https://exa.ai/docs/reference/search-api-guide“it generates a complete, tested integration snippet tailored to your exact stack and use case in under a minute”
- [github] https://github.com/exa-labs/exa-js“Use Exa as a `web_search` tool in an OpenAI or Anthropic loop. Call `webSearch()` with no arguments to get Exa's recommended settings for agentic search”
- [community] https://news.ycombinator.com/item?id=43906841“Tried the GitHub repo search feature: it was about 30/70 on finding the things I asked for. The cURL example in 'Get Code' was demonstrably wrong, and results table columns are fixed at 180px, truncating descriptions and URLs.”
- [probe] https://exa.ai/openapi.json“PROBE openapi: all candidate paths 404 (https://exa.ai/openapi.json, https://exa.ai/swagger.json, https://exa.ai/api/openapi.json, https://exa.ai/.well-known/openapi.json)”
Download a machine-readable API spec (OpenAPI or equivalent)weight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [probe] https://exa.ai/openapi.json“PROBE openapi: all candidate paths 404 (https://exa.ai/openapi.json, https://exa.ai/swagger.json, https://exa.ai/api/openapi.json, https://exa.ai/.well-known/openapi.json)”
- [probe] https://exa.ai/llms.txt“PROBE llms.txt: HTTP 200 at https://exa.ai/llms.txt # Exa > Exa is a real-time knowledge index and retrieval platform built for AI agents. Exa builds and maintains its own”
- [probe] https://exa.ai/docs/reference/search-api-guide.md“PROBE docs-md: HTTP 200 at https://exa.ai/docs/reference/search-api-guide.md > ## Documentation Index > Fetch the complete documentation index at: https://exa.ai/docs/llms.txt > Use this file to di”
Test against a sandbox environment without touching production dataweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Rely on versioned APIs with a documented deprecation policyweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
API quality = 2.4 ÷ 60 × 100 = 4.0
Openness9.6/100×0.20 of the PA blend
Can you leave, inspect, or self-host — data export, open source, portability.
Do everything through the API that I can do in the UIweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://exa.ai/docs/websets/api-guide“You can also build websets visually in the [Dashboard](/docs/websets/dashboard/get-started), no code required.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Give it a query like "agtech companies in the US that raised Series A" and it will search, verify each result against your criteria, and enrich every match with additional data you specify.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to populate for each accepted item.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“You can also build websets visually in the Dashboard, no code required.”
- [community] https://news.ycombinator.com/item?id=43906841“Exa was originally just a search engine. They try to hide it these days to promote Websets, but you can still use it at exa.ai/search.”
- [probe] https://exa.ai/openapi.json“PROBE openapi: all candidate paths 404 (https://exa.ai/openapi.json, https://exa.ai/swagger.json, https://exa.ai/api/openapi.json, https://exa.ai/.well-known/openapi.json)”
Export all of my data in open formats and leaveweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Read the product's source under an open licenseweight 2
2 (weight) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“No API key is required to get started. Exa MCP is open source and available on GitHub.”
- [github] https://github.com/exa-labs/exa-js“Use Exa as a `web_search` tool in an OpenAI or Anthropic loop. Call `webSearch()` with no arguments to get Exa's recommended settings for agentic search”
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Exa MCP connects AI assistants to Exa’s search capabilities, including web search, code search, Exa Agent, and Exa Connect.”
Self-host the core productweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“No API key is required to get started. Exa MCP is open source and available on GitHub.”
- [probe] https://exa.ai/llms.txt“PROBE llms.txt: HTTP 200 at https://exa.ai/llms.txt # Exa > Exa is a real-time knowledge index and retrieval platform built for AI agents. Exa builds and maintains its own”
- [claimed-docs] https://exa.ai/docs/reference/search-api-guide“Exa has custom indexes of 1B+ people, 50M+ companies, 350M+ publications (research papers, preprints, and more), and more.”
Openness = 9.6 ÷ 100 × 100 = 9.6
Built-in AI33.8/100×0.15 of the PA blend
Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.
Get AI-generated insights and suggestions from my data inside the productweight 2
2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Give it a query like "agtech companies in the US that raised Series A" and it will search, verify each result against your criteria, and enrich every match with additional data you specify.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Get real-time HTTP callbacks as items are added or enriched”
- [community] https://news.ycombinator.com/item?id=43906841“Searched 'lucid air touring models available for sale under 20,000 miles' and tried to add a 'sale price' column, but did not get the price details, same for other cars as well.”
Set up automations that run autonomously in the backgroundweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://exa.ai/docs/reference/pricing“Async deep research, list building, and enrichment.”
- [claimed-docs] https://exa.ai/docs/reference/pricing“Scheduled searches that surface new events on the web.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 4 (quality) × 0.3 (disputed) = 3.6 of 30 max
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Give it a query like "agtech companies in the US that raised Series A" and it will search, verify each result against your criteria, and enrich every match with additional data you specify.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“You can also build websets visually in the Dashboard, no code required.”
- [community] https://news.ycombinator.com/item?id=43906841“Searched 'lucid air touring models available for sale under 20,000 miles' and tried to add a 'sale price' column, but did not get the price details, same for other cars as well.”
- [community] https://news.ycombinator.com/item?id=43906841“I gave it a try and my first search got one match, 14 misses, and all other results are 'Verifying...' but it seems stuck (been minutes)... your product is incomparably slower than Google.”
- [community] https://news.ycombinator.com/item?id=43906841“Tried the GitHub repo search feature: it was about 30/70 on finding the things I asked for. The cURL example in 'Get Code' was demonstrably wrong, and results table columns are fixed at 180px, truncating descriptions and URLs.”
Operate the product with natural-language commandsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://exa.ai/docs/reference/search-api-guide“Search the web in natural language and get clean, relevant page content in one request.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to populate for each accepted item.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Give it a query like "agtech companies in the US that raised Series A" and it will search, verify each result against your criteria, and enrich every match with additional data you specify.”
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Complete setup guide for Exa MCP Server. Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa Agent, and Exa Connect tools.”
- [claimed-docs] https://exa.ai/docs/reference/exa-mcp“Connect ChatGPT, Codex, Claude, Grok, Cursor, and any other MCP client to Exa's web search, page fetching, Exa Agent, and Exa Connect tools.”
- [github] https://github.com/exa-labs/exa-js“Find engineering leaders at AI infrastructure companies that raised a Series A or B in the last 6 months.”
- [community] https://news.ycombinator.com/item?id=43906841“Searched 'lucid air touring models available for sale under 20,000 miles' and tried to add a 'sale price' column, but did not get the price details, same for other cars as well.”
- [community] https://news.ycombinator.com/item?id=43906841“I gave it a try and my first search got one match, 14 misses, and all other results are 'Verifying...' but it seems stuck (been minutes)... your product is incomparably slower than Google.”
Built-in AI = 30.4 ÷ 90 × 100 = 33.8
Automation33.4/100×0.15 of the PA blend
Depth of automation primitives — rules, scheduling, bulk operations, webhooks.
Perform bulk operations across many items at onceweight 2
2 (weight) × 7 (quality) × 0.6 (partial) = 8.4 of 20 max
- [claimed-docs] https://exa.ai/docs/websets/api-guide“You can also build websets visually in the [Dashboard](/docs/websets/dashboard/get-started), no code required.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Give it a query like "agtech companies in the US that raised Series A" and it will search, verify each result against your criteria, and enrich every match with additional data you specify.”
- [claimed-docs] https://exa.ai/docs/reference/pricing“Async deep research, list building, and enrichment.”
- [claimed-docs] https://exa.ai/docs/reference/pricing“Scheduled searches that surface new events on the web.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to populate for each accepted item.”
- [community] https://news.ycombinator.com/item?id=43906841“Searched 'lucid air touring models available for sale under 20,000 miles' and tried to add a 'sale price' column, but did not get the price details, same for other cars as well.”
- [community] https://news.ycombinator.com/item?id=43906841“I gave it a try and my first search got one match, 14 misses, and all other results are 'Verifying...' but it seems stuck (been minutes)... your product is incomparably slower than Google.”
- [community] https://news.ycombinator.com/item?id=43906841“Tried the GitHub repo search feature: it was about 30/70 on finding the things I asked for. The cURL example in 'Get Code' was demonstrably wrong, and results table columns are fixed at 180px, truncating descriptions and URLs.”
Define rules that trigger actions automatically on eventsweight 3
3 (weight) × 5 (quality) × 0.6 (partial) = 9.0 of 30 max
- [claimed-docs] https://exa.ai/docs/reference/pricing“Scheduled searches that surface new events on the web.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] https://exa.ai/docs/reference/pricing“Async deep research, list building, and enrichment.”
Schedule recurring jobs or workflowsweight 2
2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max
- [claimed-docs] https://exa.ai/docs/reference/pricing“Async deep research, list building, and enrichment.”
- [claimed-docs] https://exa.ai/docs/reference/pricing“Scheduled searches that surface new events on the web.”
- [claimed-docs] https://exa.ai/docs/websets/api-guide“Get real-time HTTP callbacks as items are added or enriched”
Version, review, and roll back my automationsweight 1
n/a — not applicable to this product: excluded from numerator and denominator
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Automation = 23.4 ÷ 70 × 100 = 33.4