Vertex AI Search vs Custom Search JSON API
Keep the same call.
Google names Vertex AI Search, now titled Agent Search, as the Custom Search JSON API's alternative for up to 50 domains. It costs $1.50 per 1,000 queries on Standard and $4.00 on Enterprise, on a different endpoint.
For the whole web, Google's page asks you to contact it. SpecStream answers the call you send today, GET /customsearch/v1, at https://api.specstream.ai, in Google's JSON, across the whole live web.
It costs $5 per 1,000 searches and scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks (benchmarks).
New accounts get $10 of credit, no card. It covers 2,000 searches.
SpecStream, Custom Search JSON API and Vertex AI Search side by side
| SpecStream | Custom Search JSON API | Vertex AI Search (Agent Search) | |
|---|---|---|---|
| What it searches | The whole live web, read at the moment of the call | The Programmable Search Engine you configured under cx | Up to 50 domains. For full web search, Google asks you to contact it |
| Status | Yes. The Custom Search route is live at https://api.specstream.ai/customsearch/v1 | Closed to new customers. Existing customers have until January 1, 2027 | Google's named alternative for up to 50 domains. Its pricing page is titled Agent Search |
| The request | GET /customsearch/v1?key=...&q=...&num=&start=, as your code sends it today. cx is accepted and not used | GET /customsearch/v1 with q, an API key and cx | POST https://discoveryengine.googleapis.com/v1/{servingConfig}:search, with a serving config under a project, location, collection and engine |
| The reply | Google's JSON: kind customsearch#search, items[] with title, link, snippet and displayLink, searchInformation.totalResults and queries.nextPage | items[] with the URL, title and text snippets of each result | The reply of the servingConfigs.search method |
| What you change | The base address and the key | Your provider, by January 1, 2027 | The endpoint and the request, to a POST in a Google Cloud project. Google's migration guide covers Site Restricted JSON API users |
| Price per 1,000 | $5 per 1,000 searches of up to 10 results, $0.005 a call | $5 per 1,000 queries after 100 free a day, for existing customers | $1.50 per 1,000 queries on Standard and $4.00 on Enterprise, plus data storage |
| Free use | $10 of credit on a new account, no card. It covers 2,000 searches, and credit you top up never expires | 100 queries a day | A free trial of 10,000 queries per account a month |
| Limit | Up to 8,800 searches a minute on one account. A call over that gets a 429 and is not charged | 10,000 queries a day | 50 domains |
Why teams keep their Custom Search call on SpecStream
One line in place of a new integration
Moving to Vertex AI Search means a Google Cloud project, an engine, a serving config and a new endpoint. Moving to SpecStream means a new host and a new key.
# Before
curl "https://www.googleapis.com/customsearch/v1?key=$GOOGLE_KEY&cx=$CX&q=open+source+vector+databases"
# After
curl "https://api.specstream.ai/customsearch/v1?key=$SPECSTREAM_KEY&cx=$CX&q=open+source+vector+databases"The reply has Google's shape, field for field: kind, queries with request and nextPage, searchInformation and items.
The whole live web from the first call
Google's page names Vertex AI Search for searching up to 50 domains and asks you to contact Google for full web search. SpecStream searches the whole live web on every call. Send siteSearch when you want one site.
What stays the same
q, num (1 to 10) and start work as before, and queries.nextPage gives the next start. exactTerms, orTerms, siteSearch and hq shape the search. cx is accepted and not used. The key goes in key=, in X-Goog-Api-Key or as a Bearer token.
One price per search, nothing for storage
Vertex AI Search bills search queries and data storage. SpecStream bills the search: $5 per 1,000 searches of up to 10 results, and each started block of 10 more results adds $0.006. A call stopped by a 429 charges nothing, and credit you top up never expires.
The most accurate web search API in the world
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.
About one second a search, measured under load
The Custom Search route runs on the fast search. On November 9, 2026 production took 1, 5, 10 and 20 searches a second through the fast search and answered 718 of 720. 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. One account can send up to 8,800 searches a minute; a call over that gets a 429 with Retry-After and is not charged.
You decide what is kept, on each key
Create a key with zero_retention and a search made with it keeps no request text and no answer after the reply. It is not in the history and its log lines carry neither. The charge keeps the account, the key, the request ID, the price and the time. 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 takes a request in plain words and returns every match on the live web as structured rows, at 5¢, 15¢ or $1 a row, plus 5¢ for an email and 15¢ for a phone. The most a run can cost is quoted before it starts, and a saved request reruns hourly to yearly.
Other options beside Vertex AI Search
Grounding with Google Search
A Gemini API tool at $14 per 1,000 search requests on Gemini 3 and newer models. It returns the model's grounded answer, not a result list. SpecStream returns the list in Google's JSON at $5 per 1,000. See the comparison.
Programmable Search Element
The search box Google keeps for your own websites, free for up to 50 domains. SpecStream answers your code's JSON call across the whole live web.
Brave Search API
$5 per 1,000 requests, up to 50 queries a second, with $5 in free credits every month. Brave's own guide says moving to it means updating how you read the response. On SpecStream your parser stays.
Exa
$4 per 1,000 requests for lite search and $7 for auto and fast, with its own request and reply. SpecStream answers the Custom Search call you send today at $5 per 1,000.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to move from the Custom Search JSON API without Vertex AI Search
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 base address to https://api.specstream.ai in place of https://www.googleapis.com or https://customsearch.googleapis.com, and send the SpecStream key in key=.
import requests
BASE = "https://api.specstream.ai" # was https://www.googleapis.com
reply = requests.get(
f"{BASE}/customsearch/v1",
params={"key": SPECSTREAM_KEY, "cx": CX, "q": "open source vector databases", "num": 10},
).json()
for item in reply["items"]:
print(item["title"], item["link"], item["snippet"])3. Leave the rest. Each call is one search on your key, inside the spending limit you give the key. The route returns web results, so send calls without searchType.
Frequently asked questions
Something we didn't answer? Talk to a human
What is the difference between Vertex AI Search and the Custom Search JSON API?
GET /customsearch/v1 at $5 per 1,000 and ends on January 1, 2027. SpecStream answers that same call after the date, across the whole live web.Is Vertex AI Search the replacement for the Custom Search JSON API?
How much does Vertex AI Search cost?
What is Agent Search?
servingConfigs.search method under Agent Search.Can Vertex AI Search search the whole web?
How do I move off the Custom Search JSON API without rewriting my code?
https://api.specstream.ai and put a SpecStream key in key=; GET /customsearch/v1 answers in Google's JSON at $5 per 1,000 searches.Sources
SpecStream wrote this page. Each figure about Google and other providers comes from that company's own page.
- Google Custom Search JSON API overviewdevelopers.google.com/custom-search/v1/overview, read Nov 10, 2026
- Google Custom Search JSON API reference, cse.listdevelopers.google.com/custom-search/v1/reference/rest/v1/cse/list, read Nov 10, 2026
- Google Custom Search JSON API, using RESTdevelopers.google.com/custom-search/v1/using_rest, read Nov 10, 2026
- Programmable Search Engine blog, January 20, 2026programmablesearchengine.googleblog.com/2026/01/updates-to-our-web-search-products.html, read Nov 10, 2026
- Google Cloud, Agent Search pricingcloud.google.com/generative-ai-app-builder/pricing, read Nov 10, 2026
- Google Cloud, migrate from Custom Search Site Restricted JSON APIdocs.cloud.google.com/generative-ai-app-builder/docs/migrate-from-cse?hl=en, read Nov 10, 2026
- Google Cloud, servingConfigs.search referencecloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines.servingConfigs/search, read Nov 10, 2026
- Gemini API pricingai.google.dev/gemini-api/docs/pricing, read Nov 10, 2026
- Gemini API, Grounding with Google Searchai.google.dev/gemini-api/docs/google-search, read Nov 10, 2026
- Brave Search APIbrave.com/search/api/, read Nov 10, 2026
- Brave, alternatives to the Google Search APIbrave.com/learn/google-api-shutdown/, read Nov 10, 2026
- Exa pricingexa.ai/pricing, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




