{"slug": "google-s-custom-search-json-api-shuts-down-on-1-january-2027-here-s-how-i-d", "title": "Google's Custom Search JSON API shuts down on 1 January 2027. Here's how I'd migrate", "summary": "Google's Custom Search JSON API is being discontinued on January 1, 2027, with new customers already unable to sign up, prompting a developer behind the 1ToolRing search tool to publish a migration guide. The guide compares three replacement paths — SERP APIs that return Google's own results, non-Google search APIs such as Brave, Exa and Tavily, and 1ToolRing's pay-per-call service — and notes that 1ToolRing's Google organic results tool cost $0.0026 per call on November 5, 2026, about $2.65 per 1,000 searches versus $5 per 1,000 on the Custom Search JSON API after its free 100 queries a day. The developer also flags that Programmable Search Engine site restrictions have no direct equivalent in a plain Google results API, and that 1ToolRing is available as a remote MCP server for agents like Claude Code and Cursor.", "body_md": "*Disclosure: I build 1ToolRing, one of the options below. The other options are real alternatives and I say where they fit better.*\n\nIf 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)).\n\nSo new projects can't sign up at all, and existing ones have until the end of the year.\n\nPer 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.\n\nWrite down three things before you pick a replacement:\n\n**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.\n\n**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.\n\n**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.\n\nFor 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.\n\nBefore, with the Custom Search JSON API:\n\n```\ncurl \"https://www.googleapis.com/customsearch/v1?key=YOUR_GOOGLE_KEY&cx=YOUR_ENGINE_ID&q=coffee+shops+jakarta\"\n```\n\nAfter, with 1ToolRing over REST:\n\n```\ncurl -X POST https://api.1toolring.com/api/v1/tools/run \\\n  -H \"Authorization: Bearer YOUR_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"tool\":\"dataforseo/serp/google-organic\",\"input\":{\"body\":{\"keyword\":\"coffee shops jakarta\",\"language_code\":\"en\"}}}'\n```\n\nThe 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.\n\nOne 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.\n\nIf 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:\n\n```\nclaude mcp add --transport http 1toolring https://mcp.1toolring.com/mcp\n```\n\nThen 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.\n\n`customsearch/v1`, including cron jobs and old scripts.\nThe 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/).", "url": "https://wpnews.pro/news/google-s-custom-search-json-api-shuts-down-on-1-january-2027-here-s-how-i-d", "canonical_source": "https://dev.to/khmuhtadin/googles-custom-search-json-api-shuts-down-on-1-january-2027-heres-how-id-migrate-488p", "published_at": "2026-11-05 02:09:58+00:00", "updated_at": "2026-11-05 02:23:04.910436+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "agent-protocols", "ai-search"], "entities": ["Google", "1ToolRing", "Brave Search API", "Exa", "Tavily", "Claude Code", "Cursor", "Custom Search JSON API"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/google-s-custom-search-json-api-shuts-down-on-1-january-2027-here-s-how-i-d", "markdown": "https://wpnews.pro/news/google-s-custom-search-json-api-shuts-down-on-1-january-2027-here-s-how-i-d.md", "text": "https://wpnews.pro/news/google-s-custom-search-json-api-shuts-down-on-1-january-2027-here-s-how-i-d.txt", "jsonld": "https://wpnews.pro/news/google-s-custom-search-json-api-shuts-down-on-1-january-2027-here-s-how-i-d.jsonld"}}