serpstack compatible
Change the address, keep the JSON.
serpstack's Basic plan is $29.99 a month for 5,000 searches, and each search over the plan costs $0.023992. SpecStream answers the same GET /search in serpstack's JSON at $0.005 a search, with no plan.
The switch is one line: https://api.specstream.ai/serpstack in place of https://api.serpstack.com, and a SpecStream key as access_key. The parameters and the parser stay.
SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions, with a median of 0.82 s a search. A new account gets $10 of credit, no card.
New accounts get $10 of credit, no card. It covers 2,000 searches.
serpstack to SpecStream, parameter by parameter and field by field
| SpecStream | serpstack | |
|---|---|---|
| Address | GET https://api.specstream.ai/serpstack/search | GET https://api.serpstack.com/search |
| The key | A SpecStream key as access_key in the address | A serpstack key as access_key in the address |
| Results and dates | num, page, period (last_hour to last_year, or custom with period_start and period_end), gl, hl, safe, and type=news with sort=date | Google results as JSON or CSV, with search types |
| Each result | position, title, url, domain, displayed_url and snippet; news adds source_name, uploaded and uploaded_utc. Not returned: sitelinks, cached_page_url, related_pages_url, prerender, rich_snippet | Organic results, news results and more result types |
| Errors | serpstack's {"success": false, "error": {"code", "type", "info"}}: 401 with no key, 400 for type=images (314) or engine=bing (311). A busy call gets 429 with Retry-After and is not charged | The same error body with codes such as 104 when the monthly allowance is used |
| Price | $5 per 1,000 searches of up to 10 results, with no plan. 100 results cost $0.059 a call | Basic $29.99 a month for 5,000 searches, then $0.023992 each. Business $99.99 for 20,000, then $0.019998 each |
| Free to start | $10 of credit, no card, which covers 2,000 searches | 100 searches a month, for non-commercial use |
The serpstack reference, on SpecStream
The call, before and after
# Before
curl "https://api.serpstack.com/search?access_key=$SERPSTACK_KEY&query=mcdonalds"
# After
curl "https://api.specstream.ai/serpstack/search?access_key=$SPECSTREAM_API_KEY&query=mcdonalds"serpstack's own Python example is a plain requests.get call, so the change is the address and the key in that one line: requests.get("https://api.specstream.ai/serpstack/search", {"access_key": SPECSTREAM_KEY, "query": "mcdonalds"}).
What the route reads, and what it refuses
Read and applied: query, num, page, period (last_hour, last_day, last_week, last_month, last_year, or custom with period_start and period_end as YYYY-MM-DD), gl, hl, safe, type=news, sort=date on news, and pagination.next_page_url for the next page.
Refused, in serpstack's own error body: type=images gets 400 with code 314, engine=bing gets 311, an unknown period gets 316, and a call with no access_key gets 401. Every parameter was measured on production on Nov 10, 2026, and the full pass table lists each one and its result.
Every field that comes back
The reply has request with success, processed_timestamp and total_time_taken, search_parameters with engine, query, type, page and num, search_information with total_results, time_taken_displayed, query_displayed and no_results_for_original_query, organic_results[] or news_results[], and pagination with current_page, next_page_url and other_page_urls.
The route does not return request.search_url, search_parameters device, google_domain, hl and gl, did_you_mean, showing_results_for, detected_location, a news item's thumbnail_url, nor ads, answer_box, knowledge_graph, local_results, related_questions, related_searches, inline_images and top_stories.
One price a search, and no overage
On serpstack Basic each search over the 5,000 in the plan costs $0.023992. On SpecStream every call of up to 10 results costs $0.005, each started block of 10 more adds $0.006, and there is no plan to renew. A busy call gets 429 with Retry-After and charges nothing. Credit you buy never expires.
The most accurate web search API, in about one second
On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct. On WideSearch it scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the benchmarks page.
Every drop-in route runs the fast search. Measured on production on November 9, 2026, its median was 0.82 s at 1 search a second and 1.07 s at 20 a second, the 95th percentile stayed between 1.09 and 1.73 s, and it answered 718 of 720. There is no limit per key and no daily limit.
You decide what is kept, on each key
Create the key with zero_retention and a search made with it keeps no request text and no answer after the reply. spend_cap_cents is the most the key can spend.
curl -X POST https://api.specstream.ai/v1/account/keys \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'Search, pages and rows on one key
The same key reads up to 20 pages or documents a call with the Extract API at $0.80 per 1,000 pages, and a page with no text is not charged. Deep Search returns every match for a request in plain words as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value.
What else serpstack users price
SerpApi
Google results on monthly plans: Starter is $25 for 1,000 searches with 200 an hour, Developer $75 for 5,000. SpecStream charges $0.005 a search with no plan, and answers SerpApi's call at https://api.specstream.ai/serpapi too.
VALUE SERP
Google results at $2.50 per 1,000 on pay as you go, or 25,000 searches for $50 a month. SpecStream answers VALUE SERP's call at https://api.specstream.ai/valueserp, AI Overview included at the price of one search.
Serper
Google results in credit packs from $1.00 per 1,000 for 50,000 credits, with 2,500 free queries. SpecStream answers Serper's call at https://api.specstream.ai/serper, and its credit never expires.
DataForSEO
SERP data at $2 per 1,000 in Live Mode, with a minimum account top-up of $50. SpecStream answers DataForSEO's live organic call at https://api.specstream.ai/dataforseo and starts with $10 of credit, no card.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to migrate, step by step
1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.
2. Set the address to https://api.specstream.ai/serpstack/search where your code has https://api.serpstack.com/search, and send the SpecStream key as access_key. In Python:
import requests
URL = "https://api.specstream.ai/serpstack/search" # was https://api.serpstack.com/search
reply = requests.get(URL, {"access_key": SPECSTREAM_KEY, "query": "mcdonalds", "num": 10}, timeout=30)
reply.raise_for_status()
for result in reply.json()["organic_results"]:
print(result["position"], result["title"], result["url"])3. In JavaScript:
const url = new URL("https://api.specstream.ai/serpstack/search");
url.search = new URLSearchParams({ access_key: process.env.SPECSTREAM_KEY, query: "mcdonalds" });
const data = await (await fetch(url)).json();
for (const result of data.organic_results) console.log(result.title, result.url);4. Follow pagination.next_page_url for the next page, and read 429 as a call to send again after Retry-After. It is not charged.
Frequently asked questions
Something we didn't answer? Talk to a human
Is there a serpstack compatible API?
GET /search at https://api.specstream.ai/serpstack in serpstack's JSON, as measured on production on Nov 10, 2026. A search of up to 10 results costs $0.005.How do I migrate from serpstack?
https://api.serpstack.com becomes https://api.specstream.ai/serpstack, and a SpecStream key goes in access_key. query, num, page, period, gl, hl, safe and type=news keep their meaning.How much does serpstack cost?
Is there a serpstack SDK whose address I can change?
fetch and curl.Does SpecStream return serpstack news results?
type=news returns news_results[] with title, url, source_name, uploaded, uploaded_utc and snippet, newest first with sort=date, at $0.005 a call.Which serpstack fields does SpecStream not return?
ads, answer_box, knowledge_graph, local_results, related_questions, related_searches, inline_images and top_stories, and a result's sitelinks, cached_page_url, related_pages_url, prerender and rich_snippet. Each result keeps position, title, url, domain, displayed_url and snippet.Sources
SpecStream wrote this page. Each serpstack figure comes from serpstack's own pages, and each other provider's figure from that company's own page. The route's behavior comes from its code and the pass table measured on production.
- serpstack pricingserpstack.com/pricing, read Nov 10, 2026
- serpstack documentationserpstack.com/documentation, read Nov 10, 2026
- SpecStream serpstack pass tablespecstream.ai/specstream/dialects/serpstack.md, read Nov 10, 2026
- SerpApi pricingserpapi.com/pricing.md, read Nov 10, 2026
- VALUE SERP pricingtrajectdata.com/serp/value-serp-api/pricing/, read Nov 10, 2026
- Serperserper.dev/, read Nov 10, 2026
- DataForSEO SERP API pricingdataforseo.com/apis/serp-api, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




