Custom Search API key in 2026
A SpecStream key answers the same call.
A new project cannot get a Custom Search JSON API key today. Google's page says the API is closed to new customers, and existing customers have until January 1, 2027 before the service ends.
Create a SpecStream key in a minute and send Google's call to https://api.specstream.ai/customsearch/v1?key=<your key>&q=.... You need no search engine ID: cx is accepted and not used, and the reply is Google's JSON.
It is the most accurate web search API in the world: 97.9 F-score on all 1,000 SimpleQA Verified questions, on the benchmarks page. $5 per 1,000 searches, and new accounts get $10 of credit, no card.
New accounts get $10 of credit, no card. It covers 2,000 searches.
A SpecStream key next to the Google keys a new project can look for
| SpecStream | Google Custom Search JSON API | Vertex AI Search (Agent Search) | |
|---|---|---|---|
| Can a new project get a key | Yes. Create it under Agents & API in the workspace. A new account starts with $10 of credit, no card | No. The API is closed to new customers, and existing customers have until January 1, 2027 | Yes, in a Google Cloud project, with a free trial of 10,000 queries per account a month |
| What the key needs to search | Nothing else. No search engine ID: cx is accepted and not used | A configured Programmable Search Engine, and its ID in cx on every call | An engine and a serving config in your Google Cloud project, named in the address of each call |
| The call | GET https://api.specstream.ai/customsearch/v1?key=...&q=...&num=&start=, Google's own call. The key also works in X-Goog-Api-Key or as a Bearer token | GET https://www.googleapis.com/customsearch/v1 with key, cx and q | POST https://discoveryengine.googleapis.com/v1/{servingConfig=...}:search, a different call and a different reply |
| What it searches | The whole live web, read at the moment of the call. siteSearch keeps a search to one site | The Programmable Search Engine you configured | Up to 50 domains. For full web search Google asks you to contact it |
| Price per 1,000 searches | $5 for a search of up to 10 results ($0.005 a call) | $5 per 1,000 queries after 100 free a day, up to 10,000 a day, for existing customers | $1.50 per 1,000 queries on Standard, $4.00 on Enterprise |
| Free to start | $10 of credit, no card. That is 2,000 searches | 100 queries a day, for existing customers | 10,000 queries per account a month on the free trial |
| How long it runs | The Google route has answered on production since November 9, 2026, on the same key as the rest of SpecStream | Google discontinues the service on January 1, 2027 | Google's January 20, 2026 post names it as its offer for enterprise-grade needs |
Why a SpecStream key is the Custom Search key to get now
Your first call, with Google's path and Google's JSON
curl "https://api.specstream.ai/customsearch/v1?key=$SPECSTREAM_KEY&q=open+source+vector+databases&num=10"The reply has Google's shape: kind customsearch#search, items[] with title, link, snippet and displayLink, searchInformation.totalResults and queries.nextPage. Code written from Google's docs or a tutorial reads it as it is.
No search engine ID to set up
A Google key searched through a Programmable Search Engine you configured and named in cx. A SpecStream key searches the whole live web. Send cx or leave it out, and keep a search to one site with siteSearch. exactTerms, orTerms, siteSearch and hq shape the search as they do on Google.
$5 per 1,000 searches and no daily limit
Google charged existing customers $5 per 1,000 queries and stopped at 10,000 a day. A SpecStream search of up to 10 results costs $0.005, so 10,000 searches cost $50, and the account has no daily limit. A call stopped by a 429 charges nothing. The $10 of credit on a new account covers 2,000 searches.
The top published scores, in about a second
The SpecStream Search API scores 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct) and 64.0 item F1 and 43.4 row F1 on all 200 WideSearch tasks. The Google route uses the fast search: on production on November 9, 2026 the fast search's median was 0.82 s at 1 search a second and 1.07 s at 20 a second, and it answered 718 of 720 calls.
A key with its own limits
Each key carries the scopes, the spending limit and the setting you give it. Turn on zero_retention and a search made with that key keeps no request text and no answer after the reply. The account takes up to 8,800 searches a minute; a call over that gets a 429 with Retry-After and is not charged.
The rest of SpecStream on the same key
GET /v1/web-search returns up to 100 results for one search, with the answer, the page it was read from and its read time. The Extract API reads pages, PDF, Word and Excel files at $0.80 per 1,000 pages. Deep Search returns every match on the live web as structured rows at 5¢, 15¢ or $1 a row, under a maximum you approve before it runs.
Other keys a new project can get for web search
Vertex AI Search (Agent Search)
Google's named alternative for searching up to 50 domains, at $1.50 per 1,000 queries on Standard and $4.00 on Enterprise, with 10,000 free queries a month on the trial. It is called with POST to a serving config in your Google Cloud project. A SpecStream key searches the whole live web with the GET /customsearch/v1 call you already have.
Gemini API grounding with Google Search
Gemini runs Google searches inside a model call and returns a grounded answer with search suggestions, in place of a list of results. On Gemini 3 and newer it costs $14 per 1,000 search requests after 5,000 free a month. A SpecStream search costs $5 per 1,000 and returns the results, and the answer with its page on /v1/web-search.
Brave Search API
A key on Brave's own index, at $5 per 1,000 requests with $5 in free credits every month, and Brave asks for a card. The reply is Brave's JSON. A SpecStream key starts with $10 of credit and no card, and answers in Google's JSON.
Serper
Google results as JSON, with 2,500 free queries and prepaid packs from $50 for 50,000, valid for 6 months. Serper has its own call and its own reply. On SpecStream the call and the reply stay Google's, and a top-up never expires.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to get a key and make the first call
1. Sign up at specstream.ai and create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 2,000 searches. Over the API, a key that searches is made with this body:
curl -X POST "https://api.specstream.ai/v1/account/keys" \
-H "Authorization: Bearer $SPECSTREAM_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'2. Send Google's call to SpecStream's address, with the key in key=.
import requests
reply = requests.get(
"https://api.specstream.ai/customsearch/v1",
params={"key": SPECSTREAM_KEY, "q": "open source vector databases", "num": 10},
).json()
for item in reply["items"]:
print(item["title"], item["link"], item["snippet"])const url = new URL("https://api.specstream.ai/customsearch/v1");
url.search = new URLSearchParams({ key: SPECSTREAM_KEY, q: "open source vector databases", num: "10" });
const reply = await fetch(url).then((r) => r.json());
for (const item of reply.items) console.log(item.title, item.link);3. Page through results with start, as on Google: queries.nextPage gives the next one. Each call is one search on your key, inside the spending limit the key carries.
Frequently asked questions
Something we didn't answer? Talk to a human
How do I get a Google Custom Search API key?
GET /customsearch/v1 call at https://api.specstream.ai, in Google's JSON.Do I need a search engine ID (cx) with the key?
cx is accepted and not used, so you can leave it out or keep sending it. The search covers the whole live web, and siteSearch keeps it to one site.Is the Google Custom Search API key free?
Is the Custom Search JSON API closed to new customers?
What is the Programmable Search Engine API key used for?
cx of a Programmable Search Engine you configured. A SpecStream key authorizes the same call on its own, with the key in key=, X-Goog-Api-Key or a Bearer token.Can I use the key from an AI agent or MCP client?
https://api.specstream.ai/mcp, where the search_web tool runs a search at $5 per 1,000, and on GET /v1/web-search, which returns up to 100 results with the answer and its page.Sources
SpecStream wrote this page. Each Google and rival figure comes from that company's own page.
- Google Custom Search JSON API overviewdevelopers.google.com/custom-search/v1/overview, read Nov 10, 2026
- Programmable Search Engine blog, updates to our web search productsprogrammablesearchengine.googleblog.com/2026/01/updates-to-our-web-search-products.html, read Nov 10, 2026
- Agent Search pricing, Google Cloudcloud.google.com/generative-ai-app-builder/pricing, read Nov 10, 2026
- Agent Search REST reference, servingConfigs.searchcloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines.servingConfigs/search, read Nov 10, 2026
- Grounding with Google Search, Gemini APIai.google.dev/gemini-api/docs/google-search, read Nov 10, 2026
- Brave Search APIbrave.com/search/api/, read Nov 10, 2026
- Serperserper.dev/, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




