OpenAgent
Google search stops on January 1, 2027. The setting to change.
OpenAgent's web search tool, with the Google engine, calls Google's Custom Search JSON API with your key in clientSecret and your engine ID in clientId. Google closed that API to new customers and ends it on January 1, 2027.
OpenAgent reads Google's address from the tool's providerUrl. Set it to https://api.specstream.ai/customsearch/v1 and put a SpecStream key in clientSecret. The same request goes out and the same JSON comes back; our test passed by this address.
SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and costs $5 per 1,000 searches, with no daily limit. A new account gets $10 of credit, no card, which covers 2,000 searches.
New accounts get $10 of credit, no card. It covers 2,000 searches.
OpenAgent Google search and what replaces it, from each company's own pages on Nov 10, 2026
| SpecStream | Google Custom Search | Vertex AI Search | Tavily | |
|---|---|---|---|---|
| OpenAgent setting | providerUrl = https://api.specstream.ai/customsearch/v1, the key in clientSecret | clientSecret and clientId. An empty providerUrl means https://www.googleapis.com/customsearch/v1 | Its own POST request at discoveryengine.googleapis.com | Not a provider in OpenAgent; it needs new code and a new reply shape |
| Open to a new account | Yes. Create a key and start with $10 of credit, no card | No. Closed to new customers, and existing customers have until January 1, 2027 | Yes, with a free trial of 10,000 queries per account a month | Yes, with 1,000 free credits every month |
| Price per 1,000 searches | $5, with up to 10 results a search | $5 per 1,000 queries after 100 free queries a day, for existing customers only | $1.50 on Standard, $4.00 on Enterprise | $0.008 a credit on pay as you go. A basic search is 1 credit |
| Limit | No daily limit. Up to 8,800 searches a minute on one account | 10,000 queries a day | Full web search only on request: Google asks you to contact it | On a monthly plan, requests stop when the month's credits run out |
| How long it lasts | Credit you buy never expires | Until January 1, 2027, when Google ends the API | Pay as you go, for search queries and data storage | Credits reset on the first day of each month |
| What answers the search | The whole live web, read at the moment of the call, in Google's JSON. 97.9 F-score on all 1,000 SimpleQA Verified questions | The Programmable Search Engine you configured | Up to 50 domains you name | Tavily's search. Its own post reports 97.6% on SimpleQA |
Why OpenAgent users point Google search at SpecStream
The change is one field
OpenAgent sends Google searches to providerUrl when the field is set, and to https://www.googleapis.com/customsearch/v1 when it is empty. The field holds the whole endpoint, with /customsearch/v1 at the end.
# OpenAgent web search tool, engine Google
providerUrl = https://api.specstream.ai/customsearch/v1
clientSecret = <YOUR_SPECSTREAM_KEY>
clientId = <keep your current engine ID>OpenAgent refuses to search with an empty clientId, so keep the value you have. SpecStream accepts cx and does not use it. This is the call OpenAgent then sends, with key, cx, q, num and, when the agent asks for them, hl and gl:
curl "https://api.specstream.ai/customsearch/v1?key=$SPECSTREAM_API_KEY&cx=any&q=open+source+vector+databases&num=5&hl=en&gl=us"The same JSON, so OpenAgent's parser reads it
OpenAgent reads items[] and takes title, link, snippet and displayLink from each. SpecStream answers in Google's shape: kind customsearch#search, items[] with those four fields, searchInformation.totalResults and queries.nextPage. The same call from Python:
import os, requests
reply = requests.get(
"https://api.specstream.ai/customsearch/v1",
params={"key": os.environ["SPECSTREAM_API_KEY"], "cx": "any", "q": "open source vector databases", "num": 5},
).json()
for item in reply["items"]:
print(item["title"], item["link"], item["displayLink"])What you see when the Google key fails
Without a key OpenAgent stops with Google search requires an API key in clientSecret. Google closed the API to new customers, so a new project gets no key to put there. With providerUrl at SpecStream, a SpecStream key fills clientSecret and the search runs.
$5 per 1,000 searches, with no daily limit
A search of up to 10 results costs $0.005, and OpenAgent never asks for more than 10 in one call. There is no monthly plan and no daily limit. Credit you buy never expires, and a new account starts with $10 of credit, which covers 2,000 searches.
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 Google route runs on the fast search. On November 9, 2026 production took 1, 5, 10 and 20 fast searches a second 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 is answered with Retry-After and is not charged.
You decide what is kept, on each key
Give OpenAgent a key with zero_retention and a search made with it keeps no request text and no answer after the reply. 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, with a source URL on every value. The most a run can cost is quoted before it starts.
Other Google search alternatives for OpenAgent
Google Custom Search, until January 1, 2027
Existing customers can keep Google's default address until Google ends the API: $5 per 1,000 queries after 100 free a day, up to 10,000 a day. A new project gets no key. SpecStream costs the same $5 per 1,000, with no daily limit, behind the same OpenAgent setting.
Vertex AI 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, called by POST at discoveryengine.googleapis.com with its own request. For full web search Google asks you to contact it. SpecStream searches the whole live web and answers the GET request OpenAgent already sends.
OpenAgent's DuckDuckGo and Bing engines
With these engines OpenAgent reads the search sites' HTML result pages, with no key, and takes titles and snippets out of the markup. SpecStream returns the same results as JSON fields under a key you control, with a price per search.
Tavily
Search billed in credits at $0.008 each on pay as you go, with 1,000 free credits a month that reset on the first day of each month. OpenAgent has no Tavily provider, so moving to it means new code and a new reply shape. SpecStream keeps your Google setup and charges $0.005 a search.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to move OpenAgent's Google search to SpecStream
1. Create a key under Agents & API in the SpecStream workspace. A new account gets $10 of credit, no card, which covers 2,000 searches.
2. Check the key with the call the app will send. A 200 with items means the app gets the same.
curl "https://api.specstream.ai/customsearch/v1?key=$SPECSTREAM_API_KEY&cx=any&q=test&num=10"3. In OpenAgent, open the web search tool with the Google engine and set the address and the key. Keep clientId.
providerUrl = https://api.specstream.ai/customsearch/v1
clientSecret = <YOUR_SPECSTREAM_KEY>4. Ask the agent something that needs a web search. Each search shows up in your SpecStream request log with its price.
Frequently asked questions
Something we didn't answer? Talk to a human
Why is Google search not working in OpenAgent?
providerUrl to https://api.specstream.ai/customsearch/v1 with a SpecStream key in clientSecret and the Google engine works again.What is the best Google search alternative for OpenAgent?
What is providerUrl in OpenAgent?
https://www.googleapis.com/customsearch/v1. It holds the whole endpoint, so set it to https://api.specstream.ai/customsearch/v1.How much does OpenAgent web search cost with SpecStream?
Is Google Custom Search shutting down?
Do I still need clientId?
cx and does not use it, and searches the whole live web.Sources
SpecStream wrote this page. OpenAgent's settings come from its source on GitHub, and each provider's figure from that company's own page.
- OpenAgent web search tool, web_search.gogithub.com/the-open-agent/openagent/blob/master/tool/web_search.go, read Nov 10, 2026
- Google Custom Search JSON API overviewdevelopers.google.com/custom-search/v1/overview, read Nov 10, 2026
- Vertex AI Search pricingcloud.google.com/generative-ai-app-builder/pricing, read Nov 10, 2026
- Vertex AI Search REST reference, search methodcloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines.servingConfigs/search, read Nov 10, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
- Tavily pricingtavily.com/pricing, read Nov 10, 2026
- Tavily, SealQA and SimpleQA posttavily.com/blog/tavily-ranks-1-on-sealqa-and-simpleqa, 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




