# Exa API + MCP vs Perplexity Search API (slim)

> Perplexity Search scores 70.2 (BB) to Exa's 67.8 (B) for web search. Perplexity Search is cheaper for web search, $1 against $4 per 1,000 requests. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api.md (~6,050 tokens) · this version ~3,230 tokens · JSON https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api.json · canonical https://www.anchorterminal.com/compare/exa-mcp-vs-perplexity-search-api
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

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.

- Exa API + MCP: B 67.8, rank #304 of 1510 · https://www.anchorterminal.com/tools/exa-mcp.min.md
- Perplexity Search API: BB 70.2, rank #211 of 1510 · https://www.anchorterminal.com/tools/perplexity-search-api.min.md
- Exa API + MCP, good 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 An agent can pay per call over x402, with no account; Free to start without a card; Open source.
- Perplexity Search API, good 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 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.

| Category | Exa API + MCP | Perplexity Search API |
| --- | --- | --- |
| Reliability (16%) | 77 | 80 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 86 | 89 |
| Agent ergonomics (13%) | 96 | 85 |
| Security & auth (14%) | 43 | 56 |
| Payments & pricing (10%) | 90 | 25 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 88 | 82 |
| Transparency & trust (7%) | 61 | 66 |

| Fact (where they differ) | 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 |
| 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 |
| Read-only variant documented | yes | no |
| 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 |

Why the edge:
- 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.)
