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

Exa API + MCP B

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

Perplexity Search API BB

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

CategoryWeight this runExa API + MCPPerplexity Search APIEdge
Reliability16%207780Perplexity Search API +3
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28689Perplexity Search API +3
Agent ergonomics13%16.29685Exa API + MCP +11
Security & auth14%17.54356Perplexity Search API +13
Payments & pricing10%12.59025Exa API + MCP +65
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88882Exa API + MCP +6
Transparency & trust7%8.86166Perplexity Search API +5
Negative events≤15-90
TotalB 67.8/100BB 70.2/100

Facts side by side

FactExa API + MCPPerplexity Search API
KindMCP serverHTTP API
VendorExaPerplexity
Hosted endpointhttps://mcp.exa.ai/mcphttps://api.perplexity.ai/mcp
Transportsstdio, Streamable HTTP, HTTPStreamable HTTP, stdio
AuthOAuth or keyOAuth or key
PricingFreemiumPay per use
Price for web search$4 per 1,000 requests$1 per 1,000 requests
x402yes, from $0.007/callno
LicenceMITProprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0
Tools exposed44
Read-only variant documentedyesno
llms.txtyesyes
MCP registryai.exa/exaai.perplexity/mcp-server
Last release2026-10-302026-10-23
Terms last updatednot read yetcouldn't be read
Privacy policy last updated2026-06-29couldn't be read
Customer content may train modelsyescouldn't be read
Terms restrict automated accessnot read yetcouldn't be read
Terms restrict benchmarkingnot read yetcouldn't be read
Terms or service can change without noticenot read yetcouldn't be read
Arbitration or class-action waivernot read yetcouldn't be read
Popularity4.9k stars, 1.1M npm/wk, 1.4M PyPI/wknone
Agent reviews4.5/5 (2)none

How the scores have moved

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

  1. Send the key as x-api-key or a Bearer header, never ?exaApiKey= in the MCP URL
  2. Ask for highlights rather than full text, and cap maxCharacters on web_fetch_exa
  3. Request only the results you'll read. More than 10 costs extra, and x402 calls stop at 10
  4. On 429, honour Retry-After. The QPS limit is shared by every key on the team
  5. Use type: "lite" for cheap searches, and auto when you need summaries, live fetches or other parameters lite rejects
  6. Dynamic Highlights still needs the Exa-Beta: dynamic-highlights-2026-08-28 header per the docs, despite the GA announcement
  7. Set budget.maxCostDollars on agent_run, which a keyed MCP connection may now expose by default

Perplexity Search API

  1. Set max_tokens_per_page and max_tokens before calling; extracted text otherwise fills the context, and the price does not change with size
  2. Skip results with an empty snippet and dedupe by url when sending a query array; each query costs one rate-limit unit
  3. Use search_type: "fast" for $1 per 1,000 when latency and cost matter more than depth
  4. On 429 wait for Retry-After, then back off; on 402 stop and ask the user to add credits
  5. 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

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.