Skip to the page

Zenserp compatible

Change the address, keep the JSON.

Zenserp sells monthly plans from $49.99 for 25,000 searches, and an AI Overview request uses 3 searches. SpecStream answers the same /api/v2/search in Zenserp's JSON, with ai_overview at the price of one search.

The switch is one line: https://api.specstream.ai/zenserp/api/v2 in place of https://app.zenserp.com/api/v2, and a SpecStream key as apikey. In zenserp-python that is zenserp.api_base.

SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions. A search of up to 10 results costs $0.005, with no monthly plan.

New accounts get $10 of credit, no card. It covers 2,000 searches.

Zenserp to SpecStream, parameter by parameter and field by field

SpecStreamZenserp
AddressGET or POST https://api.specstream.ai/zenserp/api/v2/search, with num 1 to 100 and start for the offsethttps://app.zenserp.com/api/v2/search
The keyA SpecStream key in the apikey header, or as apikey in the address or the formA Zenserp key as apikey
AI Overviewai_overview=1 returns the search's answer with the page it came from, at the price of one searchAn AI Overview request uses 3 searches
Each resultposition, title, url, destination and description. Not returned: isAmp, extra, questions and imagesOrganic results with their position, title, URL and description
ErrorsZenserp's {"errors": [...]}: 403 for the key, 400 for tbm or another engine. A busy call gets 429 with Retry-After and is not chargedOnly successful requests are billed
Price$5 per 1,000 searches of up to 10 results, with no monthly plan. 100 results cost $0.059 a callSmall $49.99 a month for 25,000 searches, Medium $149.99 for 100,000, Large $299.99 for 250,000
Free to start$10 of credit, no card, which covers 2,000 searches. Credit never expires50 free searches a month

The Zenserp reference, on SpecStream

What else Zenserp users price

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. With zenserp-python, set zenserp.api_base to https://api.specstream.ai/zenserp/api/v2 and give the client your SpecStream key. Without the client, in Python:

import requests

URL = "https://api.specstream.ai/zenserp/api/v2/search"  # was https://app.zenserp.com/api/v2/search

reply = requests.get(
    URL,
    params={"q": "Larkspur Colorado mayor", "num": 10},
    headers={"apikey": SPECSTREAM_KEY},
    timeout=30,
)
reply.raise_for_status()
for result in reply.json()["organic"]:
    print(result["position"], result["title"], result["url"])

3. In JavaScript:

const url = new URL("https://api.specstream.ai/zenserp/api/v2/search");
url.search = new URLSearchParams({ q: "Larkspur Colorado mayor", num: "10" });
const res = await fetch(url, { headers: { apikey: process.env.SPECSTREAM_KEY } });
const data = await res.json();
for (const result of data.organic) console.log(result.title, result.url);

4. Follow pagination.next_page 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 Zenserp compatible API?
Yes. SpecStream answers Zenserp's /api/v2/search at https://api.specstream.ai/zenserp/api/v2 in Zenserp's JSON, as measured on production on Nov 10, 2026 with zenserp-python 0.2. A search of up to 10 results costs $0.005.
How do I migrate from Zenserp?
Change one address: https://app.zenserp.com/api/v2 becomes https://api.specstream.ai/zenserp/api/v2, and a SpecStream key goes in apikey. q, num, start, timeframe, tbs and ai_overview keep their meaning.
How much does Zenserp cost?
From $49.99 a month for 25,000 searches on Small to $899.99 for 1,000,000 on Enterprise, with 50 free searches a month. An AI Overview request uses 3 searches. SpecStream costs $5 per 1,000 with no monthly plan, AI Overview included.
Can I change the address in the Zenserp Python client?
Yes, in one line: zenserp.api_base = "https://api.specstream.ai/zenserp/api/v2". The client keeps sending the key in the apikey header, and SpecStream reads it there.
Does SpecStream return Zenserp's AI Overview?
Yes, with ai_overview=1, at $0.005 a call like any search. The reply carries ai_overview with present, text, text_paragraphs and citations, the page the answer came from.
Which Zenserp fields does SpecStream not return?
Five: query.url, related_searches, and a result's isAmp, extra, questions and images. Each result keeps position, title, url, destination and description.

Sources

SpecStream wrote this page. Each Zenserp figure comes from Zenserp'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.

  1. Zenserp pricingzenserp.com/pricing, read Nov 10, 2026
  2. Zenserp pricing planszenserp.com/pricing-plans/, read Nov 10, 2026
  3. Zenserp migration guidezenserp.com/migration-guide/, read Nov 10, 2026
  4. SpecStream Zenserp pass tablespecstream.ai/specstream/dialects/zenserp.md, read Nov 10, 2026
  5. SerpApi pricingserpapi.com/pricing.md, read Nov 10, 2026
  6. SearchApi.io pricingsearchapi.io/pricing, read Nov 10, 2026
  7. Serperserper.dev/, read Nov 10, 2026
  8. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  9. SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
  10. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026