# Google's Custom Search JSON API shuts down on 1 January 2027. Here's how I'd migrate

> Source: <https://dev.to/khmuhtadin/googles-custom-search-json-api-shuts-down-on-1-january-2027-heres-how-id-migrate-488p>
> Published: 2026-11-05 02:09:58+00:00

*Disclosure: I build 1ToolRing, one of the options below. The other options are real alternatives and I say where they fit better.*

If your app, script or AI agent calls `https://www.googleapis.com/customsearch/v1`, it has a deadline. Google's overview page for the Custom Search JSON API now says the pricing applies "only to existing Custom Search JSON API customers until the service discontinuation on January 1, 2027" and that "this API is not available for new customers" ([Google, checked 5 Nov 2026](https://developers.google.com/custom-search/v1/overview)).

So new projects can't sign up at all, and existing ones have until the end of the year.

Per the same page: 100 queries a day are free, then $5 per 1,000 queries, capped at 10,000 queries a day. Each query needs a Programmable Search Engine ID (`cx`) plus an API key, and results come back as JSON in the OpenSearch 1.1 format.

Write down three things before you pick a replacement:

**A SERP API that returns Google's own results.** You send a keyword, you get the parsed Google results page as JSON. This is the closest swap if you need "what Google shows" rather than "some good web results". Several vendors sell this, usually per request or on a monthly plan.

**A search API that isn't Google.** Brave Search API runs its own index, and Exa and Tavily are search APIs built for AI agents. None of them return Google's results page. They're a good fit when you want web results for an AI agent and don't care that the ranking isn't Google's. Check their pricing pages, since plans differ a lot.

**1ToolRing (mine).** One key and a prepaid balance for Google search results plus keyword data, Maps places, e-commerce prices and exchange rates. You pay per call, the price is shown before each run, and failed calls aren't charged. It's in early access right now, so new accounts are approved in batches.

For Google organic results, the 1ToolRing tool `dataforseo/serp/google-organic` cost $0.0026 per call for one page of 10 results on 5 Nov 2026. That works out to about $2.65 per 1,000 searches, against $5 per 1,000 on the Custom Search JSON API after its free 100 a day. There is no free daily quota on 1ToolRing; approved accounts get a small starter balance once. The live price is always shown before a run, so check it rather than trusting a blog post's number.

Before, with the Custom Search JSON API:

```
curl "https://www.googleapis.com/customsearch/v1?key=YOUR_GOOGLE_KEY&cx=YOUR_ENGINE_ID&q=coffee+shops+jakarta"
```

After, with 1ToolRing over REST:

```
curl -X POST https://api.1toolring.com/api/v1/tools/run \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"dataforseo/serp/google-organic","input":{"body":{"keyword":"coffee shops jakarta","language_code":"en"}}}'
```

The answer comes back with the results under `output.items` (each with a rank, title and URL) and the amount charged under `cost`, in both USD and IDR. Your parsing code needs to change from Google's `items[].link` to the new field names, and there's no `cx` to manage anymore.

One thing that doesn't carry over: a Programmable Search Engine lets you restrict results to a list of sites in its settings. A plain Google results API has no such config, so if you relied on that, test how you'll filter before you switch.

If the thing calling search is Claude Code, Cursor, Codex or ChatGPT, you can skip the REST code. 1ToolRing is also a remote MCP server, so the agent can find the search tool, read its price and run it itself. In Claude Code:

```
claude mcp add --transport http 1toolring https://mcp.1toolring.com/mcp
```

Then run `/mcp`, choose Authenticate and approve in the browser. Or paste `set up 1ToolRing - https://1toolring.com/llms.txt` into the agent and it does the setup.

`customsearch/v1`, including cron jobs and old scripts.
The full comparison table, with Google's numbers quoted and dated, is at [1toolring.com/compare/google-custom-search](https://1toolring.com/compare/google-custom-search/), and the Google search tool prices are on [1toolring.com/tools/google-search](https://1toolring.com/tools/google-search/).
