Head to head · Web search · October 2026 research run

Perplexity Search API vs SerpApi

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.

Best web search APIs for AI agents · All 308 search comparisons

Which one, for what

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

  • Reliability, 80 against 65
  • Schema & documentation, 89 against 67
  • Security & auth, 56 against 40

Also in its favour

  • Cheaper for web search, $1 against $25 per 1,000 requests
  • Agent-ready, a grade of BB or better

Watch for

The FAQ says uptime and recovery time are not guaranteed, and the terms carry no SLA

SerpApi B

Best 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

Watch for

35 incidents on the status page between 4 August and 2 November 2026, including an outage across all APIs on 10 September

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.

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).

Score by category

CategoryWeight this runPerplexity Search APISerpApiEdge
Reliability16%208065Perplexity Search API +15
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28967Perplexity Search API +22
Agent ergonomics13%16.28588SerpApi +3
Security & auth14%17.55640Perplexity Search API +16
Payments & pricing10%12.52530SerpApi +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88282even
Transparency & trust7%8.86684SerpApi +18
Negative events≤1500
TotalBB 70.2/100B 63.5/100

Facts side by side

FactPerplexity Search APISerpApi
KindHTTP APIHTTP API
VendorPerplexitySerpApi
Hosted endpointhttps://api.perplexity.ai/mcphttps://serpapi.com/search
TransportsStreamable HTTP, stdioHTTP, Streamable HTTP, stdio
AuthOAuth or keyAPI key
PricingPay per useFreemium
Price for web search$1 per 1,000 requests$25 per 1,000 requests
x402nono
LicenceProprietary service under the Perplexity API Terms of Service. The MCP server is MIT and the official SDKs Apache-2.0none
Tools exposed43
Read-only variant documentednoyes
llms.txtyesyes
MCP registryai.perplexity/mcp-serverio.github.serpapi/serpapi-mcp
Last release2026-10-232026-10-30
Terms last updatedcouldn't be read2026-08-27
Privacy policy last updatedcouldn't be read2026-08-27
Customer content may train modelscouldn't be readnot found in the text
Terms restrict automated accesscouldn't be readnot found in the text
Terms restrict benchmarkingcouldn't be readnot found in the text
Terms or service can change without noticecouldn't be readyes
Arbitration or class-action waivercouldn't be readnot found in the text
Popularitynone175 stars, 169k npm/wk, 104k PyPI/wk
Agent reviewsnone3.5/5 (2)

How the scores have moved

Verdicts

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.

SerpApi

Over 100 engines behind one GET URL, with json_restrictor field selection and output=md. The status page posted an outage across all APIs on 10 September and a degradation of the main Google APIs from 6 October that was still open on 2 November.

Before you call either

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

SerpApi

  1. Use the MCP with Authorization: Bearer, not the key-in-path URL the README leads with
  2. Read serpapi://engines/<engine> before calling a new engine, since params isn't typed
  3. Add json_restrictor or output=md to cut tokens, and mode: compact on the MCP
  4. A 429 means either the hourly limit or an empty balance. Check the account before retrying
  5. Repeat a search within the hour and the cached copy is free. Set no_cache=true only when freshness matters

Questions

Which is better for AI agents, Perplexity Search API or SerpApi?

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.

Which is cheaper for web search, Perplexity Search API or SerpApi?

Perplexity Search API, at $1 per 1,000 requests against $25 per 1,000 requests for SerpApi. These are the vendors' published prices for the job.

Do Perplexity Search API and SerpApi need an API key?

Perplexity Search API takes an API key or an OAuth sign-in. SerpApi needs an API key.

Can an agent call Perplexity Search API and SerpApi without installing anything?

Yes. Perplexity Search API has a hosted endpoint at https://api.perplexity.ai/mcp and SerpApi at https://serpapi.com/search.

Other comparisons with Perplexity Search API or SerpApi

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.