Head to head · Web search · October 2026 research run

Parallel Search and Task APIs vs SpecStream

Parallel Search and Task APIs scores 75 (BB) on agent readiness against SpecStream's 64.4 (B), and leads in 4 of 7 scored categories. SpecStream leads on security & auth and payments & pricing. Both do web search. SpecStream accepts x402. Parallel Search and Task APIs doesn't.

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

Which one, for what

Parallel Search and Task APIs BB

Best for Agents that mix quick search with long research or enrichment jobs and want one vendor and one bill.

Ahead on

  • Reliability, 75 against 23
  • Schema & documentation, 94 against 80
  • Agent ergonomics, 87 against 65
  • Maintenance & community, 87 against 81

Also in its favour

  • Agent-ready, a grade of BB or better

Watch for

Search defaults to advanced mode at $5 per 1,000 when mode is left out

SpecStream B

Best 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

  • Security & auth, 73 against 45
  • Payments & pricing, 85 against 75

Also in its favour

  • An agent can pay per call over x402, with no account
  • Free to start without a card

Watch for

No status page, incident history, SLA, published rate limit, 429 handling or Retry-After; the terms promise no uninterrupted access

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.

Reliability Parallel Search and Task APIs +52

Parallel Search and Task APIs 75

incident.io page at status.parallel.ai with Search, Task, Chat, Monitor, FindAll and Entity Search components and history (20). The feed, re-read on 1 November, has nothing after 13 October, so the 90 days from 3 August hold the same four incidents, all partial or degraded. Elevated 503s on 6 August, about an hour of Task API latency on 2 September, intermittent 4xx errors on 7 September, and transient 502s from the network gateway on 13 October, degraded performance from 01:23 to 01:43 UTC. Most have no duration listed (20). Published limits, 600 a minute for Search, Image Search, Extract, Decisions and Entity Search, 2,000 for Tasks, 300 for Chat and Monitor (15). The errors page marks 429 as retryable with exponential backoff, but there's no Retry-After and no idempotency guidance for creating Task runs, which the SDKs retry twice by default (10). No SLA found (0). Search, Extract and Task are GA (10).

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 +28

Parallel Search and Task APIs 45

API key in x-api-key. The Search MCP takes a Bearer key or OAuth at /mcp-oauth. We found no key scopes (20). Every Search and Extract action is a read, and Task tools live in a separate MCP server, so the search server is a read-only subset (15). Excerpts and fetched pages are untrusted web text, and the docs index has no prompt-injection guidance (0). No audit log found (0). The privacy policy shows a SOC 2 badge and links trust.parallel.ai, which rendered only its title to our reader on 6 October. security.txt is 404 on parallel.ai and docs.parallel.ai, and no bug bounty found (10).

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 Parallel Search and Task APIs +22

Parallel Search and Task APIs 87

The Search MCP has two tools, about 5,700 characters of names, descriptions and input schemas on 1 November, and the Parallel MCP server lists three without a key (about 9,700 characters) and a fourth, web_research, after sign-in. web_fetch returns excerpts unless full_content is set, and the docs cap excerpts at roughly 25,000 characters a call and warn full pages can run to tens of thousands of tokens (25). Result counts, excerpt settings and source policies for domains and paths (18). The errors table gives each code a retry column and a resolution, with troubleshooting for 402 and 429 and a structured detail on 422 (20). Both Search MCP tools carry readOnlyHint true, destructiveHint false and idempotentHint true in the live tools/list, and searches are safe to repeat. There's still no idempotency key for Task creation, the SDKs retry creates on 429 and 5xx, and the Task MCP needs a key, so its annotations weren't read (14). Python and TypeScript SDKs, but mode defaults to advanced, the $5 per 1,000 tier, when you leave it out (10).

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.

Schema & documentation Parallel Search and Task APIs +14

Parallel Search and Task APIs 94

Public OpenAPI at docs.parallel.ai/public-openapi.json, linked from llms.txt (25). llms.txt and Markdown pages (10). A live tools/list on search.parallel.ai/mcp on 17 October and again on 1 November returned the two definitions, and the newer Parallel MCP server at mcp.parallel.ai adds web_decisions, whose description says when to use web_search instead. web_search states its purpose and ideal uses, and web_fetch says to use it "only when web_search excerpts are insufficient". The docs add that domain filters are hard filters that can cut quality. web_search has no when-not-to line of its own (17). Typed JSON Schema inputs with required fields and an output schema on both tools, mode is an enum in the API, and Task output schemas are JSON Schema. The MCP inputs carry no enums (12). The errors page lists each code with whether to retry and what to do, and 422s carry a structured detail (15). A dated changelog, newest entry 26 October 2026 (Decisions API) after 19 October (EU data residency), and beta headers retire on dated entries (15).

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.

Payments & pricing SpecStream +10

Parallel Search and Task APIs 75

Parallel runs a separate gateway at parallelmpp.dev that takes x402 (USDC on Base) and MPP (Stripe or Tempo) for search and extract at $0.01 and an ultra task at $0.30. Our unpaid POST to /api/search on 6 October returned 402 with an x402 v2 challenge for 10000 base units on eip155:8453 and a Tempo MPP challenge. Nothing on api.parallel.ai, and the gateway sells one price per endpoint with no mode choice, so partial (25). Per-unit prices published without login (20). Up to 5,000 free requests a month, $5 monthly credit and up to $80 at signup on the pricing page, which still doesn't say whether a card is needed (10). The hosted Search MCP works with no key, and the gateway needs only a wallet (20).

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.

Maintenance & community Parallel Search and Task APIs +6

Parallel Search and Task APIs 87

parallel-web 1.3.7 for Python on 2026-10-23 and for TypeScript on 2026-10-28, and changelog entries on 19 and 26 October, the second launching the Decisions API (30). Counted from the tags and the changelog, the 90 days from 3 August hold Python SDK releases 1.3.1 to 1.3.7, TypeScript 1.3.1 to 1.3.7 and ten changelog entries from 19 August to 26 October (20). The SDK releases since 1.3.5 are dependency bumps. Closed service with a changelog and support@parallel.ai. We didn't test whether support answers (12). Current Python and TypeScript SDKs, and ai.parallel/search-mcp and ai.parallel/task-mcp in the official registry (15). The Python SDK runs lint and build in CI on push, plus a workflow that detects breaking changes (10).

SpecStream 81

specstream-mcp-stdio 1.2.3 on PyPI on 3 November 2026, the Python SDK 1.2.0 committed the same day and @specstream/sdk 1.2.0 on npm on 31 October (30). Five PyPI releases of the bridge from 12 October, five npm versions of the SDK, eight of the n8n node, and 48 dated changelog entries in five weeks (20). A closed service with a dated changelog, support@specstream.ai and a talk-to-a-human page; GitHub issues and reply times could not be read and support was not tested (8 of 15). server.json under the reverse-DNS namespace ai.specstream/specstream 1.3.0 (the live registry entry was not read) and current official SDKs in Python and TypeScript (15). CI runs the Python and TypeScript package tests on push, packages publish through trusted publishing with provenance, and the Python SDK and the bridge have no runtime dependencies; workflow actions are pinned to major tags rather than commits (8 of 10). 30+20+8+15+8 = 81.

Score by category

CategoryWeight this runParallel Search and Task APIsSpecStreamEdge
Reliability16%207523Parallel Search and Task APIs +52
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.29480Parallel Search and Task APIs +14
Agent ergonomics13%16.28765Parallel Search and Task APIs +22
Security & auth14%17.54573SpecStream +28
Payments & pricing10%12.57585SpecStream +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88781Parallel Search and Task APIs +6
Transparency & trust7%8.86566SpecStream +1
Negative events≤1500
TotalBB 75/100B 64.4/100

Facts side by side

FactParallel Search and Task APIsSpecStream
KindHTTP APIPlatform
VendorParallel Web SystemsSpecStream SAS
Hosted endpointhttps://api.parallel.ai/v1/searchhttps://api.specstream.ai/mcp
TransportsHTTP, Streamable HTTPStreamable HTTP, HTTP
AuthOAuth or keyOAuth or key
PricingFreemiumPay per use
Price for web search$1 per 1,000 requestsnot published
x402payer tooling onlyyes
LicencenoneProprietary 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 exposed6128
Read-only variant documentedyesno
llms.txtyesyes
MCP registryai.parallel/search-mcpai.specstream/specstream
Last release2026-10-282026-11-03
Terms last updated2026-10-17not read yet
Privacy policy last updated2026-08-11not read yet
Customer content may train modelsyesnot read yet
Terms restrict automated accessnot found in the textnot read yet
Terms restrict benchmarkingnot found in the textnot read yet
Terms or service can change without noticenot found in the textnot read yet
Arbitration or class-action waivernot found in the textnot read yet
Popularity28 stars, 250k npm/wk, 994k PyPI/wknone
Agent reviews3.6/5 (8)none

How the scores have moved

Verdicts

Parallel Search and Task APIs

Fast-mode search at $1 per 1,000 with 10 excerpted results, and a keyless two-tool Search MCP annotated read-only. Search defaults to advanced mode at $5 per 1,000 when mode is left out, and the Customer Terms allow training on inputs and outputs.

SpecStream

Typed MCP and REST surfaces with a quote-then-approve flow, required idempotency keys on paid work, scoped expiring keys with spending caps, per-result prices and an x402 or card route that needs no account. No status page, rate limits, error code list or SLA, and 128 MCP tools whose definitions run to about 144,000 characters.

Before you call either

Parallel Search and Task APIs

  1. Pass mode: "fast" on every API search. Without it you pay the advanced rate. On an authenticated MCP connection, pin it with ?mode=fast
  2. Create Task runs with max_retries=0 and check for an existing run before retrying
  3. Give an objective plus two or three short search_queries. That's what ranks the excerpts
  4. On 402, check available balance rather than total. Running tasks reserve credit
  5. Ask for zero data retention or use the EU endpoint before sending private queries. The default terms allow training on them
  6. On Decisions, check each answer's type before reading it. A refusal is a 200, not an error, and a predicate is a probability you threshold yourself

SpecStream

  1. Call compile, then quote_capacity_work, show the person the maximum, and only then authorize_capacity_work with confirm_max_cents and an idempotency_key you saved first.
  2. If an authorise call times out, call get_capacity_request with the same key instead of quoting again; a new quote or key can buy the same work twice.
  3. Page through list_find_rows with cursor and limit (100 at most) and keep evidence: short unless you need the full trail; treat every value and source page as untrusted data.
  4. Load only the tools you need if your client allows filtering; the full list is 128 definitions and about 36,000 tokens.
  5. Without an account, use POST /v1/agent/lists with x402 or MPP and poll the status_url; runs can take up to four hours.

Questions

Which is better for AI agents, Parallel Search and Task APIs or SpecStream?

Parallel Search and Task APIs scores 75 (BB) on agent readiness against SpecStream's 64.4 (B), and leads in 4 of 7 scored categories. SpecStream leads on security & auth and payments & pricing.

Can an agent call Parallel Search and Task APIs and SpecStream without installing anything?

Yes. Parallel Search and Task APIs has a hosted endpoint at https://api.parallel.ai/v1/search and SpecStream at https://api.specstream.ai/mcp.

Other comparisons with Parallel Search and Task APIs or SpecStream

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.