Skip to the page

Is Google Custom Search API shutting down

Yes, on January 1, 2027.

Yes. Google closed the Custom Search JSON API to new customers, and existing customers have until January 1, 2027 to move. Google's blog post of January 20, 2026 says the move must be complete by that date.

The move is one line. Set the base address to https://api.specstream.ai in place of https://www.googleapis.com, put a SpecStream key in key=, and GET /customsearch/v1 answers in Google's JSON.

SpecStream costs $1 per 1,000 searches, a fifth of the $5 Google charges existing customers. It scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks, shown on the benchmarks page.

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

Your options after the Custom Search JSON API, from Google's own pages

SpecStreamCustom Search JSON APIVertex AI SearchGrounding with Google Search
StatusYes. The Custom Search route is live at https://api.specstream.ai/customsearch/v1Closed to new customers. Existing customers have until January 1, 2027, when Google discontinues the serviceGoogle's named alternative for up to 50 domains. Its pricing page is now titled Agent SearchA tool of the Gemini API, billed for each search query the model decides to run
What it searchesThe whole live web, read at the moment of the callThe Programmable Search Engine you configured under cxUp to 50 domains. For full web search, Google asks you to contact itGoogle Search, through the Gemini model
The requestGET /customsearch/v1?key=...&q=...&num=&start=, as your code sends it today. cx is accepted and not usedGET /customsearch/v1 with q, an API key and cx, the ID of your Programmable Search EngineA POST to the Agent Search servingConfigs.search method in a Google Cloud projectA prompt to a Gemini model
The replyGoogle's JSON: kind customsearch#search, items[] with title, link, snippet and displayLink, searchInformation.totalResults and queries.nextPage. Your parser reads it unchangeditems[] with the URL, title and text snippets of each resultThe reply of the Agent Search servingConfigs.search methodA final answer grounded in the search results, with search suggestions HTML for your UI
Price per 1,000$1 per 1,000 searches of up to 10 results, $0.001 a call$5 per 1,000 queries, for existing customers$1.50 per 1,000 queries on Standard and $4.00 on Enterprise, plus data storage$14 per 1,000 search requests on Gemini 3 and newer models
Free use$10 of credit on a new account, no card. It covers 10,000 searches, and a top-up never expires100 queries a dayA free trial of 10,000 queries per account a month5,000 search requests a month on Gemini 3 and newer models
LimitNo limit per key and no daily limit. A call over that gets a 429 and is not charged10,000 queries a day50 domains1,500 requests a day per project by default on the paid tier

Why teams move from Custom Search to SpecStream before January 1, 2027

Other options after the Custom Search JSON API

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to move off the Custom Search JSON API

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 10,000 searches.

2. Set the base address to https://api.specstream.ai where your code has 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 billed as one search on your key, and the key carries the spending limit you give it. A call with searchType=image returns image results in Google's JSON, at the price of one search.

Frequently asked questions

Something we didn't answer? Talk to a human

Is Google's Custom Search API being discontinued?
Yes, on January 1, 2027. Google's overview page says the Custom Search JSON API is closed to new customers and that existing customers have until that date to move to another solution.
Who is affected by the shutdown?
Every existing customer of the Custom Search JSON API, and every site whose Search Element queries more than 50 domains or the whole web. Google's blog of January 20, 2026 says: "If your use case necessitates querying more than 50 domains or is set to 'Search the entire web', your transition to an alternative solution needs to be completed by January 1, 2027." A Search Element on up to 50 domains stays.
When was the shutdown announced?
On January 20, 2026, in a post on Google's Programmable Search Engine blog. It says your transition needs to be completed by January 1, 2027.
Can I still get a Custom Search JSON API key?
No. Google's page says the API is not available for new customers. A SpecStream key takes a minute under Agents & API in the workspace, with $10 of credit and no card, and it answers the same GET /customsearch/v1 call. A new Google project gets a 403, "This project does not have the access to Custom Search JSON API", on every call; the 403 guide has the fix.
What does Google recommend instead?
Vertex AI Search, for up to 50 domains. For full web search Google asks you to contact it. SpecStream searches the whole live web at $1 per 1,000 searches, on the path your code already calls.
What stays after January 1, 2027?
The Programmable Search Element. Google's blog says the Search Element remains and is being simplified for search on your own websites, with at most 50 domains.
How do I replace the Custom Search JSON API without rewriting my code?
Change one line. Set the base address to https://api.specstream.ai and put a SpecStream key in key=. GET /customsearch/v1 answers in Google's JSON, so code that reads items[].title, link and snippet stays as it is.
How long does it take to move off the Custom Search JSON API?
One changed line and a new key. Set the base address to https://api.specstream.ai and put a SpecStream key in key=. The reply is Google's JSON, so your parser stays. On November 10, 2026, google-api-python-client 2.201.0 and googleapis 189.0.0 for Node were tested with the address changed, and cse().list(q=..., cx=...) worked as before.
Should I wait for Google's own replacement?
No. Google calls Vertex AI Search "a favorable alternative for searching up to 50 domains", and for full web search it says to "contact us to express your interest", with no price and no date. The call your code already sends answers on SpecStream today, at $1 per 1,000 searches.
What will it cost after the shutdown?
$1 per 1,000 searches of up to 10 results on SpecStream, a fifth of the $5 Google charges existing customers, with no cap of 10,000 a day. Every rate is on the pricing page.
Which open-source apps call the Custom Search JSON API?
We read 16 at their source on November 10, 2026, among them Open WebUI, LobeHub, LiteLLM, AutoGen, LlamaIndex, Discourse AI, Khoj and GPT Researcher. 5 let a user change Google's address in a setting, and 11 hold it in one line of code. The list, with each file and line, is on open-source apps that call Google's Custom Search API.
What happens to image search with `searchType=image`?
It is part of the Custom Search JSON API and ends with it on January 1, 2027. SpecStream answers the same call in Google's JSON, one search each, and the image search guide shows the request and the reply.

Sources

SpecStream wrote this page. Each figure about Google and other providers comes from that company's own page.

  1. Google Custom Search JSON API overviewdevelopers.google.com/custom-search/v1/overview, read Nov 11, 2026
  2. Google Custom Search JSON API reference, cse.listdevelopers.google.com/custom-search/v1/reference/rest/v1/cse/list, read Nov 10, 2026
  3. Google Custom Search JSON API, using RESTdevelopers.google.com/custom-search/v1/using_rest, read Nov 10, 2026
  4. Programmable Search Engine blog, January 20, 2026programmablesearchengine.googleblog.com/2026/01/updates-to-our-web-search-products.html, read Nov 11, 2026
  5. Google Cloud, Agent Search pricingcloud.google.com/generative-ai-app-builder/pricing, read Nov 10, 2026
  6. 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
  7. Gemini API, Grounding with Google Searchai.google.dev/gemini-api/docs/google-search, read Nov 10, 2026
  8. Gemini API pricingai.google.dev/gemini-api/docs/pricing, read Nov 10, 2026
  9. Brave Search APIbrave.com/search/api/, read Nov 10, 2026
  10. Brave, alternatives to the Google Search APIbrave.com/learn/google-api-shutdown/, read Nov 10, 2026
  11. Exa pricingexa.ai/pricing, read Nov 10, 2026
  12. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  13. SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
  14. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026
  15. GitHub code search: files containing googleapis.com/customsearch/v1github.com/search?q=%22googleapis.com%2Fcustomsearch%2Fv1%22&type=code, read Nov 10, 2026
  16. GitHub code search: files containing api.bing.microsoft.com/v7.0/searchgithub.com/search?q=%22api.bing.microsoft.com%2Fv7.0%2Fsearch%22&type=code, read Nov 10, 2026