Serper vs SerpApi in 2026
One SpecStream key answers both calls.
On Nov 10, 2026, Serper sells Google results in prepaid packs from $1.00 to $0.30 per 1,000 credits, valid for 6 months. SerpApi sells monthly plans from $25 for 1,000 searches. Each answers in its own JSON.
SpecStream answers both calls. Point Serper code at https://api.specstream.ai/serper and SerpApi code at https://api.specstream.ai/serpapi, put one SpecStream key where the old key went, and the same request returns the same JSON.
Every call costs $5 per 1,000 searches of up to 10 results, with no monthly plan and credit that never expires. The Search API scores a 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on WideSearch.
New accounts get $10 of credit, no card. It covers 2,000 searches.
SpecStream, Serper and SerpApi side by side
| SpecStream | Serper | SerpApi | |
|---|---|---|---|
| Your code | Runs as it is. https://api.specstream.ai/serper in place of https://google.serper.dev, https://api.specstream.ai/serpapi in place of https://serpapi.com, and one SpecStream key for both | POST https://google.serper.dev/search, with the key in X-API-KEY | GET https://serpapi.com/search?engine=google, with the key in api_key |
| Price per 1,000 searches | $5 for up to 10 results, on either route and on every account | $1.00 per 1,000 credits on the 50k pack, $0.75 on 500k, $0.50 on 2.5M and $0.30 on 12.5M | $25 on Starter (1,000 searches for $25 a month), $15 on Developer (5,000 for $75), $10 on Production (15,000 for $150) |
| How you pay | From a balance, with no monthly plan. Credit you buy never expires | Prepaid packs with no monthly subscription. Credits are valid for 6 months | Monthly plans, month to month. Automatic Early Renewal renews the plan early once its searches are used |
| Free to start | $10 of credit, no card. That is 2,000 searches | 2,500 free queries, no credit card | 250 searches a month on the Free plan |
| Volume | No limit per key and no daily limit | 50 queries a second on the smallest pack, 300 on the largest | Guaranteed successful searches an hour: 200 on Starter, 1,000 on Developer, 3,000 on Production. Ludicrous Speed costs 2 times the base price |
| At high volume | 100,000 searches cost $500, and 1,000,000 cost $5,000, at the same rate | 12.5M credits at $0.30 per 1,000, valid for 6 months | Big Data: $275 a month for 30,000 searches. Cloud 1M: $3,750 a month for 1,000,000 |
| Failed calls | A busy call answers 429 with Retry-After and is not charged | A credit is deducted for each successful response. New queries stop when the balance reaches zero | Cached, errored and failed searches are not counted |
| What answers the call | The whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct) and 64.0 item F1 on all 200 WideSearch tasks | Google, queried live on each call, with nothing cached. The query takes a country and a language | Google, through engine=google. 97.6% on SimpleQA Verified in SerpApi's own post of Oct 16, 2026, on 937 of the 960 questions it kept |
| What comes back | Each route's own JSON: Serper's organic[] with title, link, snippet and position, or SerpApi's organic_results[] with position, title, link, displayed_link and snippet, search_metadata and serpapi_pagination | organic results with snippet and position, knowledgeGraph, peopleAlsoAsk and relatedSearches, and other paths for images, news, maps, places, videos, shopping, scholar, patents and autocomplete | Google's results page as JSON. A response with 100 results and an empty result set both count as 1 search |
Why teams that weigh Serper and SerpApi pick SpecStream
Both calls, one key
You do not have to choose an API or rewrite one. Serper's call and SerpApi's call both run on SpecStream, each on its own path and in its own JSON. The address changes, and the key.
# Serper: before
curl -X POST https://google.serper.dev/search \
-H "X-API-KEY: $SERPER_API_KEY" -H "Content-Type: application/json" \
-d '{"q": "open source vector databases", "num": 10, "page": 1}'
# Serper: after
curl -X POST https://api.specstream.ai/serper/search \
-H "X-API-KEY: $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"q": "open source vector databases", "num": 10, "page": 1}'# SerpApi: before
curl "https://serpapi.com/search.json?engine=google&q=Larkspur+Colorado+mayor&api_key=$SERPAPI_API_KEY"
# SerpApi: after
curl "https://api.specstream.ai/serpapi/search.json?engine=google&q=Larkspur+Colorado+mayor&api_key=$SPECSTREAM_API_KEY"In the clients it is one setting: base_url="https://api.specstream.ai/serper" on crewAI's SerperDevTool, and client.BASE_DOMAIN = "https://api.specstream.ai/serpapi" in SerpApi's Python client, serpapi 1.2.0, where search and next_page() work as before.
What stays the same
The Serper route reads q with operators such as site:, num from 1 to 100, page and tbs date ranges, and returns organic[] with title, link, snippet and position, plus answerBox on page 1 when the search has an answer. It serves web search at /serper/search and news at /serper/news; knowledgeGraph, peopleAlsoAsk and relatedSearches are not in the reply. The Serper migration guide lists every parameter and field.
The SerpApi route reads q, engine google, num from 1 to 100, start, tbs dates and api_key, and returns search_metadata, search_parameters, search_information, organic_results[] and serpapi_pagination with next on our host. It refuses tbm and other engines with 400, and does not return answer_box, knowledge_graph or related_questions. The SerpApi migration guide lists every parameter and field.
One price, no plan, no expiry
On SpecStream a search of up to 10 results costs $0.005 on either route, and each started block of 10 more results adds $0.006. There is no plan to pick and no month to use the searches in: $25 buys 5,000 searches where SerpApi's Starter gives 1,000 for the month, and the credit stays until you use it where Serper's credits last 6 months. A busy call answers 429 with Retry-After and is not charged.
The most accurate web search API in the world, in about one second
The SpecStream Search API scores a 97.9 F-score on all 1,000 official SimpleQA Verified questions, with 978 correct. SerpApi's own post reports 97.6% on the same benchmark, on the 960 questions it kept after setting 40 aside. On WideSearch SpecStream scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The scores and the method are at specstream.ai/benchmarks.
A call of up to 10 results runs the fast search. On November 9, 2026 production answered 718 of 720 fast searches: the median was 0.82 s at 1 search a second and 1.07 s at 20 a second, and the 95th percentile stayed between 1.09 and 1.73 s. There is no limit per key and no daily limit, on any account.
Zero retention on any key
SerpApi's ZeroTrace, which keeps no search parameters, queries or results, comes with its Cloud plans from $3,750 a month. On SpecStream zero_retention is a field on any key: a search made with it keeps no request text and no answer after the reply.
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
A product that calls a results page API still has to read the pages and build its own records. On SpecStream 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 takes a request in plain words and returns every match on the live web as structured rows at 5¢, 15¢ or $1 a row. The most a run can cost is approved before it starts.
Other Google results APIs teams price against Serper and SerpApi
SearchApi
$40 a month for 10,000 searches on Developer, $4 per 1,000, with 100 free requests to start. SpecStream answers SearchApi's GET /api/v1/search?engine=google at https://api.specstream.ai/searchapi, on the same key.
VALUE SERP
$50 a month for 25,000 searches, $1.60 per 1,000 over the plan, or $2.50 per 1,000 pay as you go. SpecStream answers VALUE SERP's GET /search at https://api.specstream.ai/valueserp, on the same key.
Tavily
A search API for AI agents at $0.008 a credit pay as you go, 1 credit a basic search and 2 an advanced one. SpecStream answers Tavily's POST /search at https://api.specstream.ai/tavily, in Tavily's JSON.
Exa
$7 per 1,000 searches on auto and $4 on lite for the first 10 results. SpecStream answers Exa's POST /search at https://api.specstream.ai/exa, in Exa's JSON.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to move Serper or SerpApi code to SpecStream
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. In Serper code, set the base address to https://api.specstream.ai/serper and put the SpecStream key in X-API-KEY.
const res = await fetch("https://api.specstream.ai/serper/search", { // was https://google.serper.dev
method: "POST",
headers: { "X-API-KEY": process.env.SPECSTREAM_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ q: "open source vector databases", num: 10, page: 1 }),
});
const data = await res.json();
for (const result of data.organic) console.log(result.position, result.title, result.link);3. In SerpApi code, set the base address to https://api.specstream.ai/serpapi and send the same key as api_key.
import os, requests
BASE = "https://api.specstream.ai/serpapi" # was https://serpapi.com
reply = requests.get(
f"{BASE}/search.json",
params={"engine": "google", "q": "Larkspur Colorado mayor", "num": 10, "api_key": os.environ["SPECSTREAM_API_KEY"]},
timeout=30,
).json()
for result in reply["organic_results"]:
print(result["position"], result["title"], result["link"])4. Leave the rest. Both routes bill each call of up to 10 results at $0.005 from one balance, and each reply carries the price of the call in specstream.price_usd.
Frequently asked questions
Something we didn't answer? Talk to a human
Is Serper better than SerpApi?
Serper vs SerpApi pricing: what does each cost?
Can I use both Serper and SerpApi?
https://api.specstream.ai/serper and SerpApi code calls https://api.specstream.ai/serpapi, each in its own JSON, on one balance and one request history.Do Serper and SerpApi have a free plan?
Does the SerpApi Python client work with SpecStream?
client.BASE_DOMAIN = "https://api.specstream.ai/serpapi" after the client is made, and search and next_page() work as before. The older google-search-results package takes GoogleSearch.BACKEND.Which has the higher rate limit?
Sources
SpecStream wrote this page. Each figure for Serper, SerpApi and the other APIs comes from that company's own page.
- Serper homepage and pricingserper.dev/, read Nov 10, 2026
- SerpApi pricingserpapi.com/pricing, read Nov 10, 2026
- SerpApi Google Search APIserpapi.com/search-api, read Nov 10, 2026
- SerpApi on SimpleQA Verifiedserpapi.com/blog/serpapi-achieves-97-6-accuracy-on-simpleqa-verified/, read Nov 10, 2026
- SearchApi pricingsearchapi.io/pricing, read Nov 10, 2026
- VALUE SERP pricingtrajectdata.com/serp/value-serp-api/pricing/, read Nov 10, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
- Exa pricingexa.ai/docs/admin/pricing.md, read Nov 10, 2026
- SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026




