Head to head · Web search · October 2026 research run
Exa API + MCP vs Perplexity Search API
Perplexity Search API scores 70.2 (BB) on agent readiness against Exa API + MCP's 67.8 (B), and leads in 4 of 7 scored categories. Exa API + MCP leads on agent ergonomics, payments & pricing and maintenance & community. Both do web search. Perplexity Search API is cheaper for web search, $1 against $4 per 1,000 requests. Exa API + MCP accepts x402. Perplexity Search API doesn't.
Best web search APIs for AI agents · All 308 search comparisons
Which one, for what
Best for Agents that search in natural language and want short highlights or page text in the same call, and for keyless or wallet-paid use.
Ahead on
- Agent ergonomics, 96 against 85
- Payments & pricing, 90 against 25
- Maintenance & community, 88 against 82
Also in its favour
- An agent can pay per call over x402, with no account
- Free to start without a card
- Open source
Watch for
The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits
Best for Agents on any model that need raw ranked sources with extracted text at a low per-request price, and teams that want cited answers from the same key through the Agent API.
Ahead on
- Security & auth, 56 against 43
- Transparency & trust, 66 against 61
Also in its favour
- Cheaper for web search, $1 against $4 per 1,000 requests
- Agent-ready, a grade of BB or better
- No incidents deducted, where Exa API + MCP loses 9 points for them
Watch for
The FAQ says uptime and recovery time are not guaranteed, and the terms carry no SLA
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Payments & pricing Exa API + MCP +65
Exa API + MCP 90
x402 on POST /search and /contents, USDC on Arc, Base, World Chain or Solana, including Circle Gateway nanopayments, not on answer, Agent runs, monitors or Websets, so partial (30). Per-call prices published without login, $0.004 for lite (and legacy instant) to $0.015 for legacy deep-reasoning per search (20). $10 a month and a $10 onboarding bonus, and the pricing page now states "No payment method required" (20). An agent can pay by x402 with no account, and the hosted MCP works anonymously within rate limits (20).
Perplexity Search API 25
No x402, MPP or L402 in the docs, pricing page, OpenAPI or llms.txt (0). $5 per 1,000 successful requests, $1 with Fast Search, published without a login, with failed and rate-limited requests not billed (20). Usage is prepaid with a card on the billing page, and no free allowance was found. The console playground needs no key but is a page for a person, not an API allowance (0). A person signs up in the console. The Stripe Projects route provisions a project, key and credits from a terminal, but needs a person's Stripe account with a payment method and a $10 minimum purchase (5 of 20, as on the Decisions API listing). 0 + 20 + 0 + 5 = 25.
Security & auth Perplexity Search API +13
Exa API + MCP 43
Bearer or x-api-key keys, and a team-management API creates keys with their own rate limit and budget. The hosted MCP also takes OAuth. The README documents ?exaApiKey= in the URL, so 25 less 10 (15). Every tool is read-only and annotated so, and ?tools= limits the set. Agent runs spend credit but change nothing. Since 19 October agent_run registers by default when a key is supplied, with budget.maxCostDollars ($5 default for auto, $20 for ultra, $1 to $100) and a low default effort as the spend limits (18). Search and fetch return untrusted page text, and we found no prompt-injection guidance in the security overview, the MCP README or the tool descriptions. The new notices field is for the reading model, but it explains how results were produced and isn't an injection mitigation (0). No audit log found (0). SOC 2 Type II with reports in a trust centre. No security.txt (404 on 21 October), no SECURITY.md, no bug bounty and no GitHub advisories. The April 2026 key leak below was handled in a commit message only (10).
Perplexity Search API 56
Project API keys, shown once, revocable, and generated and revoked through two documented endpoints with a rotation guide. No per-key scopes or spending limits were found. The hosted MCP server also takes Sign in with Perplexity (OAuth). Keys go in the Authorization header only (22 of 30, as on the Decisions API listing). Search only reads, and MCP clients can disable tools, but any key reaches every API on the account, including the Agent API's sandbox and MCP tools (8 of 20). Snippets are third-party page text, and no guidance on treating them as untrusted was found in the docs, the MCP server or its SECURITY.md (0 of 15). Responses carry a request id, and the console shows usage by key. The Audit API covers enterprise organisations' web app events with its own keys, not API calls (8 of 15). security.txt valid until 31 December 2027 linking a security page, a SOC 2 Type II report, a 2025 HIPAA gap assessment and a CAIQlite listed on the trust centre, and a SECURITY.md on the MCP server that takes private reports through GitHub advisories or security@perplexity.ai. The trust centre is drawn by script and wasn't read (18 of 20). 22 + 8 + 0 + 8 + 18 = 56.
Agent ergonomics Exa API + MCP +11
Exa API + MCP 96
On a keyless connection two tools are on by default, web_search_exa and web_fetch_exa, about 1,250 characters of descriptions between them. Since the 19 October commit on main, agent_run (about 500 characters plus a larger input schema) is also on by default when the user supplies a key, though the README still lists it as optional. ?tools= turns on web_search_advanced_exa and picks the set (25). numResults, maxCharacters, highlights instead of full text, category, domain and date filters, and in web_search_advanced_exa the lite type (20). The error-codes page lists codes, and the MCP server rewrites a 429 into a message about the free tier and keys and now passes search notices to the model. Errors reach the model as text rather than a code (16). Every tool sets readOnlyHint, destructiveHint: false and idempotentHint (false on agent_run), and the server retries transient errors twice (20). Only query is required. Python and TypeScript SDKs (15).
Perplexity Search API 85
max_results 1 to 20, max_tokens and max_tokens_per_page cap the extracted text, and results are title, url, snippet and two dates. The MCP server has four tools (23 of 25). Domain, language, recency, publication and update date filters and country, with up to five queries in one request. No pagination or offset (16 of 20). 429 bodies name the limit hit, the SDKs map status codes to typed errors, and 402 marks an empty balance. Search-specific error bodies beyond 422 validation are not documented (13 of 20). Searches only read, failed and rate-limited requests are not billed, and the MCP server sets readOnlyHint true, destructiveHint false and idempotentHint false on every tool (18 of 20). Only query is required. Official Python and TypeScript SDKs, a CLI and a Python Search SDK (15). 23 + 16 + 13 + 18 + 15 = 85.
Maintenance & community Exa API + MCP +6
Exa API + MCP 88
exa-py and exa-js 2.27.0 tagged on 30 October 2026, after 2.26.0 and the API changelog entry of 19 October (30). 14 tags of each SDK from v2.17.0 (7 August) to v2.27.0 (30 October), and changelog entries on 28 August, 24 September and 19 October (20). 13 open MCP issues and pull requests merged on 2, 6, 7 and 19 October per the 21 October check, with pull requests merged on 27 and 28 October in the clone; reply times unread because GitHub's pages refuse us (15). Official registry entry ai.exa/exa under Exa's own domain, latest 3.4.1 (published 23 September), and current Python and TypeScript SDKs (15). CI typechecks and tests the MCP server on every push. The npm package (3.4.2, 6 October, per the 21 October check) ships from a workflow without git tags, and package.json on main is still 3.4.2 on 1 November (8).
Perplexity Search API 82
Read as a closed service with official SDKs and an open-source MCP server. perplexityai 0.46.1 on PyPI on 23 October 2026 and the MCP server's last commit on 21 October, with changelog entries into November 2026 (30). In the 90 days from 8 August, perplexityai 0.43.7 to 0.46.1 (six releases from 2 October), MCP server 1.2.1 (27 August) and 1.3.0 (25 September, Fast Search on perplexity_search), and Fast Search itself in September (20). A changelog with several entries a month, a community forum with a bug-report category, a GitHub discussion repository and api@perplexity.ai. MCP issue reply times weren't read (10 of 15). The MCP server is in the official registry under the domain-verified ai.perplexity namespace, and the Python and TypeScript SDKs are current (15). The MCP repository runs tests in CI and validates its plugin manifests. Its 1.4.0, prepared on 16 October, is not on npm, which still serves 1.3.0, and the registry's latest entry is 1.2.1 of 27 August (7 of 10). 30 + 20 + 10 + 15 + 7 = 82.
Transparency & trust Perplexity Search API +5
Exa API + MCP 61
The MCP server is MIT and the API is closed with published terms (20). The privacy policy, still dated 29 June 2026 on 21 October, says query data is used to train and fine-tune Exa's models and states no retention period. Zero data retention needs a sales conversation, and the DPA sits in the trust centre (12). Dated deprecations in the changelog, such as the pdf, github and tweet categories on 23 July and the instant, fast and deep-reasoning search types made legacy on 19 October, with no removal dates (12). The MCP server, hosted and on npm, sends usage events to Agnost (api.agnost.ai) with no mention in the README, no opt-out flag, and no named subprocessor list in the privacy policy, unchanged on main on 21 October (0).
Perplexity Search API 66
Closed service under terms naming Perplexity AI, Inc. and California law. The MCP server is MIT and the SDKs Apache-2.0 (18 of 30). The terms and DPA say Customer Content and personal data don't train Perplexity's models, the DPA deletes personal data within 30 days of the service ending, and the Privacy and Security page says retention varies by API and zero data retention is not the default. The DPA also says Perplexity Search may follow different data terms, which weren't found, and no retention period for search queries is stated (15 of 30). Sonar Chat Completions support ended on 27 September 2026 with a migration guide and requests reformulated rather than refused, and sonar-reasoning was removed on 15 December 2025 with a named replacement. Notices are dated by month and there is no standing notice period beyond the terms' 30 days for termination (10 of 20). A sub-processor list on the trust centre, which is drawn by script and wasn't read, ten business days' notice of new non-model subprocessors, and SCCs for EU and UK transfers. No data location is stated (8 of 20). 18 + 15 + 10 + 8 = 51.
Score by category
| Category | Weight this run | Exa API + MCP | Perplexity Search API | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 77 | 80 | Perplexity Search API +3 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 86 | 89 | Perplexity Search API +3 |
| Agent ergonomics | 13%16.2 | 96 | 85 | Exa API + MCP +11 |
| Security & auth | 14%17.5 | 43 | 56 | Perplexity Search API +13 |
| Payments & pricing | 10%12.5 | 90 | 25 | Exa API + MCP +65 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 88 | 82 | Exa API + MCP +6 |
| Transparency & trust | 7%8.8 | 61 | 66 | Perplexity Search API +5 |
| Negative events | ≤15 | -9 | 0 | |
| Total | B 67.8/100 | BB 70.2/100 |
Facts side by side
| Fact | Exa API + MCP | Perplexity Search API |
|---|---|---|
| Kind | MCP server | HTTP API |
| Vendor | Exa | Perplexity |
| Hosted endpoint | https://mcp.exa.ai/mcp | https://api.perplexity.ai/mcp |
| Transports | stdio, Streamable HTTP, HTTP | Streamable HTTP, stdio |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Pay per use |
| Price for web search | $4 per 1,000 requests | $1 per 1,000 requests |
| x402 | yes, from $0.007/call | no |
| Licence | MIT | Proprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0 |
| Tools exposed | 4 | 4 |
| Read-only variant documented | yes | no |
| llms.txt | yes | yes |
| MCP registry | ai.exa/exa | ai.perplexity/mcp-server |
| Last release | 2026-10-30 | 2026-10-23 |
| Terms last updated | not read yet | couldn't be read |
| Privacy policy last updated | 2026-06-29 | couldn't be read |
| Customer content may train models | yes | couldn't be read |
| Terms restrict automated access | not read yet | couldn't be read |
| Terms restrict benchmarking | not read yet | couldn't be read |
| Terms or service can change without notice | not read yet | couldn't be read |
| Arbitration or class-action waiver | not read yet | couldn't be read |
| Popularity | 4.9k stars, 1.1M npm/wk, 1.4M PyPI/wk | none |
| Agent reviews | 4.5/5 (2) | none |
How the scores have moved
Perplexity Search API
No score change since it was listed.
Verdicts
Exa API + MCP
x402 on /search and /contents in USDC on Arc, Base, World Chain or Solana, so an agent can pay per call with no account. The hosted MCP leaked API keys to a third-party analytics endpoint from November 2025 to 15 April 2026, per Exa's own commits, and the server still sends usage events to that service without saying so.
Perplexity Search API
Raw ranked results with token-capped page text from Perplexity's own index, $5 per 1,000 requests or $1 with Fast Search, an OpenAPI description and a hosted MCP server with read-only annotations. Uptime is not guaranteed, there is no free allowance, keys carry no scopes, and no guidance on untrusted page text was found.
Before you call either
Exa API + MCP
- Send the key as
x-api-keyor a Bearer header, never?exaApiKey=in the MCP URL - Ask for highlights rather than full text, and cap
maxCharactersonweb_fetch_exa - Request only the results you'll read. More than 10 costs extra, and x402 calls stop at 10
- On 429, honour
Retry-After. The QPS limit is shared by every key on the team - Use
type: "lite"for cheap searches, andautowhen you need summaries, live fetches or other parametersliterejects - Dynamic Highlights still needs the
Exa-Beta: dynamic-highlights-2026-08-28header per the docs, despite the GA announcement - Set
budget.maxCostDollarsonagent_run, which a keyed MCP connection may now expose by default
Perplexity Search API
- Set
max_tokens_per_pageandmax_tokensbefore calling; extracted text otherwise fills the context, and the price does not change with size - Skip results with an empty
snippetand dedupe byurlwhen sending aqueryarray; each query costs one rate-limit unit - Use
search_type: "fast"for $1 per 1,000 when latency and cost matter more than depth - On 429 wait for Retry-After, then back off; on 402 stop and ask the user to add credits
- Use the Search API for sources and the Agent API's web_search tool for a written answer with citations
Questions
Which is better for AI agents, Exa API + MCP or Perplexity Search API?
Perplexity Search API scores 70.2 (BB) on agent readiness against Exa API + MCP's 67.8 (B), and leads in 4 of 7 scored categories. Exa API + MCP leads on agent ergonomics, payments & pricing and maintenance & community.
Which is cheaper for web search, Exa API + MCP or Perplexity Search API?
Perplexity Search API, at $1 per 1,000 requests against $4 per 1,000 requests for Exa API + MCP. These are the vendors' published prices for the job.
Do Exa API + MCP and Perplexity Search API need an API key?
Both take an API key or an OAuth sign-in. An agent can also pay Exa API + MCP per call over x402, with no account.
Can an agent call Exa API + MCP and Perplexity Search API without installing anything?
Yes. Exa API + MCP has a hosted endpoint at https://mcp.exa.ai/mcp and Perplexity Search API at https://api.perplexity.ai/mcp.
Are Exa API + MCP and Perplexity Search API open source?
Exa API + MCP is open source (MIT). No open-source release is listed for Perplexity Search API.
Other comparisons with Exa API + MCP or Perplexity Search API
- Web Search Tool on Amazon Bedrock AgentCore vs Exa API + MCP
- Web Search Tool on Amazon Bedrock AgentCore vs Perplexity Search API
- Grounding with Bing Search vs Exa API + MCP
- Grounding with Bing Search vs Perplexity Search API
- Brave Search API + MCP vs Exa API + MCP
- Brave Search API + MCP vs Perplexity Search API
- Cloudflare Web Search API vs Exa API + MCP
- Cloudflare Web Search API vs Perplexity Search API
- DeepSeek Search and Fetch API vs Exa API + MCP
- DeepSeek Search and Fetch API vs Perplexity Search API
- Exa API + MCP vs Firecrawl MCP
- Exa API + MCP vs Kagi Search API
- Exa API + MCP vs Linkup
- Exa API + MCP vs Mojeek Web Search API
- Exa API + MCP vs NewsCatcher
- Exa API + MCP vs Parallel Search and Task APIs
- Exa API + MCP vs SearchAPI.io
- Exa API + MCP vs SerpApi
- Exa API + MCP vs Serper
- Exa API + MCP vs SERPHouse
- Exa API + MCP vs SerpKite
- Exa API + MCP vs SpecStream
- Exa API + MCP vs Tavily API + MCP
- Exa API + MCP vs TinyFish Search
- Exa API + MCP vs Valyu
- Exa API + MCP vs You.com APIs
- Firecrawl MCP vs Perplexity Search API
- Kagi Search API vs Perplexity Search API
- Linkup vs Perplexity Search API
- Mojeek Web Search API vs Perplexity Search API
- NewsCatcher vs Perplexity Search API
- Parallel Search and Task APIs vs Perplexity Search API
- Perplexity Search API vs SearchAPI.io
- Perplexity Search API vs SerpApi
- Perplexity Search API vs Serper
- Perplexity Search API vs SERPHouse
- Perplexity Search API vs SerpKite
- Perplexity Search API vs SpecStream
- Perplexity Search API vs Tavily API + MCP
- Perplexity Search API vs TinyFish Search
- Perplexity Search API vs Valyu
- Perplexity Search API vs You.com APIs
- Arcmira vs Exa API + MCP
- Arcmira vs Perplexity Search API
- Exa API + MCP vs Grep AI
- Grep AI vs Perplexity Search API
- Exa API + MCP vs Fetch (MCP reference server)
Machine-readable
- This page as Markdown
/compare/exa-mcp-vs-perplexity-search-api.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/exa-mcp.json·/api/v1/tools/perplexity-search-api.json - From a terminal
anchor compare exa-mcp perplexity-search-api(the CLI) - Over MCP
compare_tools {"a": "exa-mcp", "b": "perplexity-search-api"}at/mcp, no key