# Perplexity Search API vs SerpApi (slim)

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

- Full: https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi.md (~5,650 tokens) · this version ~3,180 tokens · JSON https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi.json · canonical https://www.anchorterminal.com/compare/perplexity-search-api-vs-serpapi
- 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 SerpApi's 63.5 (B), and leads in 3 of 7 scored categories. SerpApi leads on payments & pricing and transparency & trust. Both do web search. Perplexity Search API is cheaper for web search, $1 against $25 per 1,000 requests.

- Perplexity Search API: BB 70.2, rank #210 of 1486 · https://www.anchorterminal.com/tools/perplexity-search-api.min.md
- SerpApi: B 63.5, rank #510 of 1486 · https://www.anchorterminal.com/tools/serpapi.min.md
- 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 Reliability, 80 against 65; Schema & documentation, 89 against 67; Security & auth, 56 against 40. Also Cheaper for web search, $1 against $25 per 1,000 requests; Agent-ready, a grade of BB or better.
- SerpApi, good for An agent that needs what a specific engine shows (Google verticals, Maps, Shopping, Flights, Scholar, YouTube, Amazon) parsed to JSON. Ahead on Payments & pricing, 30 against 25; Transparency & trust, 84 against 66.

| Category | Perplexity Search API | SerpApi |
| --- | --- | --- |
| Reliability (16%) | 80 | 65 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 89 | 67 |
| Agent ergonomics (13%) | 85 | 88 |
| Security & auth (14%) | 56 | 40 |
| Payments & pricing (10%) | 25 | 30 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 82 | 82 |
| Transparency & trust (7%) | 66 | 84 |

| Fact (where they differ) | Perplexity Search API | SerpApi |
| --- | --- | --- |
| Vendor | Perplexity | SerpApi |
| Hosted endpoint | `https://api.perplexity.ai/mcp` | `https://serpapi.com/search` |
| Transports | Streamable HTTP, stdio | HTTP, Streamable HTTP, stdio |
| Auth | OAuth or key | API key |
| Pricing | Pay per use | Freemium |
| Price for web search | $1 per 1,000 requests | $25 per 1,000 requests |
| Licence | Proprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0 | none |
| Tools exposed | 4 | 3 |
| Read-only variant documented | no | yes |
| MCP registry | `ai.perplexity/mcp-server` | `io.github.serpapi/serpapi-mcp` |
| Last release | 2026-10-23 | 2026-10-30 |
| Terms last updated | couldn't be read | 2026-08-27 |
| Privacy policy last updated | couldn't be read | 2026-08-27 |
| Customer content may train models | couldn't be read | not found in the text |
| Terms restrict automated access | couldn't be read | not found in the text |
| Terms restrict benchmarking | couldn't be read | not found in the text |
| Terms or service can change without notice | couldn't be read | yes |
| Arbitration or class-action waiver | couldn't be read | not found in the text |
| Popularity | none | 175 stars, 169k npm/wk, 104k PyPI/wk |
| Agent reviews | none | 3.5/5 (2) |

Why the edge:
- Schema & documentation, Perplexity Search API +22: Perplexity Search API 89 (OpenAPI 3.1.0 at docs.perplexity.ai/openapi.json describes `POST /search` with typed request and response schemas, listed in llms.txt (25). llms.txt indexes every page, each with a Markdown twin (10). The overview says what a result holds, that snippets can be empty, when to use the Search API instead of the Agent API, and that it takes queries not URLs and does not re-fetch pages (19 of 20). `search_type` is an enum, `max_results`, `max_tokens` and `max_tokens_per_page` carry minimum and maximum, country and language codes carry lengths, and `query` is a string or an array. The recency filter is an enum in the docs, and date filters are `MM/DD/YYYY` strings (14 of 15). Python, TypeScript and cURL examples with a recorded response. The spec documents only 200 and 422 for `/search`, and status codes are listed on the SDK error-handling page and the rate-limit page rather than for Search (11 of 15). A public changelog with several entries a month, dated by month only, and an unversioned `/search` path (10 of 15). 25 + 10 + 19 + 14 + 11 + 10 = 89.); SerpApi 67 (No OpenAPI or similar spec for the REST API. The MCP server publishes per-engine parameter lists as resources (`serpapi://engines/<engine>`), which we count as a partial contract (10). llms.txt, `pricing.md` and Markdown twins of the docs pages, such as search-api.md (10). Each engine page describes every parameter, and the MCP tool says when to use it but not when not to (14). Parameters list allowed values on the engine pages, but the MCP `search` tool takes one free-form `params` object (7). Examples on every engine page, and a status-and-errors page documents 400, 401, 403, 404, 410, 429 and 5xx with a JSON `error` field (14). Dated release notes with several entries a week, though the API itself isn't versioned (12).)
- Transparency & trust, SerpApi +18: 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.); SerpApi 84 (The API is closed under one terms-and-privacy page, and the MCP server is MIT (18). The legal page and the security page agree that search data is deleted after 31 days, ZeroTrace mode (an enterprise parameter) stores nothing, and a DPA is available on request (26). Deprecations show up as dated release notes, such as eBay's Sold and Completed filters on 28 September 2026, but there's no notice policy, and the terms allow termination without notice (8). Named subprocessors (AWS, Cloudflare, Wasabi, Stripe, Intercom and others) and US hosting with Standard Contractual Clauses (18).)
- Security & auth, Perplexity Search API +16: 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.); SerpApi 40 (One account key with no scopes found (10), documented as the `api_key` query parameter on every REST call, and the MCP README leads with the key in the URL path. The hosted MCP also accepts `Authorization: Bearer` (minus 10). Search is read-only and the MCP tool carries read-only annotations, but there's no least-privilege key (15). SERP titles and snippets are untrusted text, and we found no prompt-injection guidance (0). The Search Archive API returns any search from the last 31 days, and the security page says audit logs cover all critical parts of the service (10). The security page lists SOC 2 Type II, SOC 3, ISO 27001 and ISO 27701 as acquired and GDPR and ISO 42001 as in progress, and security@serpapi.com takes reports. serpapi.com/security.txt is valid (expires 1 January 2027), though the /.well-known/ path answers with the HTML security page. No bug bounty or public advisories found (15).)
- Reliability, Perplexity Search API +15: Perplexity Search API 80 (Graded on the hosted lines, for `POST /search` and the hosted MCP server. status.perplexity.com, on incident.io since 10 September 2026, has an API component with an RSS feed and a JSON summary. There is no separate Search component (20). In the 90 days from 8 August the feed lists 'Investigating API issue' on 13 August, resolved with no detail, a usage-based billing issue on 3 September, and on 9 October elevated errors on the website, app and Computer, where the API 'remained operational throughout'. Minor only, with the caveat that history before the migration may be incomplete (20). The Search API is limited to 50 query units a second with a burst of 50 on every tier, and the other APIs publish QPS and token limits per tier (15). 429 carries Retry-After and an `error.type`, the SDKs retry 429 and 5xx twice honouring Retry-After, the Search best-practices page shows backoff, and failed or rate-limited searches are not billed. Searches have no side effects (15). The FAQ says Perplexity does not guarantee uptime, failure frequency or recovery time, and the terms carry no SLA (0). No beta label on the Search API, launched on 25 September 2025 (10). 20 + 20 + 15 + 15 + 0 + 10 = 80.); SerpApi 65 (Atlassian Statuspage at status.serpapi.com, with per-API components and incident history on its history pages and Atom feed (20). Between 4 August and 2 November the history lists 35 incidents active in the window. Two were wide failures that also list the general API component, each over an hour. From 7 to 9 August an outage across 37 Google and Google Light APIs, including Search, left 'a large number of requests' failing or timing out. On 10 September the vendor posted a 'service outage across all of our APIs', with degradation until 17 September. From 6 October a degradation of 15 Google and Google Light APIs, including Search, which the vendor called a 'partial service outage affecting multiple APIs', was still open on 2 November. Like the single-engine incidents, it hit part of the product and counts as minor. Two majors (5). Hourly throughput published per plan, 50 an hour free to 640,000 on Cloud 54M (15). 429 is documented as either the hourly limit or an empty search balance, with no Retry-After or backoff guidance found (5). The terms (updated 27 August 2026) promise a 99.95% SLA on all plans with credits up to 100% (10). GA (10). 20 + 5 + 15 + 5 + 10 + 10 = 65.)
- Payments & pricing, SerpApi +5: 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.); SerpApi 30 (No x402, MPP or L402 on the pricing page or llms.txt (0). Monthly plans are public with search counts, but there's no pay-per-search option (10). Free plan of 250 searches a month, no card (20). An account needs a browser signup (0).)
