# SerpApi vs SpecStream (slim)

> SpecStream and SerpApi score within a point of each other for web search, 64.4 and 63.5 out of 100. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/serpapi-vs-specstream.md (~6,000 tokens) · this version ~3,930 tokens · JSON https://www.anchorterminal.com/compare/serpapi-vs-specstream.json · canonical https://www.anchorterminal.com/compare/serpapi-vs-specstream
- 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-03
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

SpecStream and SerpApi score within a point of each other on agent readiness, 64.4 (B) and 63.5 (B). SerpApi leads on reliability, agent ergonomics and transparency & trust. Both do web search. SpecStream accepts x402. SerpApi doesn't.

- SerpApi: B 63.5, rank #426 of 1272 · https://www.anchorterminal.com/tools/serpapi.min.md
- SpecStream: B 64.4, rank #399 of 1272 · https://www.anchorterminal.com/tools/specstream.min.md
- 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 Reliability, 65 against 23; Agent ergonomics, 88 against 65; Transparency & trust, 84 against 66. Also Runs on your own machine.
- SpecStream, good for Agents that need a list of companies, places, grants, tenders, papers or packages matching stated conditions, with a source page on every value and a price approved before anything runs, and teams that want the same list rechecked on a schedule and sent to a sheet or CRM. Ahead on Schema & documentation, 80 against 67; Security & auth, 73 against 40; Payments & pricing, 85 against 30. Also An agent can pay per call over x402, with no account; Free to start without a card.

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

| Fact (where they differ) | SerpApi | SpecStream |
| --- | --- | --- |
| Kind | HTTP API | Platform |
| Vendor | SerpApi | SpecStream SAS |
| Hosted endpoint | `https://serpapi.com/search` | `https://api.specstream.ai/mcp` |
| Transports | HTTP, Streamable HTTP, stdio | Streamable HTTP, HTTP |
| Auth | API key | OAuth or key |
| Pricing | Freemium | Pay per use |
| Price for web search | $25 per 1,000 requests | not published |
| x402 | no | yes |
| Licence | none | Proprietary hosted service under SpecStream SAS's terms of use (updated 3 November 2026, French law). The client code in specstream/specstream-tools (SDKs, the stdio bridge, framework packages, plugins, skills and integrations) is MIT, copyright SpecStream SAS |
| Tools exposed | 3 | 128 |
| Read-only variant documented | yes | no |
| MCP registry | `io.github.serpapi/serpapi-mcp` | `ai.specstream/specstream` |
| Last release | 2026-10-30 | 2026-11-03 |
| Terms last updated | 2026-08-27 | not read yet |
| Privacy policy last updated | 2026-08-27 | not read yet |
| Customer content may train models | not found in the text | not read yet |
| Terms restrict automated access | not found in the text | not read yet |
| Terms restrict benchmarking | not found in the text | not read yet |
| Terms or service can change without notice | yes | not read yet |
| Arbitration or class-action waiver | not found in the text | not read yet |
| Popularity | 175 stars, 169k npm/wk, 104k PyPI/wk | none |
| Agent reviews | 3.5/5 (2) | none |

Why the edge:
- Payments & pricing, SpecStream +55: 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).); SpecStream 85 (x402 v2 (USDC on Base, Arbitrum or Polygon, Permit2 `upto` for the quoted maximum, settled for the results cost) and MPP by card on SpecStream's own `POST /v1/agent/lists`, the route for buying a list of 1 to 500 results without an account; enrichment of imported lists, refreshes, monitors and investigations need an account, and the route was read in the docs and not exercised because api.specstream.ai's robots.txt could not be read, so partial (25). Per-result prices published without a login, 5, 15 or 100 cents a result, 5 cents an email, 15 cents a phone, rechecks at half rate or 1 cent (20). $10 of work for 30 days with no card (20). An agent can buy a list over x402 or MPP with no account, and the A2A endpoint prices a request without a key (20). 25+20+20+20 = 85.)
- Reliability, SerpApi +42: 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.); SpecStream 23 (Hosted reading, for the MCP server and REST API on api.specstream.ai. No public status page was found. None is linked from the site, llms.txt or the docs, llms-full.txt mentions none, and https://specstream.ai/status returned an error (0). No readable incident history, so the floor (5). No rate limit with numbers is published in the docs, llms.txt, llms-full.txt or the part of the OpenAPI file read; the privacy policy and DPA mention rate limiting without figures, and the published limits are per job (10,000 results a request, four-hour runs, 20,000 imported rows) (0). Nothing documents 429, Retry-After or backoff, but paid work requires an `idempotency_key` on `authorize_capacity_work` and `POST /v1/capacity/executions`, `GET /v1/capacity/requests/{request_key}` recovers the original find after an uncertain response, and the skills say never to quote again to recover a lost reply (8 of 15). No SLA on any plan, and the terms say 'We do not promise uninterrupted access' (0). No beta or preview label on the API, the MCP server or the SDKs, which PyPI classifies as production and stable at 1.2 (10). 0+5+0+8+0+10 = 23.)
- Security & auth, SpecStream +33: 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).); SpecStream 73 (API keys `ss_live_...` shown once, with eight scopes, an optional project, an expiry of 1 to 365 days (default 90) and a spending ceiling, revoked singly; OAuth for MCP clients with client ID metadata documents or dynamic registration and read, prepare or execute access, with registered clients listed and revoked in settings; no secret in a query string documented. The authorisation server metadata on api.specstream.ai was not read and rotation is not described beyond expiry (28 of 30). Read, prepare and execute levels, only `finds:spend` or execute access starts paid work, every purchase needs an approved `confirm_max_cents` and delegated access has per-run and monthly limits; `create_api_key`, `delegate_access` and `request_account_deletion` are on the MCP surface marked destructive, and which scope guards account deletion is not documented (18 of 20). The home page says pages read are treated as data, never as instructions, and the Grok plugin's rules tell the agent to treat rows as untrusted; the docs, tool descriptions and four skills say nothing on it (6 of 15). A 12-month audit log of sign-ins, keys, delegated access, spending, exports, monitors and imports, readable through `list_audit_events`, plus per-find decisions, lineage and a source on every value; export of the audit log is Enterprise-only on the pricing page while the account docs describe a CSV export (13 of 15). security.txt is valid until October 2027 with support@specstream.ai, and SECURITY.md adds GitHub private vulnerability reporting; no SOC 2, ISO 27001 or bug bounty, and the DPA promises breach notice within 48 hours (8 of 20). 28+18+6+13+8 = 73.)
- Agent ergonomics, SerpApi +23: SerpApi 88 (`json_restrictor` selects fields, `output=md` returns Markdown (the MCP README claims 50 per cent fewer tokens on average) and the MCP `compact` mode drops metadata. One core MCP tool plus two opt-in UI tools (22). `start`, `num`, location, language and engine-specific filters, plus `async` with the Search Archive API (20). Documented status codes and `search_metadata.status` values, though one 429 covers both the hourly limit and an empty balance (14). Searches are read-only, failed and cached searches aren't billed, and the MCP tool sets readOnlyHint true and destructiveHint false (18). Only `q` is required for most engines. llms.txt lists libraries in 11 languages, though the JavaScript one hasn't had a release since July 2025 (14).); SpecStream 65 (MCP reading. 128 tools at about 143,700 characters of names, descriptions and schemas (more than 30, 5), with no server-side toolsets or dynamic loading; the framework packages for LangChain, LlamaIndex, CrewAI and the Vercel AI SDK and the Open WebUI tool expose two to four tools with the price cap held in code, and results default to short evidence (5 back, 10 of 25). Cursor and `limit` on rows, search, specs and revisits, `evidence` short or full, filters by area and by field on collections, and unconfirmed candidates kept in a separate list (18 of 20). An `ErrorEnvelope` on every operation and an SDK error class that exposes `code` and `details`, but no published code list, meanings or retry rules (6 of 20). Required idempotency keys on paid work, schedules and refund claims with a recovery route, `expected_version` on updates, stable event ids on webhook retries, and readOnlyHint on 72 tools and destructiveHint on 29, with no idempotentHint (18 of 20). `compile` needs only `q`, a quote needs only `ast_hash` with 25 results by default, and official SDKs in Python and TypeScript with a CLI, though one purchase takes three calls with a hash carried between them (13 of 15). 10+18+6+18+13 = 65.)
- Transparency & trust, SerpApi +18: 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).); SpecStream 66 (Closed hosted service under terms of 3 November 2026 naming SpecStream SAS, French law and a liability cap of the greater of 12 months' fees or 100 euros; the client code is MIT (20 of 30). The privacy policy and DPA agree with each other and the about page on EU hosting, no training on customer requests, lists or results, and a retention table (server logs 30 days, backups 8 days, page copies 24 hours, run working copies 7 days, audit log 12 months, support 3 years, accounts until deleted, erased from backups within 8 days of deletion), with breach notice in 48 hours and audit rights; the pricing page and the account docs disagree on who can export the audit log (27 of 30). No API deprecation policy; the changelog dates a price cut of 26 October 2026 that kept approved quotes at their old prices, the terms promise notice of material changes and keep historical quotes on their terms, and the DPA gives 30 days' notice of a new subprocessor (8 of 20). Subprocessors are listed by category with locations and transfer safeguards, hosting on IBM Cloud in Madrid is named in the legal notice, and names are available only on request (12 of 20). 20+27+8+12 = 67.)
- Schema & documentation, SpecStream +13: 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).); SpecStream 80 (MCP reading, with the REST API described. The tool list shipped in specstream-mcp-stdio 1.2.3 gives every one of the 128 tools a typed JSON Schema input (357 of 358 properties typed, `additionalProperties: false` on all but two objects), and an OpenAPI 3.1 file at https://specstream.ai/openapi.json lists at least 121 paths with cursor and limit parameters; several capacity and investigation responses are untyped objects, and our reader stopped at about 104,000 characters before the components, so request bodies and `ErrorEnvelope` were not read (22 of 25). llms.txt, llms-full.txt and a Markdown twin of every page, also served for `Accept: text/markdown` (10). Each tool has a title and a description of what it does and whether it charges ('Nothing runs and nothing is charged'), and the skills set the order of calls and where to stop and ask, but no description says when not to use a tool or names a better one (13 of 20). 13 enums (operations, evidence level, key scopes), 264 bounds and patterns such as 64-hex hashes, `requested_units` 1 to 10,000 and `limit` up to 100, and required lists on every tool (14 of 15). curl, Python and TypeScript examples, worked scripts in the repository and a sample run on the home page, but no documented error codes or error examples (6 of 15). A dated changelog of 48 entries from 30 September to 26 October 2026, `/v1` paths, a named API version and tagged releases (15). 22+10+13+14+6+15 = 80.)
