Exa vs Perplexity Sonar API
Exa wins · 15–11 (19 drawn)
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
Agent access
ai-native userPoint an agent at llms.txt or agent-oriented docs
weight 2 · round drawnExa hosts a real llms.txt (verified live at exa.ai/llms.txt, HTTP 200) plus a full documentation index at /docs/llms.txt, and its docs pages have .md variants (e.g. search-api-guide.md) explicitly designed for agent consumption, with agent-skills.md teaching coding agents to use Exa's APIs. This is corroborated by a live probe, not just vendor claims. Missing for 10: independent third-party confirmation that agents actually consume/parse these files successfully in practice.
- [probe] “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. …”
- [probe] “PROBE docs-md: HTTP 200 at https://exa.ai/docs/reference/search-api-guide.md > ## Documentation Index > Fetch the complete documentation ind…”
- [claimed-docs] “Return query-relevant excerpts from Exa Search results while controlling context size and latency.”
- [claimed-docs] “Use iterative search, reasoning, and grounded synthesis for complex research tasks.”
- [claimed-docs] “Exa skills teach coding agents how to search, retrieve content, and build with Exa's APIs.”
Direct probe evidence confirms llms.txt is live (HTTP 200) with an index pointing to agent-oriented docs, plus .md variants of docs pages and an OpenAPI spec are all directly fetchable, exactly matching the agent-consumable docs pattern; docs also explicitly reference agents/coding agents consuming these resources. Missing for 10: no independent third-party report of an agent actually successfully using llms.txt in practice.
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.perplexity.ai/llms.txt # Perplexity > Perplexity API documentation for building with the Agent API…”
- [probe] “PROBE docs-md: HTTP 200 at https://docs.perplexity.ai/docs/getting-started/overview.md > ## Documentation Index > Fetch the complete documen…”
- [probe] “PROBE openapi: HTTP 200 at https://docs.perplexity.ai/openapi.json — contains "openapi" key”
- [claimed-docs] “Install and use Perplexity's pplx command-line interface for web search and query-relevant page snippets from your terminal or coding agent.”
ai-native userRun the product headlessly / in CI for automation
weight 2 · round to Perplexity Sonar APIExa is an API-first product (exa-js SDK, REST endpoints, webhooks, streaming) that is naturally callable headlessly from scripts/CI without any UI, and supports async batch operations like Websets and deep research suited to automation pipelines. missing for 10: no explicit CI/CD example (e.g., GitHub Actions), no dedicated 'headless/automation' documentation section, and no independent report confirming CI usage.
- [github] “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 ag…”
- [github] “Search streaming is available via `streamSearch(...)`, which yields OpenAI-style chat completion chunks.”
- [claimed-docs] “Async deep research, list building, and enrichment.”
- [claimed-docs] “Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] “A single command creates an Exa account and syncs an API key into your project.”
- [probe] “PROBE docs-md: HTTP 200 at https://exa.ai/docs/reference/search-api-guide.md > ## Documentation Index > Fetch the complete documentation ind…”
Sonar API is fundamentally a REST/API product with official Python SDK (sync and async clients, httpx/aiohttp), CLI tool returning JSON for shell pipelines/agent tool calls, retries/error handling, and an OpenAPI spec — all directly enabling headless/CI automation. Docs explicitly call out CLI output as 'ready for shell pipelines and agent tool calls, with no code to write.' Missing for 10: no explicit CI/CD pipeline examples (e.g. GitHub Actions) or independent third-party report of running it in CI.
- [claimed-docs] “You can now run Perplexity Search straight from your terminal. The Perplexity CLI returns the same ranked results as JSON, ready for shell p…”
- [claimed-docs] “Install and use Perplexity's pplx command-line interface for web search and query-relevant page snippets from your terminal or coding agent.”
- [github] “We provide support for streaming responses using Server Side Events (SSE).”
- [github] “Certain errors are automatically retried 2 times by default, with a short exponential backoff.”
- [github] “By default, the async client uses `httpx` for HTTP requests. However, for improved concurrency performance you may also use `aiohttp` as the…”
- [github] “The library includes type definitions for all request params and response fields, and offers both synchronous and asynchronous clients power…”
- [probe] “PROBE openapi: HTTP 200 at https://docs.perplexity.ai/openapi.json — contains "openapi" key”
ai-native userConnect an agent via an official MCP server
weight 3 · round to ExaExa ships a well-documented official MCP server with setup guides for Claude Desktop, Cursor, VS Code, ChatGPT, Codex, Grok and any MCP client, exposing web search, fetching, Exa Agent, and Exa Connect tools; it's open source and requires no API key to start. This is a first-party, dedicated server product (not an agent-client scenario), directly satisfying the story. Missing for 10: independent hands-on community verification of the MCP server specifically (community evidence covers the web/search product but not MCP integration experience).
- [claimed-docs] “Complete setup guide for Exa MCP Server. Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa A…”
- [claimed-docs] “Exa MCP connects AI assistants to Exa’s search capabilities, including web search, code search, Exa Agent, and Exa Connect.”
- [claimed-docs] “Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa Agent, and Exa Connect tools.”
- [claimed-docs] “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] “No API key is required to get started. Exa MCP is open source and available on GitHub.”
- [probe] “official MCP server documented at https://exa.ai/docs/reference/exa-mcp”
Perplexity Sonar API is not itself an agent but a service/API, so this axis applies; docs clearly document an official MCP server, both a Perplexity-hosted remote endpoint (api.perplexity.ai/mcp) and a local stdio server, plus tool-restriction configuration, allowing agents to connect via MCP. Missing for 10: independent/hands-on third-party confirmation of the MCP server working in practice beyond first-party docs.
- [claimed-docs] “The Perplexity MCP Server enables AI assistants to access Perplexity's powerful search and reasoning capabilities directly within their work…”
- [claimed-docs] “Remote MCP server (recommended): hosted by Perplexity at `https://api.perplexity.ai/mcp`. No installation, nothing to update, works with any…”
- [claimed-docs] “Local MCP server: run the open-source server on your machine over stdio. Use this if your client only supports stdio servers or you need to …”
- [claimed-docs] “To restrict which tools the model can call, disable tools by default and enable the ones you want”
- [probe] “official MCP server documented at https://docs.perplexity.ai/docs/getting-started/integrations/mcp-server”
ai-native userUse an official CLI
weight 2 · round to Perplexity Sonar APIExanone0/10Evidence covers Exa's SDKs (exa-js), MCP server, dashboard, and API docs, but no official CLI tool is mentioned anywhere in the pack. Since API-first companies commonly ship a CLI, the axis applies, but there's no evidence Exa offers one.
Perplexity documents an official 'pplx' CLI for search from the terminal or coding agent, explicitly designed for shell pipelines and agent tool calls (JSON output, no code required), which directly matches the ai-native/agentic story. Missing for 10: independent hands-on verification/community corroboration of the CLI beyond first-party docs, and more detail on install/distribution channels.
- [claimed-docs] “You can now run Perplexity Search straight from your terminal. The Perplexity CLI returns the same ranked results as JSON, ready for shell p…”
- [claimed-docs] “You can now run Perplexity Search straight from your terminal. The [Perplexity CLI](/docs/cli/overview) returns the same ranked results as J…”
- [claimed-docs] “Install and use Perplexity's pplx command-line interface for web search and query-relevant page snippets from your terminal or coding agent.”
ai-native userDrive the product through a documented public API
weight 3 · round drawnExa provides a well-documented public API (search, answer, websets, structured extraction) plus official SDKs (exa-js) with concrete code examples for driving it programmatically, corroborated by llms.txt/docs probes and community hands-on trial usage. missing for 10: no discoverable OpenAPI/swagger spec (404s on all probed paths), which would round out machine-readable API documentation.
- [claimed-docs] “from ~250 ms instant search to 12-40 second deep-reasoning search”
- [claimed-docs] “Use `output_schema` with any search type to extract structured JSON from search results”
- [github] “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 ag…”
- [github] “const { answer } = await exa.answer("What is the capital of France?");”
- [claimed-docs] “Our API endpoints have default rate limits to ensure reliable performance for all users.”
- [probe] “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. …”
- [probe] “PROBE docs-md: HTTP 200 at https://exa.ai/docs/reference/search-api-guide.md > ## Documentation Index > Fetch the complete documentation ind…”
- [probe] “PROBE openapi: all candidate paths 404 (https://exa.ai/openapi.json, https://exa.ai/swagger.json, https://exa.ai/api/openapi.json, https://e…”
- [community] “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 'cr…”
Perplexity Sonar API is extensively documented as a public API with OpenAPI spec, official SDKs (Python etc.), CLI, quickstart guides, and API reference for the Sonar/Search/Agent endpoints, confirmed by a live openapi.json probe and multiple docs. This directly matches the ai-native/agenticness story of driving the product through a documented public API. Missing for 10: independent third-party developer testimonials beyond one skeptical HN comment about model selection, which doesn't contradict API existence.
- [claimed-docs] “Get web-grounded answers with built-in citations in one call, or access third-party models from OpenAI, Anthropic, Google, and xAI with web …”
- [claimed-docs] “Install one of our official SDKs for a convenient, type-safe integration”
- [claimed-docs] “You can now run Perplexity Search straight from your terminal. The Perplexity CLI returns the same ranked results as JSON, ready for shell p…”
- [claimed-docs] “Generate an API key and make your first call in < 3 minutes.”
- [probe] “PROBE openapi: HTTP 200 at https://docs.perplexity.ai/openapi.json — contains "openapi" key”
- [github] “The library includes type definitions for all request params and response fields, and offers both synchronous and asynchronous clients power…”
- [claimed-docs] “"citations": [ "<string>" ], "search_results": [”
ai-native userIssue scoped/least-privilege API credentials for an agent
weight 2 · round drawnExanone0/10No evidence of scoped or least-privilege API key/credential issuance—docs mention API key sync into a project and rate limits, but nothing about granular permissions, scopes, or restricted-access tokens for agents.
- [claimed-docs] “A single command creates an Exa account and syncs an API key into your project.”
- [claimed-docs] “Our API endpoints have default rate limits to ensure reliable performance for all users.”
Perplexity Sonar APInone0/10The evidence covers API key generation, rate-limit tiers, and tool-restriction for MCP servers, but there is no mention of scoped or least-privilege API credentials (e.g., per-key permissions, role-based scopes, restricted key creation for sub-agents). Nothing in the docs describes issuing narrowly-scoped keys for delegated agent use.
ai-native userBuild against official SDKs
weight 2 · round drawnExa ships an official JS/TS SDK (exa-js) on GitHub with documented methods like webSearch(), streamSearch(), answer(), and schema-constrained search, directly supporting AI-native SDK-based integration into agent loops. missing for 10: independent/hands-on community validation of SDK quality, and evidence of official SDKs beyond JS/TS (e.g., Python) are not shown in the pack.
- [github] “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 ag…”
- [github] “Search streaming is available via `streamSearch(...)`, which yields OpenAI-style chat completion chunks.”
- [github] “const { answer } = await exa.answer("What is the capital of France?");”
- [github] “For type: "object", search currently enforces: max nesting depth: 2, max total properties: 10”
- [github] “Search streaming is available via streamSearch(...), which yields OpenAI-style chat completion chunks.”
- [github] “Get answers with citations const { answer } = await exa.answer("What is the capital of France?");”
- [github] “includeDomains: ["nasa.gov", "space.com"], startPublishedDate: "2024-01-01",”
- [claimed-docs] “Use `output_schema` with any search type to extract structured JSON from search results”
Docs explicitly point to official, type-safe SDKs (perplexity-sonar-docs-7/12), and there's a real Python SDK repo on GitHub with streaming, async/sync clients, typed responses, retries, and error handling (perplexity-sonar-gh-1 through gh-6), corroborating first-party claims with hands-on package evidence. Missing for 10: explicit confirmation of SDKs in multiple other languages (e.g., JS/TS, Go) beyond Python, and independent community usage reports of the SDKs themselves.
- [claimed-docs] “Install one of our official SDKs for a convenient, type-safe integration”
- [claimed-docs] “Install one of our [official SDKs](/docs/sdk/overview) for a convenient, type-safe integration”
- [github] “We provide support for streaming responses using Server Side Events (SSE).”
- [github] “Certain errors are automatically retried 2 times by default, with a short exponential backoff.”
- [github] “When the API returns a non-success status code (that is, 4xx or 5xx response), a subclass of `perplexity.APIStatusError` is raised, containi…”
- [github] “By default, the async client uses `httpx` for HTTP requests. However, for improved concurrency performance you may also use `aiohttp` as the…”
- [github] “The library includes type definitions for all request params and response fields, and offers both synchronous and asynchronous clients power…”
- [github] “search = client.search.create(query="latest AI developments 2024", max_results=5)”
ai-native userSubscribe to events via webhooks
weight 2 · round to ExaExa's Websets API documents real-time HTTP callbacks ('webhooks') as items are added or enriched, giving AI-native users a way to subscribe to search/enrichment events rather than polling. However, this is scoped specifically to Websets and no broader webhook infrastructure (e.g., event types, signing/security docs, retries) is evidenced for other Exa products like plain search or Agent API. Missing for 10: platform-wide webhook documentation covering multiple event types, security/verification details, and independent/hands-on confirmation of webhook reliability.
- [claimed-docs] “Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] “A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to …”
- [claimed-docs] “Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
Agentic features
ai-native userGet AI-generated insights and suggestions from my data inside the product
weight 2 · round to Perplexity Sonar APIWebsets can enrich and verify search results with AI-generated additional data points (exa-docs-8, exa-docs-15, exa-docs-21), which is the closest analog to 'insights from data' in Exa's product, but this is about web search results rather than a user's own stored data/dashboard, and independent evidence shows enrichment is unreliable (exa-comm-2 shows failed data enrichment for price). Missing for 10: evidence of insight generation over a user's own uploaded/proprietary data set, dashboard-style analytics, or reliable enrichment accuracy corroborated independently.
- [claimed-docs] “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 enr…”
- [claimed-docs] “Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
- [claimed-docs] “Get real-time HTTP callbacks as items are added or enriched”
- [community] “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 …”
Sonar API provides building blocks (embeddings for RAG, Agent API with sandbox/code execution, structured output, web search tools) that a developer could use to build AI-generated insights over their own data, but it is a raw API/platform, not an end-user product with built-in ingestion or dashboard-style insight generation from 'my data'. missing for 10: native data-ingestion/connectors for a user's own datasets, a first-party UI or workflow that surfaces proactive insights/suggestions from stored user data, and independent evidence of this being used end-to-end for such insights.
- [claimed-docs] “Generate high-quality embeddings for semantic search and RAG pipelines.”
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
- [claimed-docs] “The `sandbox` tool gives the agent an isolated Linux container to run real code and use the output in its answer — for results that must be …”
- [claimed-docs] “Structured output makes the model return JSON that conforms to a schema you define, so you can deserialize it directly.”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
ai-native userSet up automations that run autonomously in the background
weight 2 · round to ExaExa offers scheduled/monitoring searches ('Scheduled searches that surface new events on the web') and async webhook callbacks for Websets enrichment, which enable background automation for search/data-gathering tasks, but there's no evidence of a general-purpose automation/agent scheduler, workflow builder, or broader autonomous task execution beyond search/websets. missing for 10: details on automation setup UI/API, retry/monitoring controls, broader task types beyond search/enrichment, and independent confirmation these scheduled jobs run reliably.
- [claimed-docs] “Async deep research, list building, and enrichment.”
- [claimed-docs] “Scheduled searches that surface new events on the web.”
- [claimed-docs] “Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] “Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
Perplexity Sonar APInone0/10The evidence describes building agents via the Agent API (tools, sandbox, model fallback, profiles, multi-turn context) but nothing about scheduling, triggers, or autonomous background execution without a caller invoking the API — it's a request/response API, not a background-automation runtime.
ai-native userDelegate tasks to a built-in AI assistant inside the product
weight 3 · round to Perplexity Sonar APIExadisputedcontradicted4/10Exa's dashboard-based Websets/Exa Agent let a user hand off a natural-language task ('agtech companies that raised Series A') and have it autonomously search, verify, and enrich results without code (exa-docs-8, exa-docs-15, exa-docs-29), which is a form of built-in delegated AI assistant. However, hands-on community reports directly contradict reliability: a tester's Websets query failed to extract requested price data, another saw verification get stuck indefinitely with mostly misses, and a GitHub-search 'agent' feature was only ~30% accurate with broken example code (exa-comm-2, exa-comm-3, exa-comm-4). Missing for 10: a conversational/chat-style assistant UI, independent corroboration that delegated tasks complete reliably, and resolution of the documented failures.
- [claimed-docs] “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 enr…”
- [claimed-docs] “Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
- [claimed-docs] “You can also build websets visually in the Dashboard, no code required.”
- [community] “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 …”
- [community] “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)... …”
- [community] “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 …”
The Agent API provides a genuine delegate-task capability: presets give 'a working agent in one field', instructions/input define system prompts and per-turn tasks, and built-in tools (web search, URL fetch, code sandbox) let the agent autonomously perform multi-step work and return results inline. However, this is a developer-facing API construct rather than a built-in assistant embedded in an end-user product surface — there's no evidence of a native chat/assistant UI within the product itself that an 'ai-native user' interacts with directly. missing for 10: evidence of an end-user-facing assistant UI (vs. API-only agent), independent/hands-on validation of agent task delegation working reliably, and clarity on autonomy limits beyond documented tool list.
- [claimed-docs] “A `preset` gives you a working agent in one field.”
- [claimed-docs] “`instructions` is the agent's **system prompt** — the rules that hold on every turn. `input` is the specific thing to do this turn.”
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
- [claimed-docs] “The `sandbox` tool gives the agent an isolated Linux container to run real code and use the output in its answer — for results that must be …”
- [claimed-docs] “For most multi-turn conversations, use `previous_response_id` to continue from a completed prior response without resending the conversation…”
- [claimed-docs] “Model fallback enables specifying multiple models in a `models` array. The API tries each model in order until one succeeds, providing autom…”
- [claimed-docs] “A profile is a reusable, versioned configuration that you save and manage. ... Select a profile by ID instead of repeating the full configur…”
ai-native userOperate the product with natural-language commands
weight 2 · round to ExaExa's core search API accepts natural-language queries directly (e.g. 'agtech companies in the US that raised Series A'), Websets are built from a natural-language query plus criteria, and Exa's MCP server lets AI assistants like Claude/Cursor/ChatGPT operate it purely via NL commands without code. This is well documented across docs and GitHub examples. missing for 10: independent hands-on verification that NL commands reliably map to correct results (community reports show mixed accuracy, e.g. missed price enrichment and slow/stuck verification), and no first-party benchmark of NL-command success rate.
- [claimed-docs] “Search the web in natural language and get clean, relevant page content in one request.”
- [claimed-docs] “A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to …”
- [claimed-docs] “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 enr…”
- [claimed-docs] “Complete setup guide for Exa MCP Server. Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa A…”
- [claimed-docs] “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] “Find engineering leaders at AI infrastructure companies that raised a Series A or B in the last 6 months.”
- [community] “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 …”
- [community] “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)... …”
The Agent API is explicitly designed around natural-language 'instructions' and 'input' fields, presets, and MCP integration so AI assistants and agents can drive the product purely via NL commands rather than rigid code paths, and the CLI/MCP server extend this to terminal and agent-tool contexts. missing for 10: independent or hands-on third-party verification that NL-driven agent behavior works reliably in practice, and no evidence of a conversational end-user interface beyond API/CLI/MCP docs.
- [claimed-docs] “A `preset` gives you a working agent in one field.”
- [claimed-docs] “`instructions` is the agent's **system prompt** — the rules that hold on every turn. `input` is the specific thing to do this turn.”
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
- [claimed-docs] “Remote MCP server (recommended): hosted by Perplexity at `https://api.perplexity.ai/mcp`. No installation, nothing to update, works with any…”
- [claimed-docs] “Local MCP server: run the open-source server on your machine over stdio. Use this if your client only supports stdio servers or you need to …”
- [claimed-docs] “Install and use Perplexity's pplx command-line interface for web search and query-relevant page snippets from your terminal or coding agent.”
Api quality
ai-native userExplore an interactive API reference with runnable examples
weight 2 · round to Perplexity Sonar APIExadisputedcontradicted4/10Exa's docs claim a 'Get Code' feature that generates a 'complete, tested integration snippet' in under a minute (exa-docs-11), and the JS SDK provides runnable code examples (exa-gh-1-5), but there's no evidence of a true interactive API reference (OpenAPI/Swagger endpoints all 404'd per exa-probe-3), and a hands-on reviewer found the generated cURL example in 'Get Code' to be 'demonstrably wrong' (exa-comm-4), directly contradicting the 'tested' claim. missing for 10: a genuine try-it-out API console, working/tested generated snippets, independent confirmation the code examples run correctly.
- [claimed-docs] “it generates a complete, tested integration snippet tailored to your exact stack and use case in under a minute”
- [github] “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 ag…”
- [community] “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 …”
- [probe] “PROBE openapi: all candidate paths 404 (https://exa.ai/openapi.json, https://exa.ai/swagger.json, https://exa.ai/api/openapi.json, https://e…”
Docs include an OpenAPI spec (probe-3) and an interactive Playground where users can try the Search API without an API key (docs-14), plus a full API reference page (docs-23) — strong signals of an interactive reference experience. However, there's no explicit confirmation that the API reference pages themselves embed runnable/executable code examples (vs. just a separate Playground and static code snippets). Missing for 10: direct evidence of in-reference 'try it' runnable code blocks, independent user confirmation of the interactive reference experience.
- [claimed-docs] “You can also [try Perplexity Search in the interactive Playground](https://console.perplexity.ai/project/playground/search) with no API key …”
- [claimed-docs] “"citations": [ "<string>" ], "search_results": [”
- [probe] “PROBE openapi: HTTP 200 at https://docs.perplexity.ai/openapi.json — contains "openapi" key”
- [probe] “PROBE docs-md: HTTP 200 at https://docs.perplexity.ai/docs/getting-started/overview.md > ## Documentation Index > Fetch the complete documen…”
ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)
weight 2 · round to Perplexity Sonar APIExanone0/10A direct probe for an OpenAPI/Swagger spec at all standard locations (openapi.json, swagger.json, etc.) returned 404s, and while Exa offers llms.txt and markdown doc indexes, these are documentation aids, not a machine-readable API schema (endpoints/params/types) that a buyer could import into tooling like Postman or codegen.
- [probe] “PROBE openapi: all candidate paths 404 (https://exa.ai/openapi.json, https://exa.ai/swagger.json, https://exa.ai/api/openapi.json, https://e…”
- [probe] “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. …”
- [probe] “PROBE docs-md: HTTP 200 at https://exa.ai/docs/reference/search-api-guide.md > ## Documentation Index > Fetch the complete documentation ind…”
A probe confirms a machine-readable OpenAPI spec is live at https://docs.perplexity.ai/openapi.json (HTTP 200, contains 'openapi' key), directly satisfying the story, and this is corroborated by an llms.txt documentation index also returning 200. Missing for 10: independent/community confirmation of the OpenAPI spec's completeness or usage beyond the first-party probe.
- [probe] “PROBE openapi: HTTP 200 at https://docs.perplexity.ai/openapi.json — contains "openapi" key”
- [probe] “PROBE llms.txt: HTTP 200 at https://docs.perplexity.ai/llms.txt # Perplexity > Perplexity API documentation for building with the Agent API…”
- [probe] “PROBE docs-md: HTTP 200 at https://docs.perplexity.ai/docs/getting-started/overview.md > ## Documentation Index > Fetch the complete documen…”
ai-native userRely on versioned APIs with a documented deprecation policy
weight 2 · round drawnExanone0/10No evidence pack item mentions API versioning scheme (e.g., v1/v2 endpoints) or any documented deprecation policy for older API versions; docs cover rate limits, pricing, and features but not version lifecycle management.
Perplexity Sonar APInone0/10The evidence pack shows extensive API documentation, SDKs, an OpenAPI spec, and product features, but nowhere mentions API versioning scheme, a deprecation policy, model sunset timelines, or changelog practices. A community comment even notes model selection 'regressed' over time with no policy context given. No evidence supports this specific axis.
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
ai-native userPerform bulk operations across many items at once
weight 2 · round to ExaExa's Websets product is explicitly built for bulk operations — 'build large lists', verify and enrich every match against criteria, async list building/enrichment, and scheduled searches for new items (exa-docs-7,8,9,10,15,28). However, hands-on community reports show real gaps: missing enrichment data (price columns), 'Verifying...' stuck states, and inconsistent match rates (exa-comm-2,3,4), indicating the bulk pipeline doesn't always complete reliably at scale. Missing for 10: independent benchmarks confirming reliability at large scale, and resolution of the noted enrichment/verification failures.
- [claimed-docs] “You can also build websets visually in the [Dashboard](/docs/websets/dashboard/get-started), no code required.”
- [claimed-docs] “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 enr…”
- [claimed-docs] “Async deep research, list building, and enrichment.”
- [claimed-docs] “Scheduled searches that surface new events on the web.”
- [claimed-docs] “Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
- [claimed-docs] “A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to …”
- [community] “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 …”
- [community] “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)... …”
- [community] “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 …”
The Search API mentions 'multi-query search' (perplexity-sonar-docs-17), which hints at handling multiple queries in one call, but there's no explicit batch/bulk endpoint, no documentation of processing many items (e.g., a list of URLs, files, or embeddings) in a single request, and no examples of bulk automation workflows. Missing for 10: dedicated batch/bulk API endpoint, explicit bulk-item processing docs, and evidence of large-scale bulk usage patterns.
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Search context determines how much web information is retrieved. Higher context = more comprehensive results.”
- [claimed-docs] “As you spend more on API credits over time, you automatically advance to higher tiers with increased rate limits.”
ai-native userSchedule recurring jobs or workflows
weight 2 · round to ExaExa's pricing docs explicitly mention "Scheduled searches that surface new events on the web" and "Async deep research, list building, and enrichment," indicating recurring/scheduled job capability tied to Websets, but there is no detailed documentation of how to configure recurrence, cron-like scheduling, or workflow orchestration, and no independent/hands-on evidence confirming this works reliably. missing for 10: detailed docs on setting up recurring schedules, examples of scheduled workflow configuration, independent verification of scheduled jobs working as claimed.
- [claimed-docs] “Async deep research, list building, and enrichment.”
- [claimed-docs] “Scheduled searches that surface new events on the web.”
- [claimed-docs] “Get real-time HTTP callbacks as items are added or enriched”
Citations trust — stories about citations trust in this arenaCitations trust
Stories about citations trust in this arena
Citation fidelity
developerRely on results carrying canonical URLs, titles, and published dates so my app can cite sources accurately
weight 3 · round to ExaExa's API supports date filtering (startPublishedDate) and domain/path targeting, and its answer/citation feature returns sourced URLs, implying results carry URLs and dates, but no evidence pack item explicitly documents the search result schema (title, canonical url, publishedDate fields) or addresses duplicate/canonicalization handling for citation accuracy. Missing for 10: explicit schema documentation showing title/url/publishedDate fields returned per result, evidence of canonical URL deduplication, and independent confirmation that dates/titles are consistently accurate.
- [github] “includeDomains: ["nasa.gov", "space.com"], startPublishedDate: "2024-01-01",”
- [github] “Get answers with citations const { answer } = await exa.answer("What is the capital of France?");”
- [claimed-docs] “Search the web in natural language and get clean, relevant page content in one request.”
- [claimed-docs] “Exa Contents returns clean page content from URLs, handling JavaScript-rendered pages, PDFs, and complex layouts automatically.”
Docs confirm the API returns a `citations` array and a `search_results` object alongside answers, and the Search API returns 'ranked results' with content extraction, implying source metadata is present. However, the evidence pack never explicitly confirms canonical URL, title, and published-date fields in the schema (the API reference snippet is truncated before showing field names), so accuracy/completeness of that metadata for citation purposes is unverified. missing for 10: explicit schema documentation of title/url/date fields per search result, independent confirmation that returned URLs/dates are accurate and stable for citation.
- [claimed-docs] “"citations": [ "<string>" ], "search_results": [”
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
data engineerRead a documented stance on robots.txt, content licensing, and permitted use of results
weight 2 · round drawnExanone0/10No first-party documentation addresses robots.txt policy, content licensing, or permitted use of search results; the only related evidence is a community tweet alleging Exa ignores robots.txt when indexing (exa-comm-9), which is a complaint, not a documented policy. Since Exa never publishes an explicit stance, this is an unmet, applicable axis rather than a vendor claim being disputed.
- [community] “Exa.ai is indexing personal site data ignoring robots.txt”
Content extraction — stories about content extraction in this arenaContent extraction
Stories about content extraction in this arena
Ai consumption
ai-native userHave an agent run a multi-step research flow — search, extract contents, and synthesize — through one API
weight 2 · round drawnExa's Agent API and Contents/Answer endpoints explicitly support a single-API multi-step flow: search, extract clean content, and synthesize a grounded answer with citations (exa-docs-25, exa-docs-26, exa-docs-24, exa-gh-3/8), and the search endpoint can even return contents inline (exa-docs-22, exa-docs-35). Community feedback shows mixed real-world reliability (e.g., stuck verification, incomplete enrichment) which tempers confidence. Missing for 10: independent hands-on validation of the full search→extract→synthesize loop working end-to-end without manual chaining, and clearer benchmarking of synthesis quality.
- [claimed-docs] “Use iterative search, reasoning, and grounded synthesis for complex research tasks.”
- [claimed-docs] “Enrich entities, build large lists, and run deep research from a single API with built in structured results and web citation”
- [claimed-docs] “Exa Contents returns clean page content from URLs, handling JavaScript-rendered pages, PDFs, and complex layouts automatically.”
- [claimed-docs] “Search the web in natural language and get clean, relevant page content in one request.”
- [github] “const { answer } = await exa.answer("What is the capital of France?");”
- [github] “Get answers with citations const { answer } = await exa.answer("What is the capital of France?");”
- [claimed-docs] “All contents features are also available in Exa Search for returned URLs, at no extra charge up to 10 results per search”
- [community] “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)... …”
The Agent API supports building agents with built-in tools (web search, URL fetch, code sandbox), multi-step reasoning via Pro Search, structured output synthesis, and multi-turn context retention — covering search, extraction, and synthesis in one API call chain. missing for 10: independent/hands-on third-party validation of a full multi-step research flow end-to-end, and quantitative benchmarks on extraction fidelity.
- [claimed-docs] “Pro Search enhances Sonar Pro with automated tool usage and multi-step reasoning. When enabled, the model can perform multiple web searches …”
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
- [claimed-docs] “The `sandbox` tool gives the agent an isolated Linux container to run real code and use the output in its answer — for results that must be …”
- [claimed-docs] “Structured output makes the model return JSON that conforms to a schema you define, so you can deserialize it directly.”
- [claimed-docs] “For most multi-turn conversations, use `previous_response_id` to continue from a completed prior response without resending the conversation…”
- [claimed-docs] “A `preset` gives you a working agent in one field.”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
Page contents
developerRetrieve full page text or markdown for results, not just snippets
weight 3 · round to ExaExa's Contents API explicitly returns 'clean page content from URLs, handling JavaScript-rendered pages, PDFs, and complex layouts automatically,' and this full-content extraction is also bundled into Search results (up to 10 per search) rather than being limited to snippets, with a token-efficient full-text mode described as '10x token efficient extracts.' Missing for 10: explicit documentation of markdown as an output format option, and independent/hands-on developer confirmation of full-text/markdown extraction quality.
- [claimed-docs] “Exa Contents returns clean page content from URLs, handling JavaScript-rendered pages, PDFs, and complex layouts automatically.”
- [claimed-docs] “All contents features are also available in Exa Search for returned URLs, at no extra charge up to 10 results per search”
- [claimed-docs] “Search the web in natural language and get clean, relevant page content in one request.”
- [claimed-docs] “10x token efficient extracts of only the relevant tokens from a webpage. 4000 characters recommended.”
- [claimed-docs] “Specialized model trained to extract the most relevant excerpts from the web”
Docs mention the Search API offers "content extraction for developers" alongside ranked results and snippets (perplexity-sonar-docs-17), suggesting more than snippet-level text is retrievable, but the CLI docs explicitly describe only "query-relevant page snippets" (perplexity-sonar-docs-24) and no doc confirms full-page or markdown output format, schema, or size limits. Missing for 10: explicit API field/response example returning full page text or markdown, documentation of extraction depth/limits, and independent confirmation that returned content is full-page rather than truncated snippets.
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Install and use Perplexity's pplx command-line interface for web search and query-relevant page snippets from your terminal or coding agent.”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
developerGet structured output matching a JSON schema I define
weight 2 · round to Perplexity Sonar APIExa's docs explicitly describe an `output_schema` parameter usable with any search type to extract structured JSON from results, and the GitHub SDK documents concrete schema constraints (max nesting depth 2, max 10 properties) confirming real enforcement of a JSON schema. Missing for 10: independent/hands-on confirmation that schema-constrained output works reliably in practice and richer documentation of schema validation/error handling.
- [claimed-docs] “Use `output_schema` with any search type to extract structured JSON from search results”
- [github] “For type: "object", search currently enforces: max nesting depth: 2, max total properties: 10”
Docs explicitly describe a 'Structured output' feature that 'makes the model return JSON that conforms to a schema you define, so you can deserialize it directly,' directly matching the story. Missing for 10: independent/hands-on corroboration beyond first-party docs, and no code sample showing the schema definition syntax in the evidence pack.
- [claimed-docs] “Structured output makes the model return JSON that conforms to a schema you define, so you can deserialize it directly.”
data engineerCrawl subpages or entire sites starting from a search result
weight 1 · round to ExaExa's Contents API and domain-scoping options (includeDomains/excludeDomains with path prefixes, 'limit results to an entire domain or a specific section of a site') let engineers restrict search/content retrieval to a site or subsection, and Exa Contents cleanly extracts page content including JS-rendered pages and PDFs, which supports basic multi-page extraction from a domain. However there is no explicit documentation of a dedicated 'crawl subpages from a search result' or recursive site-crawl parameter, and no hands-on evidence of crawling an entire site tree. Missing for 10: explicit subpage/recursive-crawl API parameter, and independent verification that full-site crawling from a single result works reliably.
- [claimed-docs] “Limit results to an entire domain or a specific section of a site.”
- [claimed-docs] “Both `includeDomains` and `excludeDomains` accept domains, path prefixes such”
- [claimed-docs] “Both `includeDomains` and `excludeDomains` accept domains, path prefixes”
- [claimed-docs] “Exa Contents returns clean page content from URLs, handling JavaScript-rendered pages, PDFs, and complex layouts automatically.”
- [claimed-docs] “All contents features are also available in Exa Search for returned URLs, at no extra charge up to 10 results per search”
Perplexity Sonar APInone0/10Evidence shows single-query search, URL fetch, and content-extraction tools (docs-17, docs-30, docs-38) but nothing about recursively crawling subpages or an entire site starting from a search result; no site-map/crawl-depth feature is documented.
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
Filters controls — stories about filters controls in this arenaFilters controls
Stories about filters controls in this arena
Query filters
developerRestrict or exclude specific domains from my search results
weight 2 · round to ExaExa's API explicitly supports both includeDomains and excludeDomains parameters (accepting domains and path prefixes), documented in the search API guide and demonstrated in the exa-js GitHub README with a concrete includeDomains example. This directly delivers domain restriction/exclusion for developers via a first-party, well-documented parameter with SDK code example. Missing for 10: no independent/hands-on confirmation specifically of excludeDomains behavior in practice.
- [claimed-docs] “Both `includeDomains` and `excludeDomains` accept domains, path prefixes such”
- [claimed-docs] “Limit results to an entire domain or a specific section of a site.”
- [claimed-docs] “Both `includeDomains` and `excludeDomains` accept domains, path prefixes”
- [github] “includeDomains: ["nasa.gov", "space.com"], startPublishedDate: "2024-01-01",”
Docs explicitly mention 'domain filtering' as a Search API feature and reference 'advanced filtering' of search results, indicating some domain include/exclude capability exists. However, there is no detailed documentation of the actual parameter/API syntax, allowed limits, or confirmation it supports exclusion specifically (vs just filtering to include). Missing for 10: explicit parameter documentation (e.g. search_domain_filter), examples of excluding domains, independent/hands-on verification of behavior.
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Get raw, ranked web search results with advanced filtering and real-time data.”
developerRead per-result relevance scores to threshold what enters my pipeline
weight 1 · round drawnExanone0/10No evidence pack item mentions a per-result relevance/similarity score field, score-based thresholding, or any API parameter to filter/sort results by a numeric relevance score. This is a reasonable axis for a search API, but nothing in docs, SDK, or community evidence documents such a score being returned or usable for pipeline thresholding.
Perplexity Sonar APInone0/10Docs describe ranked web/search results, citations, and a search_results field, but nowhere do they document per-result relevance/confidence scores that a developer could use to threshold what enters a pipeline. Missing for 10: any documented score field in the API response schema, docs explaining score semantics, or examples of threshold-based filtering.
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “"citations": [ "<string>" ], "search_results": [”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
Freshness coverage — stories about freshness coverage in this arenaFreshness coverage
Stories about freshness coverage in this arena
Freshness
data engineerGet fresh results with date-range and recency filters backed by a frequently updated index
weight 3 · round to ExaExa's API supports date-range filtering (startPublishedDate/endPublishedDate) as shown in the JS SDK example, and Exa positions itself as a 'real-time knowledge index' with scheduled searches that surface new events on the web, indicating recency-focused indexing and monitoring capabilities. missing for 10: explicit documentation of crawl/index refresh frequency or independent benchmarks validating recency/freshness claims beyond marketing language.
- [github] “includeDomains: ["nasa.gov", "space.com"], startPublishedDate: "2024-01-01",”
- [claimed-docs] “Scheduled searches that surface new events on the web.”
- [probe] “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. …”
- [claimed-docs] “Async deep research, list building, and enrichment.”
Docs claim 'real-time data' and 'advanced filtering'/'domain filtering' in the Search API, implying a fresh, filterable index, but no evidence explicitly documents date-range or recency-specific filter parameters or index update cadence. missing for 10: explicit documentation of recency/date-range filter parameters, evidence of index refresh frequency, independent verification of freshness.
- [claimed-docs] “Get raw, ranked web search results with advanced filtering and real-time data.”
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
data engineerQuery dedicated verticals like news, images, or finance through specific endpoints or category filters
weight 2 · round drawnExa's docs mention custom indexes for people, companies, and publications and domain/date filtering (includeDomains, startPublishedDate), suggesting some vertical-style filtering, but there is no explicit evidence of dedicated endpoints or category filters for news, images, or finance specifically. Missing for 10: explicit 'category' parameter documentation covering news/images/finance verticals, examples of querying these specific verticals, and independent confirmation of vertical-specific accuracy.
- [claimed-docs] “Exa has custom indexes of 1B+ people, 50M+ companies, 350M+ publications (research papers, preprints, and more), and more.”
- [github] “includeDomains: ["nasa.gov", "space.com"], startPublishedDate: "2024-01-01",”
- [claimed-docs] “Limit results to an entire domain or a specific section of a site.”
Docs mention a built-in 'finance search' tool and general domain/content filtering in the Search API, showing some vertical/category targeting, but there is no evidence of dedicated endpoints or filters for news or images verticals specifically. missing for 10: dedicated news endpoint/filter, dedicated images endpoint/filter, explicit documentation of category-based filtering beyond finance/people/web/URL/sandbox tools.
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Get raw, ranked web search results with advanced filtering and real-time data.”
Targeting
data engineerLocalize results by country, language, or location parameters
weight 2 · round drawnExanone0/10The evidence pack documents domain include/exclude filters and date filters (e.g., includeDomains, startPublishedDate) but contains no mention of country, language, or geographic location search parameters anywhere in Exa's API or docs. Missing for 10: any documented country/locale/language filter parameter, geo-targeting options, or localization examples.
- [claimed-docs] “Both `includeDomains` and `excludeDomains` accept domains, path prefixes such”
- [claimed-docs] “Limit results to an entire domain or a specific section of a site.”
- [claimed-docs] “Both `includeDomains` and `excludeDomains` accept domains, path prefixes”
- [github] “includeDomains: ["nasa.gov", "space.com"], startPublishedDate: "2024-01-01",”
Perplexity Sonar APInone0/10The evidence pack describes domain filtering, multi-query search, search context tuning, and content extraction, but no citation mentions country, language, or location-based localization parameters for the Sonar/Search/Agent APIs. This is a plausible axis for a web-search API, but no supporting evidence exists in the pack.
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
ai-native userDo everything through the API that I can do in the UI
weight 2 · round to Perplexity Sonar APIExa's docs show that Websets, its dashboard feature, can be built visually with 'no code required' (exa-docs-7/29) and that the same functionality is exposed via the Websets API (exa-docs-8/15/28), suggesting rough UI/API parity for that feature, and search/contents/answer are all API-first with UI as a thin layer (exa-comm-7). However there is no explicit documentation stating full feature parity between the dashboard and API, and no OpenAPI spec was found (exa-probe-3) to verify completeness. Missing for 10: an explicit parity statement or changelog showing every UI capability (e.g. dashboard analytics, billing controls, websets monitoring UI) is mirrored in the API, and independent confirmation that no UI-only features exist.
- [claimed-docs] “You can also build websets visually in the [Dashboard](/docs/websets/dashboard/get-started), no code required.”
- [claimed-docs] “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 enr…”
- [claimed-docs] “Find anything on the web, no matter how complex. Websets searches, verifies, and enriches results automatically.”
- [claimed-docs] “A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to …”
- [claimed-docs] “You can also build websets visually in the Dashboard, no code required.”
- [community] “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] “PROBE openapi: all candidate paths 404 (https://exa.ai/openapi.json, https://exa.ai/swagger.json, https://exa.ai/api/openapi.json, https://e…”
The Sonar/Agent API exposes a very wide surface — search, agent orchestration, MCP server (remote and local), CLI, SDKs, sandboxed code execution, structured output, model fallback, profiles — suggesting most capabilities are API-accessible and even API-first, with a playground for exploration. However, none of the evidence explicitly compares API capabilities against the consumer chat UI (e.g., Spaces, Threads, Collections, personalization features), so full UI-parity is not directly demonstrated. Missing for 10: explicit statement or evidence that all consumer-UI-only features (e.g., Spaces, saved threads, UI personalization) are also exposed via API, and independent confirmation of parity.
- [claimed-docs] “You can now run Perplexity Search straight from your terminal. The Perplexity CLI returns the same ranked results as JSON, ready for shell p…”
- [claimed-docs] “Install and use Perplexity's pplx command-line interface for web search and query-relevant page snippets from your terminal or coding agent.”
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
- [claimed-docs] “The `sandbox` tool gives the agent an isolated Linux container to run real code and use the output in its answer — for results that must be …”
- [claimed-docs] “Remote MCP server (recommended): hosted by Perplexity at `https://api.perplexity.ai/mcp`. No installation, nothing to update, works with any…”
- [claimed-docs] “Local MCP server: run the open-source server on your machine over stdio. Use this if your client only supports stdio servers or you need to …”
- [claimed-docs] “A profile is a reusable, versioned configuration that you save and manage. ... Select a profile by ID instead of repeating the full configur…”
- [claimed-docs] “You can also [try Perplexity Search in the interactive Playground](https://console.perplexity.ai/project/playground/search) with no API key …”
ai-native userRead the product's source under an open license
weight 2 · round to ExaExa's core search/retrieval engine and backend are proprietary SaaS; only peripheral components are open — the Exa MCP server is explicitly stated to be 'open source and available on GitHub' (exa-docs-31) and the JS client SDK lives on GitHub (exa-gh-1), but these are thin client/integration layers, not the product's actual search index or ranking source. missing for 10: no open license for the core search engine/index itself, no repository or license file covering the main product, no independent confirmation of license terms for the open pieces.
- [claimed-docs] “No API key is required to get started. Exa MCP is open source and available on GitHub.”
- [github] “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 ag…”
- [claimed-docs] “Exa MCP connects AI assistants to Exa’s search capabilities, including web search, code search, Exa Agent, and Exa Connect.”
Perplexity Sonar APInone0/10Perplexity Sonar API is a closed commercial API; the evidence shows SDKs and a local MCP server are open-source components, but there is no evidence the core Sonar/Agent API source or models are released under an open license, so a user cannot read the product's source.
ai-native userSelf-host the core product
weight 3 · round drawnExanone0/10Exa is presented as a hosted SaaS search/index platform with proprietary crawled indexes; only the thin MCP connector (exa-docs-31) is open source, not the core search/retrieval engine or index. No evidence anywhere of a self-hostable core product, on-prem deployment, or open-source release of the underlying search infrastructure.
- [claimed-docs] “No API key is required to get started. Exa MCP is open source and available on GitHub.”
- [probe] “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. …”
- [claimed-docs] “Exa has custom indexes of 1B+ people, 50M+ companies, 350M+ publications (research papers, preprints, and more), and more.”
Perplexity Sonar APInone0/10Perplexity Sonar API is a hosted, closed-source API/SaaS product; there is no evidence of any self-hostable core model, search index, or backend—only a local MCP connector (a thin client wrapper) that still calls Perplexity's cloud API. The core product (search/answer engine) cannot be run on the user's own infrastructure. missing for 10: any self-hosted deployment option, open-source core engine/model weights, or on-prem offering.
- [claimed-docs] “Remote MCP server (recommended): hosted by Perplexity at `https://api.perplexity.ai/mcp`. No installation, nothing to update, works with any…”
- [claimed-docs] “Local MCP server: run the open-source server on your machine over stdio. Use this if your client only supports stdio servers or you need to …”
- [community] “They've had their sonar models on API since forever. Even the pricing looks same as always. If anything they've regressed - selection of mod…”
Pricing limits — free-tier ceilings, usage caps, and rate limits before you have to payPricing limits
Free-tier ceilings, usage caps, and rate limits before you have to pay
Pricing clarity
developerRead documented rate limits and concurrency caps with a self-serve upgrade path
weight 2 · round to Perplexity Sonar APIExa has a dedicated rate-limits doc page (exa-docs-16) confirming default per-endpoint limits exist, and self-serve signup/API-key provisioning with credits is documented (exa-docs-33, exa-docs-34), implying a self-serve path to get and fund an account. However, no evidence shows actual numeric rate limits, concurrency caps, or a documented tier-based upgrade mechanism (e.g., paid plan comparison unlocking higher throughput). Missing for 10: concrete rate-limit/concurrency numbers, documented upgrade tiers and how limits scale with them, and any independent confirmation of these limits in practice.
- [claimed-docs] “Our API endpoints have default rate limits to ensure reliable performance for all users.”
- [claimed-docs] “A single command creates an Exa account and syncs an API key into your project.”
- [claimed-docs] “$20 credits on sign-up with $10 credits every month. No payment method required”
Docs describe a dedicated rate-limits/usage-tiers page where spending automatically and permanently upgrades your tier (self-serve, no manual request needed), which covers rate limits and an upgrade path. However, no evidence explicitly documents concurrency caps or specific per-tier numeric limits. Missing for 10: explicit concurrency cap documentation, concrete per-tier RPM/RPS figures, independent confirmation of the auto-upgrade mechanism.
- [claimed-docs] “As you spend more on API credits over time, you automatically advance to higher tiers with increased rate limits.”
- [claimed-docs] “As you spend more on API credits over time, you automatically advance to higher tiers with increased rate limits. Higher tiers unlock signif…”
- [claimed-docs] “As you spend more on API credits over time, you automatically advance to higher tiers with increased rate limits... once you reach a tier, y…”
developerPrototype against the API on a free tier or free credits
weight 2 · round to ExaExa's pricing docs explicitly state $20 free credits on sign-up plus $10/month recurring credits with no payment method required, directly enabling free prototyping, and community evidence confirms users signing up for trial accounts and testing the API without payment friction (exa-comm-1). missing for 10: no independent long-term verification of ongoing $10/month credit renewal or explicit free-tier rate limits beyond generic rate-limit doc.
- [claimed-docs] “$20 credits on sign-up with $10 credits every month. No payment method required”
- [claimed-docs] “A single command creates an Exa account and syncs an API key into your project.”
- [community] “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 'cr…”
- [claimed-docs] “Our API endpoints have default rate limits to ensure reliable performance for all users.”
Perplexity Sonar APInone0/10The evidence shows an API key signup flow and a no-key-required Playground for testing, but no documentation of a free tier, free trial credits, or free quota for the Sonar API itself — rate-limit tiers are described as advancing with paid spend, not free usage. missing for 10: explicit free credits/free tier terms, any trial credit amount, or free-usage rate limits for new developers.
- [claimed-docs] “You can also [try Perplexity Search in the interactive Playground](https://console.perplexity.ai/project/playground/search) with no API key …”
- [claimed-docs] “Generate an API key and make your first call in < 3 minutes.”
- [claimed-docs] “As you spend more on API credits over time, you automatically advance to higher tiers with increased rate limits. Higher tiers unlock signif…”
developerSee clear per-request or per-credit pricing without talking to sales
weight 3 · round drawnExa's pricing page (exa-docs-34) shows self-serve credit-based pricing ($20 signup credit, $10/month, no payment method required) and a dedicated /docs/reference/pricing page exists (exa-docs-9, exa-docs-10) listing feature tiers, indicating pricing is public and requires no sales contact. However, the evidence pack doesn't show a detailed per-endpoint/per-request cost table or explicit dollar-per-call rates, so the granularity a developer needs to estimate exact costs is unclear. Missing for 10: explicit per-request/per-token cost breakdown, confirmation that all endpoints (websets, agent, MCP) are covered in the same public pricing page, independent confirmation that pricing is fully self-serve without enterprise gating.
- [claimed-docs] “$20 credits on sign-up with $10 credits every month. No payment method required”
- [claimed-docs] “Async deep research, list building, and enrichment.”
- [claimed-docs] “Scheduled searches that surface new events on the web.”
Perplexity publishes a dedicated pricing page (search context, Pro Search, credit-tier rate limits) and lets developers self-serve by generating an API key in minutes without contacting sales, implying transparent self-serve pricing. However the evidence pack never shows actual per-request or per-credit dollar figures, so we can't confirm the pricing is fully itemized/clear from what's provided. Missing for 10: concrete $/request or $/credit rate tables, confirmation that all model/tool usage (sandbox, MCP, agent tools) is separately priced and disclosed publicly.
- [claimed-docs] “Pro Search enhances Sonar Pro with automated tool usage and multi-step reasoning. When enabled, the model can perform multiple web searches …”
- [claimed-docs] “Search context determines how much web information is retrieved. Higher context = more comprehensive results.”
- [claimed-docs] “As you spend more on API credits over time, you automatically advance to higher tiers with increased rate limits.”
- [claimed-docs] “As you spend more on API credits over time, you automatically advance to higher tiers with increased rate limits. Higher tiers unlock signif…”
- [claimed-docs] “When using tools with the Agent API:”
- [claimed-docs] “Generate an API key and make your first call in < 3 minutes.”
Scale throughput
data engineerSubmit batched or asynchronous jobs for high-volume query workloads
weight 2 · round to ExaExa's docs describe Websets for async list-building/enrichment at scale, async deep research, scheduled searches, and webhook callbacks for job status — directly supporting asynchronous high-volume workloads, backed by rate-limit documentation for query volume management. Missing for 10: an explicit bulk/batch query submission endpoint (vs. Websets-specific async jobs), and independent/hands-on benchmarks confirming reliable performance at high volume.
- [claimed-docs] “Async deep research, list building, and enrichment.”
- [claimed-docs] “Scheduled searches that surface new events on the web.”
- [claimed-docs] “Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] “A Webset starts with a natural-language query and a target item count. Add criteria that every result must satisfy and enrichment fields to …”
- [claimed-docs] “Our API endpoints have default rate limits to ensure reliable performance for all users.”
Perplexity Sonar APInone0/10The evidence covers synchronous SDK calls, streaming (SSE), retries, rate-limit tiers, and model routing/fallback, but nowhere mentions batch job submission or an asynchronous job/queue API for high-volume workloads — the async client mentioned is just a non-blocking HTTP client, not a batch-job system. No documentation of batch endpoints, job polling, or bulk submission exists in the pack.
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
ai-native userChoose where my data is stored (region/residency)
weight 2 · round drawnExanone0/10No evidence anywhere in the pack mentions data residency, region selection, or storage location options for Exa's API, MCP server, or Websets; this is an applicable privacy axis for an AI-native data/search platform but no documentation addresses it.
ai-native userPrevent my data from being used to train AI models
weight 3 · round drawnExanone0/10The evidence pack contains no documentation, policy statement, or setting related to opting out of data being used for AI model training; the only tangential item concerns Exa scraping third-party websites (ignoring robots.txt), not user-submitted data protection. No opt-out mechanism, privacy policy language, or enterprise data-handling guarantee is present.
ai-native userControl data retention and deletion
weight 2 · round drawnExanone0/10No evidence pack items address data retention policies, deletion controls, or privacy/data-handling settings for user data or query history; one community post alleges Exa ignores robots.txt when indexing web content, which is unrelated to user data retention controls. Missing for 10: any documentation of data retention periods, user-initiated deletion/export mechanisms, or privacy controls over stored queries/results.
ai-native userOpt out of telemetry and usage tracking
weight 2 · round drawnExanone0/10No evidence in the pack addresses telemetry, usage tracking, or opt-out settings for Exa; there's even a community report of Exa itself indexing data disregarding robots.txt, but nothing about the product providing an opt-out for tracking of its own users.
Search quality — stories about search quality in this arenaSearch quality
Stories about search quality in this arena
Ai consumption
ai-native userPlug the API into an agent as a ready-made tool, with function-calling schemas and agent-framework integrations designed for direct tool-call consumption
weight 3 · round drawnExa ships an official JS/TS SDK with `webSearch()` designed explicitly for use as a tool in OpenAI/Anthropic agent loops, plus an open-source MCP server connecting Claude Desktop, Cursor, VS Code, ChatGPT, Codex, Grok and other MCP clients, and structured output_schema/JSON extraction for direct tool-call consumption. missing for 10: no official OpenAI/Anthropic function-calling JSON schema published directly (only inferred via SDK helper), no independent hands-on validation of agent-framework integration reliability, and no public OpenAPI spec (probe returned 404s).
- [github] “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 ag…”
- [github] “Use Exa as a `web_search` tool in an OpenAI or Anthropic loop.”
- [claimed-docs] “Complete setup guide for Exa MCP Server. Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa A…”
- [claimed-docs] “Exa MCP connects AI assistants to Exa’s search capabilities, including web search, code search, Exa Agent, and Exa Connect.”
- [claimed-docs] “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] “No API key is required to get started. Exa MCP is open source and available on GitHub.”
- [claimed-docs] “Use `output_schema` with any search type to extract structured JSON from search results”
- [github] “For type: "object", search currently enforces: max nesting depth: 2, max total properties: 10”
- [probe] “official MCP server documented at https://exa.ai/docs/reference/exa-mcp”
- [claimed-docs] “Exa skills teach coding agents how to search, retrieve content, and build with Exa's APIs.”
Perplexity ships an official MCP server (remote and local/stdio) that exposes its search/reasoning as agent-consumable tools, plus OpenAPI schema, official SDKs with type-safe function signatures, built-in tools (web search, sandbox, URL fetch) designed for tool-call consumption within the Agent API, and integration with Anthropic's Messages API MCP connector. This directly matches the story of plugging the API into an agent via ready-made schemas/integrations. Missing for 10: independent third-party validation of agent-framework interop (e.g. LangChain/AutoGen adapters) and hands-on developer reports confirming smooth tool-call schema usage beyond vendor docs.
- [claimed-docs] “The Perplexity MCP Server enables AI assistants to access Perplexity's powerful search and reasoning capabilities directly within their work…”
- [claimed-docs] “Remote MCP server (recommended): hosted by Perplexity at `https://api.perplexity.ai/mcp`. No installation, nothing to update, works with any…”
- [claimed-docs] “Local MCP server: run the open-source server on your machine over stdio. Use this if your client only supports stdio servers or you need to …”
- [claimed-docs] “Use Perplexity's tools in a Messages API request with the MCP connector:”
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
- [probe] “PROBE openapi: HTTP 200 at https://docs.perplexity.ai/openapi.json — contains "openapi" key”
- [probe] “official MCP server documented at https://docs.perplexity.ai/docs/getting-started/integrations/mcp-server”
- [github] “The library includes type definitions for all request params and response fields, and offers both synchronous and asynchronous clients power…”
Llm ready results
developerGet a sourced, LLM-generated answer to a query in a single API call
weight 2 · round to Perplexity Sonar APIExa's `/answer` endpoint (exposed via exa-js `exa.answer()`) returns an LLM-generated answer with citations in a single call, as shown in exa-gh-3 and exa-gh-8 ("Get answers with citations"). This is backed by first-party SDK code, though there's no independent hands-on validation of answer quality specifically for this endpoint. Missing for 10: independent/community verification of the answer API's accuracy and citation quality, and deeper docs beyond SDK snippets.
- [github] “const { answer } = await exa.answer("What is the capital of France?");”
- [github] “Get answers with citations const { answer } = await exa.answer("What is the capital of France?");”
- [claimed-docs] “Enrich entities, build large lists, and run deep research from a single API with built in structured results and web citation”
Docs explicitly describe getting web-grounded answers with built-in citations in one API call (Sonar/Agent API), with a quickstart to make the first call in under 3 minutes, and the API reference shows a response schema with 'citations' and 'search_results' fields. Docs even distinguish this from the raw Search API, clarifying that the sourced LLM-generated answer use case is served by the Sonar/Agent endpoints. missing for 10: independent hands-on developer verification of citation quality/accuracy beyond vendor docs.
- [claimed-docs] “Get web-grounded answers with built-in citations in one call, or access third-party models from OpenAI, Anthropic, Google, and xAI with web …”
- [claimed-docs] “"citations": [ "<string>" ], "search_results": [”
- [claimed-docs] “Generate an API key and make your first call in < 3 minutes.”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
developerGet results sized and ranked for direct use as LLM context in a RAG pipeline
weight 3 · round drawnExa's docs explicitly target RAG-context sizing: '10x token efficient extracts' with a recommended 4000-character cap, `output_schema` for structured JSON, clean page content extraction handling JS/PDFs, and citation-backed `answer()` calls — all clearly aimed at feeding LLM pipelines directly. Community feedback (exa-comm-1, exa-comm-8) corroborates the RAG-focused design ('SERP is not the right way to let an LLM interact with the web'), though one user requested a 'cruft cleaner' suggesting content isn't always perfectly trimmed. Missing for 10: independent benchmarks quantifying token-efficiency/relevance gains, and no evidence addressing edge cases like very large result sets consistently staying within context budgets.
- [claimed-docs] “10x token efficient extracts of only the relevant tokens from a webpage. 4000 characters recommended.”
- [claimed-docs] “Use `output_schema` with any search type to extract structured JSON from search results”
- [claimed-docs] “Search the web in natural language and get clean, relevant page content in one request.”
- [claimed-docs] “Return query-relevant excerpts from Exa Search results while controlling context size and latency.”
- [claimed-docs] “Exa Contents returns clean page content from URLs, handling JavaScript-rendered pages, PDFs, and complex layouts automatically.”
- [github] “const { answer } = await exa.answer("What is the capital of France?");”
- [community] “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 'cr…”
- [community] “I am a BIG Exa fan. NewsCatcher and Exa aren't direct competitors but share the same insight — SERP is not the right way to let an LLM inter…”
Docs explicitly market a Search API returning 'raw, ranked web search results' for developer processing, distinct from the answer-generating Agent API, with domain filtering, multi-query search, and content extraction designed for RAG use, plus embeddings generation for semantic search/RAG pipelines. SDKs, CLI, and structured citations/search_results fields support direct ingestion into a RAG context window. missing for 10: no independent benchmark or hands-on evidence of chunk sizing/token-length suitability for context windows, and no explicit documentation of result truncation or size controls tailored to LLM context limits.
- [claimed-docs] “Get raw, ranked web search results with advanced filtering and real-time data.”
- [claimed-docs] “Generate high-quality embeddings for semantic search and RAG pipelines.”
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Use the Search API when you need raw results for your own processing. For an LLM-generated answer with citations, use the Agent API.”
- [claimed-docs] “"citations": [ "<string>" ], "search_results": [”
Retrieval modes
developerFind pages similar to a URL I already have
weight 1 · round drawnExanone0/10The evidence pack covers Exa's keyword/neural search, contents extraction, Websets, MCP integration, and agent tooling, but nowhere mentions a 'find similar' or URL-based similarity search endpoint. No documentation, GitHub snippet, or community report in this pack references finding pages similar to a given URL.
developerChoose between keyword, neural, or hybrid retrieval modes per query
weight 2 · round to ExaDocs mention 'custom search types with appropriate latency-quality profiles' (instant vs deep-reasoning search), implying multiple selectable search modes, but the evidence never explicitly names 'keyword', 'neural', or 'hybrid' as distinct per-query parameters as described in the story. missing for 10: explicit documentation of keyword/neural/hybrid mode names, a code example showing a 'type' parameter switch, and independent confirmation that all three modes are selectable per query.
- [claimed-docs] “from ~250 ms instant search to 12-40 second deep-reasoning search”
- [claimed-docs] “custom search types with appropriate latency-quality profiles, from ~250 ms instant search to 12-40 second deep-reasoning search”
- [claimed-docs] “Exa has custom search types with appropriate latency-quality profiles, from ~250 ms instant search to 12-40 second deep-reasoning search.”
developerRun meaning-based semantic search that finds results keyword engines miss
weight 3 · round to Perplexity Sonar APIExadisputedcontradicted5/10Exa's docs describe a purpose-built neural/semantic search model that returns 'clean, relevant page content' in natural language rather than keyword matching, and one HN commenter explicitly notes Exa's insight that 'SERP is not the right way to let an LLM interact with the web.' However, hands-on community reports contradict the quality claim: one user got '1 match, 14 misses' with results stuck 'Verifying...', and another found GitHub repo search only '30/70' accurate at finding requested items. Missing for 10: independent benchmark comparisons against keyword search, resolution of the reported miss-rate issues, and broader corroboration of search accuracy beyond a single anecdotal thread.
- [claimed-docs] “Search the web in natural language and get clean, relevant page content in one request.”
- [claimed-docs] “Specialized model trained to extract the most relevant excerpts from the web”
- [claimed-docs] “Exa has custom search types with appropriate latency-quality profiles, from ~250 ms instant search to 12-40 second deep-reasoning search.”
- [community] “I am a BIG Exa fan. NewsCatcher and Exa aren't direct competitors but share the same insight — SERP is not the right way to let an LLM inter…”
- [community] “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)... …”
- [community] “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 …”
Docs explicitly mention embeddings 'for semantic search and RAG pipelines' and web search with ranked/filtered results, supporting meaning-based retrieval beyond keyword matching, but the evidence never shows benchmark or hands-on proof that this semantic search surfaces results keyword engines miss. Missing for 10: independent/hands-on evidence comparing semantic vs keyword recall, detail on embedding model quality/architecture, and concrete examples of semantic-only matches.
- [claimed-docs] “Generate high-quality embeddings for semantic search and RAG pipelines.”
- [claimed-docs] “Get raw, ranked web search results with advanced filtering and real-time data.”
- [claimed-docs] “Access real-time web search results with Perplexity's Search API. Get ranked results, domain filtering, multi-query search, and content extr…”
- [claimed-docs] “Search context determines how much web information is retrieved. Higher context = more comprehensive results.”
Not comparable on these axes
ai-native userPlug MCP servers into this product so it can use their tools
weight 3 · not comparableExan/aExa is a search/data platform that exposes its own capabilities to other AI assistants via an official MCP server (exa-docs-6, exa-docs-30, exa-probe-4) — it plays the MCP server role, not the client role that consumes external MCP servers' tools. There is no evidence Exa itself acts as an agent that plugs in and uses third-party MCP servers; its 'Exa Agent'/'Exa Connect' features integrate proprietary data partners, not the MCP protocol, so this client-side axis does not apply to this product's role.
- [claimed-docs] “Complete setup guide for Exa MCP Server. Connect Claude Desktop, Cursor, VS Code, and 10+ AI assistants to Exa's web search, fetching, Exa A…”
- [claimed-docs] “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] “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 d…”
- [probe] “official MCP server documented at https://exa.ai/docs/reference/exa-mcp”
Perplexity Sonar APInone0/10The evidence only shows Perplexity publishing its own MCP server (and an Anthropic-side MCP connector for consuming Perplexity's tools) — i.e., Perplexity acts as the tool provider, not as a client that ingests third-party MCP servers' tools. The Agent API's 'built-in tools' (web search, sandbox, fetch, finance/people search) are Perplexity-hosted, and there is no documentation of a mechanism to plug an arbitrary external MCP server into the Agent/Sonar API so it can call that server's tools.
- [claimed-docs] “The Perplexity MCP Server enables AI assistants to access Perplexity's powerful search and reasoning capabilities directly within their work…”
- [claimed-docs] “Remote MCP server (recommended): hosted by Perplexity at `https://api.perplexity.ai/mcp`. No installation, nothing to update, works with any…”
- [claimed-docs] “Local MCP server: run the open-source server on your machine over stdio. Use this if your client only supports stdio servers or you need to …”
- [claimed-docs] “Use Perplexity's tools in a Messages API request with the MCP connector:”
- [claimed-docs] “Built-in tools | Perplexity-hosted capabilities: web search, URL fetch, people and finance search, and a code sandbox. Enable each by `type`…”
ai-native userTest against a sandbox environment without touching production data
weight 1 · not comparableExan/aExa is a read-only web search/retrieval API with no user-owned production dataset to protect; the sandbox-vs-production data distinction doesn't apply to its category (it only has trial credits, not a sandboxed data environment).
ai-native userDefine rules that trigger actions automatically on events
weight 3 · not comparableExa's Websets support scheduled searches that surface new events and real-time HTTP callbacks (webhooks) when items are added or enriched, which functions as a basic event-triggered automation mechanism. However, there's no evidence of a full rule-definition system (conditional logic, multi-step actions, or an automation builder) — missing for 10: user-defined conditional rules, multi-action workflows, and any hands-on/independent confirmation that scheduled searches or webhooks work reliably in practice.
- [claimed-docs] “Scheduled searches that surface new events on the web.”
- [claimed-docs] “Get real-time HTTP callbacks as items are added or enriched”
- [claimed-docs] “Async deep research, list building, and enrichment.”
ai-native userVersion, review, and roll back my automations
weight 1 · not comparableExan/aExa is a search/retrieval API and agent platform, not a workflow/automation builder with versioned pipelines; there is no concept of 'automations' with version history or rollback in the evidence. Scheduled searches and webhooks exist but nothing about versioning, review, or rollback of configurations, so the axis is a category error for this product.
Perplexity's Agent API 'profiles' are described as reusable, versioned configurations that can be saved and selected by ID, which is a thin form of automation versioning, but there is no documented review workflow or rollback mechanism for these profiles or any other automation constructs. missing for 10: explicit rollback/revert capability, change review or diff tooling, audit history beyond simple versioning.
- [claimed-docs] “A profile is a reusable, versioned configuration that you save and manage. ... Select a profile by ID instead of repeating the full configur…”
ai-native userExport all of my data in open formats and leave
weight 3 · not comparableExanone0/10Exa's docs describe search, contents, websets, and MCP integration, but nowhere is there evidence of a data export feature (e.g., bulk export of websets/results in open formats like CSV/JSON) or account data portability for users to 'take their data and leave'. This is a fair axis for a data platform, but no evidence supports it.
Perplexity Sonar APIn/aPerplexity Sonar API is a developer-facing API/platform for search, generation, and agent workflows; it does not function as a data-storage application where a user accumulates personal content that would need bulk export in open formats. Data export/portability is not a natural axis for this kind of product — developers already own their request/response data via their own integration.