Google Custom Search API Is Closing (Jan 2027): Your Real Migration Options
If you build with the Google Custom Search JSON API, you have a deadline. Google has closed the API to new customers, and existing customers must move off it by January 1, 2027.
After that date, the API stops serving. No extension. Google does not push these dates.
The official advice is to "migrate to Vertex AI Search." That sounds simple. It is not. Vertex AI Search is a different kind of product with enterprise minimums, and for most small teams it is the wrong tool.
This guide lays out what actually happened, why the official path is a trap for indie and SMB developers, and your four honest migration options, with a comparison table and a real code diff.
TL;DR: The Google Custom Search JSON API is discontinued and shuts off on Jan 1, 2027. Google steers you to Vertex AI Search, but that has minimums near 1,000 queries/minute and 50 GiB of indexing, plus per-query fees, so it is not a drop-in for "give me Google results as JSON." Microsoft also retired the Bing Search API in 2025, so the official search-API era is over. The closest drop-in is a SERP API: one HTTPS call, results back as JSON, no Cloud project or index. Serpent gives 10 free searches and flat per-call pricing.
What exactly happened to Custom Search
Google closed the Custom Search JSON API to new customers and gave existing customers a hard cutoff. The official page on developers.google.com states it plainly.
The wording on the Custom Search JSON API overview reads: "The Custom Search JSON API is closed to new customers," and "Existing Custom Search JSON API customers have until January 1, 2027 to transition to an alternative solution."
So there are two groups affected.
New developers already cannot sign up. If you tried to enable the API recently and hit a wall, that is why.
Existing developers get a runway, but it ends on Jan 1, 2027. After that, the endpoint goes dark and your integration returns errors.
This is not a soft "we recommend you upgrade." It is a shutdown. If your product, internal tool, or rank tracker reads Google results through CSE, it will break unless you migrate.
CSE was already limited before this
Even at its best, the Custom Search JSON API was a constrained way to read Google. The shutdown just makes the migration urgent.
Here is what you were working with.
| Limit | Custom Search JSON API |
|---|---|
| Results per request | 10 (the num max) |
| Max results per query | 100 (10 pages via start) |
| Free tier | 100 queries per day |
| Paid price | $5 per 1,000 queries |
| Hard daily cap | 10,000 queries per day |
| SERP features | Mostly organic links; no clean AI Overview, People Also Ask, or local pack fields |
Ten results per call meant you had to loop pages. The 10,000/day ceiling meant you could not scale a serious rank tracker. And the data was thin: CSE was built for site search, not for reading the full modern Google SERP.
So the migration is also a chance to upgrade. You can move to something that returns up to 100 results in one call and includes the rich features Google now shows. More on that below.
One more practical point: CSE needed two secrets, an API key and a Programmable Search Engine ID (the cx value), plus a search engine configured in the control panel. That extra setup step is part of what made it fiddly. A modern SERP API drops the cx entirely. You just send a query.
Why "just use Vertex AI Search" is a trap
Vertex AI Search is Google's official steer, but it is the wrong tool for almost everyone migrating off CSE. Read the pricing before you commit.
Vertex AI Search (now branded under Google Cloud's Agent Search) is an enterprise semantic-search product. You point it at your own documents, websites, or data, it builds an index, and it answers queries against that index. It is excellent for building a search box over your own corpus.
It is not built to hand you plain Google web results as JSON. That is the job CSE used to do, and Vertex does not replace it cleanly.
Then there is the cost wall. Google's configurable pricing docs set the minimum subscription thresholds at 1,000 queries per minute (QPM) and 50 GiB of storage per month. On top of that you pay per-query and indexing fees, with standard overage rates around $1.50 to $4 per 1,000 queries depending on edition.
Key insight: The "official migration path" is sized for large enterprises. A solo developer or small SaaS that used CSE for a few thousand lookups a day is being pointed at a product with a ~1,000-QPM and 50 GiB floor. That is not a migration. That is a different category of spend. If you just need Google results as JSON, you want a SERP API, not a managed enterprise index.
To be fair: if you genuinely want to build semantic search over your own data, Vertex is a strong product. But that is a new project, not a swap-out for reading Google. Do not let "official" trick you into a 50 GiB index you never needed.
Bing's API died too: the era is over
This is not just a Google story. Microsoft retired the Bing Search API in 2025, which means the classic "official search API" model is effectively finished.
Per the Microsoft lifecycle announcement, the Bing Search APIs were retired on August 11, 2025. Existing instances were decommissioned and new sign-ups were closed. Microsoft steered users to "Grounding with Bing Search" inside Azure AI Agents, which is an LLM-grounding feature, not a raw results API.
So both giants pulled their public search APIs within roughly a year of each other. If you were a Bing Search API user looking for a home, you are in the same boat as CSE users: you need a results API that someone actually intends to keep running.
For Bing-specific options, see our Bing Search API alternatives guide. For the wider picture, see Google Search API alternatives.
Your four migration options, compared
You have four honest paths off the Custom Search JSON API. They trade off cost, effort, and how close they are to "Google results as JSON."
Here is the straight comparison.
| Option | What it is | Setup cost | Drop-in for Google JSON? | Best for |
|---|---|---|---|---|
| Vertex AI Search | Enterprise semantic search over your own index | High: ~1,000 QPM + 50 GiB minimums, Cloud project, indexing | No | Large teams building search over private data |
| A SERP API | One HTTPS call returns live Google results as JSON | Low: an API key, no Cloud project, no index | Yes, closest match | Rank trackers, monitoring, RAG, indie and SMB devs |
| Other search vendors | Independent web indexes (Brave, Mojeek and similar) | Low to medium: their own index, not Google's results | Partial: their index, not Google's | Apps that don't need exact Google parity |
| DIY scraping | Your own crawler with proxies and a headless browser | Hidden and ongoing: proxies, CAPTCHAs, breakage | Yes, until it breaks | Teams with spare engineering time and risk appetite |
Let me be honest about each.
Vertex AI Search is real and powerful, but, as covered above, it is not a CSE swap and the minimums are steep. Pick it only if semantic search over your own data is the actual goal.
A SERP API is the closest thing to "the old CSE, but better." You send q, you get organic results, and modern SERP features, back as JSON. No index to build, no Cloud project, no monthly floor. This is what most people migrating off CSE actually want.
Other search vendors like Brave or Mojeek give you a clean API over their own web index. That is great if you do not need exact Google parity, but the results will differ from what your users see on Google.
DIY scraping can return Google results, and it feels free at first. But Google's layout shifts, CAPTCHAs appear, and proxy IPs get banned. Most homegrown scrapers break at the worst time, and the true cost in engineering hours usually beats just paying for an API. We cover the trade-off in depth in SERP API vs scraping.
The code diff: CSE to a SERP API
Migrating from CSE to a SERP API is mostly a URL and header change. Here is the concrete before and after in Python.
This was your old Custom Search JSON API call. Note the API key and the search-engine ID (cx) baked into the query string.
# OLD: Google Custom Search JSON API (shutting down Jan 1, 2027)
import requests
resp = requests.get(
"https://www.googleapis.com/customsearch/v1",
params={
"key": "YOUR_GOOGLE_API_KEY",
"cx": "YOUR_SEARCH_ENGINE_ID",
"q": "best running shoes 2026",
},
)
data = resp.json()
for item in data.get("items", []): # max 10 per call
print(item["title"], item["link"])
Here is the same job with Serpent. The key moves into the X-API-Key header, there is no cx to manage, and you can ask for up to 100 results in a single call instead of looping pages.
# NEW: Serpent SERP API (drop-in, up to 100 results per call)
import requests
resp = requests.get(
"https://api.apiserpent.com/api/search",
headers={"X-API-Key": "sk_live_your_key"},
params={
"q": "best running shoes 2026",
"engine": "google",
"country": "us",
"num": 100, # up to 100 in one call
},
)
data = resp.json()
for item in data["results"]["organic"]:
print(item["position"], item["title"], item["url"])
That is the whole migration for the basic case. No Cloud project, no service account, no index, no QPM minimum.
And you get more back than CSE ever gave you. The full response includes People Also Ask, related searches, the featured snippet, the AI Overview, the local pack, shopping, and inline videos when Google shows them. CSE returned little more than blue links.
Want fewer results and lower latency? Use GET /api/search/quick for about 10 results in one page. The full parameter list lives in the docs, and you can try calls live in the playground before writing any code.
How to pick the right path
The right choice comes down to one question: do you need Google's live results, or your own data indexed?
If you need your own documents searched with semantic ranking, Vertex AI Search (or a vector database) is the honest answer. Budget for the minimums and treat it as a new build.
If you need Google's live results as JSON, which is what CSE actually did for most people, a SERP API is the simplest and cheapest swap. You keep getting Google data, you write less code, and there is no index to maintain.
If you do not need exact Google parity, an independent index like Brave can work, just know the results will differ from Google.
And if you are tempted by DIY scraping, read why proxies get banned first. It rarely stays free.
A quick decision rule for the common cases:
- Rank tracking or SEO monitoring: SERP API. You need real Google positions, and you need them not to break. CSE's 10-results limit was already a problem here; up to 100 per call fixes it.
- RAG or an AI agent that needs fresh web context: SERP API. Feed live results straight into your model. If grounding cost is a concern, see our note on cutting LLM web-search grounding cost.
- Internal search box over your own help docs: Vertex AI Search or a vector database. This is the one case where the official steer is right.
- A side project on a tiny budget: SERP API with a free tier, so you pay nothing until you scale.
The honest summary: for the large majority of teams who used CSE to read Google, a SERP API is the cleaner, cheaper, and more durable replacement. The official path solves a different problem.
For a fuller market scan, our what is a SERP API primer and free Google search API options tested piece cover the landscape. If you are coming from a paid vendor and want to cut cost, the migration guide off SerpApi and DataForSEO walks through it.
Migrate off Custom Search in an afternoon
Serpent returns live Google results as JSON in one call, no Cloud project, no index, no monthly minimum. We handle blocks and CAPTCHAs so you don't, and you get up to 100 results per request. Start with 10 free Google searches, then pay flat per-call from $0.03 per 10,000, with no subscription.
Get Your Free API KeyExplore: Google SERP API · Bing SERP API · Pricing
FAQ
When does the Google Custom Search JSON API shut down?
Google has closed the Custom Search JSON API to new customers. Existing customers have until January 1, 2027 to move to an alternative. After that date the API stops serving requests, so you must migrate before then.
Is Vertex AI Search a drop-in replacement for Custom Search?
No. Vertex AI Search is an enterprise semantic-search product with configurable-pricing minimums of about 1,000 queries per minute and 50 GiB of storage. It indexes your own data and is not built to return plain Google web results as JSON.
What is the simplest Custom Search API alternative for a small team?
A SERP API is the closest drop-in. You send a query and get Google results back as JSON over one HTTPS call, with no Cloud project, no index, and no monthly minimum. Serpent gives 10 free searches and flat per-call pricing.
Did Microsoft also shut down the Bing Search API?
Yes. Microsoft retired the Bing Search APIs on August 11, 2025 and steered users toward Grounding with Bing Search inside Azure AI Agents. Between Bing and Google, the classic search-API era is effectively over.
How many results did the Custom Search JSON API return per query?
A maximum of 10 results per request, with pagination up to 100 total. The free tier allowed 100 queries per day and the paid tier cost $5 per 1,000 queries, capped at 10,000 queries per day.
Can I just scrape Google myself instead of paying for an API?
You can, but it is fragile. Layouts change, CAPTCHAs appear, and proxies get blocked, so a DIY scraper often breaks without warning. For most teams a SERP API is cheaper once you count engineering and maintenance time.



