LazyLLM Google search after January 1, 2027
One base_url.
LazyLLM's GoogleSearch tool calls Google's Custom Search JSON API. Google closed that API to new customers and ends it on January 1, 2027, so a new project gets no key for the tool.
GoogleSearch takes a base_url. Pass https://api.specstream.ai/customsearch/v1 with a SpecStream key as custom_search_api_key and any search_engine_id. LazyLLM's own GoogleSearch.search read 10 results this way on November 10, 2026.
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.
New accounts get $10 of credit, no card. It covers 2,000 searches.
LazyLLM's GoogleSearch on SpecStream and the other options, from each company's own pages and LazyLLM's source on Nov 10, 2026
| SpecStream | Google Custom Search | Agent Search (Vertex AI Search) | Tavily | |
|---|---|---|---|---|
| Setting in LazyLLM | GoogleSearch(base_url="https://api.specstream.ai/customsearch/v1"), a SpecStream key as custom_search_api_key, any search_engine_id | GoogleSearch default: https://customsearch.googleapis.com/customsearch/v1, with a Google key and engine ID | Not among LazyLLM's search tools. A separate Google Cloud API | TavilySearch, a separate tool, defaults to https://api.tavily.com |
| 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 a month | Yes, with 1,000 free credits a month and no card |
| Price per 1,000 searches | $5. GoogleSearch asks for 10 results, so each search is $0.005 | $5 per 1,000 queries after 100 free queries a day, for existing customers only | $1.50 per 1,000 queries on Search Standard Edition, $4.00 on Enterprise Edition | $8 on pay as you go: 1 credit a basic search at $0.008 a credit |
| Limit | No limit per key and no daily limit. A busy call gets a 429 with Retry-After and is not charged | 10,000 queries a day | Up to 50 domains, in Google's words | On a monthly plan, requests stop when the month's credits run out |
| What comes back | items[] with title, link and snippet in Google's shape, the three fields GoogleSearch reads | The URL, title and text snippets of each result, in Google's own format | A different API: a POST to an engine's servingConfigs search | Tavily's own JSON, read by LazyLLM's TavilySearch |
| What answers the search | The whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions | The Programmable Search Engine you configured | The domains you give it | Tavily's search API |
Why LazyLLM developers point GoogleSearch at SpecStream
The change is one argument
LazyLLM describes itself as "a low-code development tool for building" multi-agent LLM applications, and GoogleSearch is one of the search tools its agents call. The tool sends its request to base_url and puts the key in the key parameter. Before and after, in the constructor:
from lazyllm.tools.tools import GoogleSearch
# Before: Google's address, the default
google = GoogleSearch(
custom_search_api_key="<your Google key>",
search_engine_id="<your engine ID>",
)import os
from lazyllm.tools.tools import GoogleSearch
# After: SpecStream answers the same call
google = GoogleSearch(
custom_search_api_key=os.environ["SPECSTREAM_API_KEY"],
search_engine_id="any",
base_url="https://api.specstream.ai/customsearch/v1",
)
for result in google.search("web data api"):
print(result["title"], result["url"])The tool sends cx from search_engine_id, and SpecStream accepts cx without using it, so any value works. Your agent keeps the tool, its name and its result format: each result still carries title, url, snippet and source.
Google's JSON, so the tool's parser reads it
GoogleSearch.search reads items from the reply and takes title, link and snippet from each one. SpecStream returns items[] with those fields in Google's shape, with searchInformation.totalResults and queries.nextPage. The route honours q, num, start, hq, exactTerms, orTerms, excludeTerms, siteSearch and siteSearchFilter.
The call the tool makes, in Python with requests:
import os, requests
reply = requests.get(
"https://api.specstream.ai/customsearch/v1",
params={"key": os.environ["SPECSTREAM_API_KEY"], "cx": "any", "q": "web data api", "num": 10},
).json()
for item in reply["items"]:
print(item["title"], item["link"], item["snippet"])Every parameter and field of the route is in the Google Custom Search guide. LazyLLM's BingSearch moves the same way, by its endpoint: see LazyLLM after the Bing Search API.
$5 per 1,000 searches, with no daily limit
A search of up to 10 results costs $0.005, and GoogleSearch always asks for 10. There is no monthly plan and no daily limit. Credit you buy never expires, and a new account starts with $10 of credit, enough for 2,000 searches. A call stopped by a 429 charges nothing.
The most accurate web search API, in about one second
The SpecStream Search API scores 97.9 F-score on all 1,000 official SimpleQA Verified questions, with 978 correct, and 64.0 item F1 and 43.4 row F1 on all 200 official WideSearch tasks. The Extract API scores 0.908 F1 on WCXB. The method behind each score is on the benchmarks page.
Every drop-in call runs the fast search. On production on November 9, 2026, its median was 0.82 s at 1 search a second and 1.07 s at 20 a second, its 95th percentile stayed between 1.09 and 1.73 s, and it answered 718 of 720 calls.
You decide what is kept, on each key
A key made with zero_retention keeps no request text and no answer after the reply. spend_cap_cents sets the most the key can spend, so an agent loop has a ceiling.
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 key that searches also 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 turns a request in plain words into structured rows at 5¢, 15¢ or $1 a row, with a source URL on every value, and the most a run can cost is approved before it starts.
Other web search options for a LazyLLM agent
Google Custom Search, until January 1, 2027
Existing customers can keep the default base_url 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 charges the same $5 per 1,000 with no daily limit, behind one argument.
Agent Search (Vertex AI Search)
Google's named alternative, for searching up to 50 domains, at $1.50 per 1,000 queries on Standard Edition. It is a different API with its own request, so GoogleSearch cannot call it. SpecStream searches the whole live web and answers the call the tool already sends.
LazyLLM's TavilySearch
A separate tool that calls https://api.tavily.com. Tavily bills in credits, $0.008 each on pay as you go and 1 credit a basic search, and on a monthly plan requests stop when the credits run out. SpecStream costs $0.005 a search, and its credit never expires.
LazyLLM's BingSearch
Microsoft retired the Bing Web Search API on August 11, 2025, so the tool's default address no longer answers. SpecStream answers Bing's v7 call too, in Bing's JSON, at the same $5 per 1,000.
How SpecStream scores
The same numbers as the benchmarks page, from the official tasks and scorers.
How to move LazyLLM's GoogleSearch 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 tool will send. A 200 with items means GoogleSearch gets the same.
curl "https://api.specstream.ai/customsearch/v1?key=$SPECSTREAM_API_KEY&cx=any&q=test&num=10"3. Pass base_url where you build the tool, with the SpecStream key and any engine ID:
google = GoogleSearch(
custom_search_api_key=os.environ["SPECSTREAM_API_KEY"],
search_engine_id="any",
base_url="https://api.specstream.ai/customsearch/v1",
)4. Run one search with google.search(...), then give the tool back to your agent. Each search shows in your SpecStream request log with its price.
Frequently asked questions
Something we didn't answer? Talk to a human
Why will LazyLLM Google search stop working?
GoogleSearch at its default address gets no new key. With base_url="https://api.specstream.ai/customsearch/v1" and a SpecStream key it keeps searching.What is the GoogleSearch base_url in LazyLLM?
https://customsearch.googleapis.com/customsearch/v1 by default. Set it to https://api.specstream.ai/customsearch/v1 and the same tool reads SpecStream's results, as it did on November 10, 2026.Which key goes in custom_search_api_key?
key the way Google's was. A new account starts with $10 of credit, no card, and search_engine_id can be any value.What is the best Custom Search API replacement for LazyLLM?
How much does LazyLLM web search cost with SpecStream?
GoogleSearch asks for 10 results a call, which is one price, and credit you buy never expires.Is there a daily limit?
Sources
SpecStream wrote this page. LazyLLM's arguments come from its source and docs on GitHub, and each provider's figure from that company's own page.
- LazyLLM, search/google_search.pyraw.githubusercontent.com/LazyAGI/LazyLLM/main/lazyllm/tools/tools/search/google_search.py, read Nov 10, 2026
- LazyLLM, search/tavily_search.pyraw.githubusercontent.com/LazyAGI/LazyLLM/main/lazyllm/tools/tools/search/tavily_search.py, read Nov 10, 2026
- LazyLLM, docs/tools/search.pyraw.githubusercontent.com/LazyAGI/LazyLLM/main/lazyllm/docs/tools/search.py, read Nov 10, 2026
- LazyLLM READMEraw.githubusercontent.com/LazyAGI/LazyLLM/main/README.md, read Nov 10, 2026
- Google Custom Search JSON API overviewdevelopers.google.com/custom-search/v1/overview, read Nov 10, 2026
- Google Custom Search, using RESTdevelopers.google.com/custom-search/v1/using_rest, read Nov 10, 2026
- Agent Search pricing, Google Cloudcloud.google.com/generative-ai-app-builder/pricing, read Nov 10, 2026
- Agent Search servingConfigs search referencecloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.engines.servingConfigs/search, read Nov 10, 2026
- Tavily pricingtavily.com/pricing, read Nov 10, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
- Bing Search API retirement, Microsoftlearn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement, 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




