Google's Custom Search API Dies in 2027. A Drop-In Isn't a Migration
Google will discontinue the Custom Search JSON API on January 1, 2027. Matching its JSON shape can save code, but I would trust a replacement only after a provider bake-off.
AI-powered · Limited to 20 requests per hour

The Next Gen Nexus warns that Google's Custom Search JSON API is headed for shutdown and pitches a schema-compatible Apify actor as an easy replacement. The deadline is real. Google's documentation says the API is closed to new customers and calls January 1, 2027 the service discontinuation date for existing users.
I agree with the source on the urgency. I do not share its confidence that preserving a JSON shape makes this a small migration. Ranking quality, coverage, freshness, filters, latency, cost, usage terms, and failure behavior all sit behind that payload. If search feeds a product, research workflow, or AI agent, changing the provider changes the evidence entering the system.
Answer Snapshot
| Question | My read |
|---|---|
| What is ending? | Google says existing Custom Search JSON API customers must move to an alternative by January 1, 2027. The API is already closed to new customers. |
| Who is exposed? | Teams that use Google's JSON results for site search, public-web discovery, research tools, citation finding, or search-enabled agents. |
| What does Google suggest? | Vertex AI Search for use cases covering up to 50 domains, or an interest form for Google's full-web search solution. Google also keeps a free Search Element path for site-specific search across no more than 50 domains. |
| My thesis | A compatible response object can reduce code churn, but it cannot prove result parity or operational safety. This replacement needs a bake-off, not a blind endpoint swap. |
| What should happen now? | Inventory usage, capture representative queries, compare providers, add an internal adapter, run traffic in parallel, and keep rollback available before the cutoff. |
The Deadline Is Clearer Than the Replacement
Google announced the transition on January 20, 2026. Its Programmable Search Engine post says all new engines must use the "Sites to search" feature. Existing engines can keep the "Search the entire web" option until January 1, 2027, then they need another solution.
The Custom Search JSON API documentation is even plainer. It calls January 1 the service discontinuation date, says the API is unavailable to new customers, and preserves the old commercial terms only for existing customers until then: 100 free queries per day, followed by $5 per 1,000 queries, with a 10,000-query daily limit.
Those public pages do not offer a simple successor with the same scope and contract. For up to 50 domains, Google points API users toward Vertex AI Search. For full-web needs, it asks users to register interest in a separate solution and request details about capabilities and pricing. Small teams chose Custom Search because it was self-serve, bounded, and easy to wire into an application. They now have the least certain path forward.

A Drop-In Response Is Not a Drop-In Service
The submitted article's proposed answer is an Apify actor that emits familiar Custom Search fields such as items[].title, items[].link, items[].snippet, and searchInformation.totalResults. Keeping those fields can spare downstream code from a broad rewrite. That is useful engineering.
The source oversells the move when it calls it a two-line change. Its own example replaces a direct request to Google's endpoint with the Apify client, launches an actor run, reads a dataset, and then resumes the old item loop. The parsing surface may remain familiar. The request path, authentication, execution model, billing relationship, and operational dependency have all changed.
I would treat every stronger claim in that pitch as something to test. Does the replacement return results that are useful for the same queries? Are result order, pagination, language and country filters, image search, safe-search behavior, and error responses close enough for the product? How quickly do new pages appear? What happens under bursts, provider throttling, or an upstream block? A field named totalResults does not answer any of those questions.
The Public Reports Add Another Reason to Start Early
The migration clock is not the only concern. In a Google Cloud discussion on Reddit, multiple developers reported 403 errors while trying to understand which projects still counted as existing customers. A July thread on the Google Developer forums describes an older project with the API enabled, active billing, visible quota, and requests reaching the service, yet still receiving a permission error.
These are user reports, not proof that Google has moved the official shutdown date forward. I would not present them that way. They do show why waiting until December is risky: entitlement problems can look like broken credentials, quota trouble, or a migration policy that has not been explained clearly enough.
The Hacker News discussion also surfaces the broader concern I find persuasive. Developers used this API for niche search products and as a web-search tool for LLM workflows. Once a search dependency sits inside an agent, its output affects which sources the agent sees before it writes or acts. Provider changes therefore need content-quality evaluation, not just an uptime check.

Run a Search Bake-Off, Not a Demo
I would begin with real traffic, stripped of personal or sensitive data. Build a query set that includes common searches, rare terms, fresh events, ambiguous names, non-English queries if the product supports them, and searches where the current system already performs badly. Save the expected useful domains or pages for the cases that have a defensible answer.
| Test | What to measure |
|---|---|
| Result usefulness | Whether the first page contains the sources people or downstream systems need, including how rankings differ on important queries. |
| Coverage and freshness | Whether niche domains and newly published pages appear when the use case depends on them. |
| Feature fit | Pagination, localization, filtering, image search, safe search, metadata, and any operator behavior the application uses today. |
| Operations | Latency distribution, timeouts, throttling, error formats, retry behavior, quotas, support, and recovery after an incident. |
| Economics and policy | Cost at normal and burst traffic, caching rights, data handling, acceptable-use terms, and the risk of relying on another provider's access to an upstream index. |
I would not compress this into one winner score too early. A provider that works well for site search may be weak for open-web research. Results that suit a person browsing links may lead an agent toward poor citations when it opens only the first few pages. Decide which failures matter before the benchmark picks a winner.
Use the Remaining Time to Buy an Exit
I would build an adapter and stage the cutover. Put the current Google integration behind a narrow internal contract, then add candidate providers. Mirror a safe sample of queries, compare outputs, and log provider, latency, status, cost, and result-quality signals. Move a small traffic slice while the old path can still serve as a fallback.
For a search box limited to a small set of owned domains, Google's Search Element or a site-focused index may be enough. An agent that needs broad discovery may fit better with an independent search API or SERP provider. A specialized product could build or buy a narrow index and depend less on general web ranking. The choice turns on the workload, which is why the article's easy "drop-in" framing bothers me.
I would also remove provider-shaped fields from the rest of the application. Preserve raw responses for debugging where policy allows, but expose only what the product actually needs. Add a provider identifier to citations and logs. Make empty results, partial failures, and stale data visible. The next search migration should be a configuration and evaluation problem, not another emergency rewrite.

My Bottom Line
The Next Gen Nexus is right to put the date in large type. January 1, 2027 is close enough that any production dependency on Custom Search JSON API belongs in active migration work now. But I would not carry its confidence about a particular replacement into an architecture decision without evidence.
Another service can imitate Google's object keys and still be wrong for the job. It has to produce acceptable search results under the product's real queries, budget, policies, and failure modes. Keep the compatible schema if it saves time. Spend that time testing everything the schema cannot tell you.
License
News text © 2026 Mark Huang. News text may be shared or translated for non-commercial use with attribution to https://markhuang.ai/news/google-search-api-deadline-is-a-dependency-test.
Suggested attribution: Based on "Google's Custom Search API Dies in 2027. A Drop-In Isn't a Migration" by Mark Huang, originally published at https://markhuang.ai/news/google-search-api-deadline-is-a-dependency-test.