Test
10,000 searches
$7.50
$0.75/1K searches
- Try every engine on your real queries
- Same API as the biggest pack
- Credits never expire
Migration guide · facts checked on 22 October 2026
Google closed its Custom Search JSON API to new customers and ends it for everyone on 1 January 2027. This page sets out what changes, what Google offers instead, and how to move your code to a SERP API in an afternoon.
Quick answer
What replaces the Google Custom Search JSON API?
Google's Custom Search JSON API is closed to new customers, and existing customers must move by 1 January 2027. Google points to Vertex AI Search for up to 50 domains; for whole-web results, a SERP API is the usual replacement. SerpCrypto returns the full Google results page as JSON from $0.30/1K searches, against $5 per 1,000 queries for Custom Search (October 2026). No KYC; pay in crypto.
| New customers | Closed: "The Custom Search JSON API is closed to new customers" |
|---|---|
| End of service | 1 January 2027 for existing customers |
| Price | 100 queries a day free, then $5 per 1,000 queries, up to 10,000 queries a day |
| Results per request | Up to 10 |
| "Search the entire web" | Unavailable to new Programmable Search Engines since 20 January 2026; existing engines keep it until 1 January 2027 |
| Google's suggested alternative | Vertex AI Search, for searching up to 50 domains |
| Full-web API from Google | Web Search Service API: partner-only, no public price |
Google is narrowing its developer search products to site search and enterprise search. The changes were announced on 20 January 2026 on the Programmable Search Engine blog.
If your product sends Custom Search requests today, it has about ten weeks left from the date of this page.
The right choice depends on one question: do you search a few sites you control, or the whole web as Google shows it?
| Option | Who can use it | Searches the whole web | Public price | Status |
|---|---|---|---|---|
| SerpCrypto SERP API | Anyone with crypto, no KYC | Yes: Google's results page as JSON | $7.50 for 10,000; from $0.30/1K searches | Available |
| Custom Search JSON API | Existing customers only | Only for existing "entire web" engines | $5 per 1,000 after 100 free a day | Ends 1 January 2027 |
| Programmable Search Engine, new engines | Anyone | No: up to 50 domains | — | Sites to search only |
| Vertex AI Search | Google Cloud customers | No: Google suggests it for up to 50 domains | Google Cloud pricing | Available |
| Web Search Service API | Google partners with a partner client ID | Yes | Not published | Partner-only |
Prices checked on
Sources at the bottom of the page. "—" = not applicable or not published.
Most parameters have a direct equivalent, and two disappear. You no longer need cx, because there is no engine to configure: every request searches the whole of Google. The API key moves from the key parameter to the Authorization header, or to api_key if you prefer a query string.
| Custom Search JSON API | SerpCrypto | Note |
|---|---|---|
q | q | Same query syntax, including operators such as site: |
key | Authorization: Bearer … or api_key | |
cx | — | Not needed: whole-web results |
num (1–10) | — | Google returns about 10 organic results per page |
start (1, 11, 21…) | page (1, 2, 3…) | page = (start - 1) / 10 + 1; Custom Search stops at result 100, as does page=10 |
gl | gl | Two-letter country code |
hl, lr | hl | Interface language |
safe | safe | active or off |
siteSearch | site:example.com inside q | |
dateRestrict (d7, m1…) | period (h, d, w, m, y) | Coarser steps |
On the response side, items[] becomes organic_results[], and title, link and snippet keep their names. displayLink becomes displayed_link. You also gain the blocks Custom Search never returned: ads, People Also Ask, the AI Overview, the local pack and top stories.
import os
import requests
# Before: Custom Search JSON API (ends 1 January 2027)
# requests.get("https://www.googleapis.com/customsearch/v1",
# params={"key": KEY, "cx": CX, "q": "solar inverter", "gl": "de", "start": 11})
# After: SerpCrypto
resp = requests.get(
"https://serpcrypto.com/api/v1/search",
headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
params={"q": "solar inverter", "gl": "de", "hl": "de", "page": 2},
timeout=60,
)
resp.raise_for_status()
for item in resp.json().get("organic_results", []):
print(item["position"], item["title"], item["link"], item.get("snippet", ""))
Custom Search charges $5 per 1,000 queries after the first 100 each day, with a ceiling of 10,000 queries a day. SerpCrypto charges one credit per successful search: $0.75/1K searches on the 10,000 searches pack, $0.56/1K searches on 100,000 searches and $0.38/1K searches on 1,000,000 searches, as of October 2026.
Take an app that sends 3,000 queries a day. On Custom Search it pays for 2,900 of them, about $14.50 a day or $435 a month. The same 90,000 searches a month fit in the 100,000 searches pack at $56.25. Searches are limited by how many run at the same time, not by a daily quota, and unused credits do not expire.
You lose the Google brand on the contract and the 100 free queries a day. SerpCrypto has no free tier: the smallest pack is 10,000 searches for $7.50, paid from a $25 top-up.
You gain the page as people actually see it. Google's own help page says a Programmable Search Engine draws on a subset of the Google index and lacks features of Google.com such as Oneboxes and real-time results. Its API never returned the AI Overview or the map pack either. With a SERP API you also get country, language, city and device targeting in every request, and the same key covers Google News, Images, Maps, Shopping and Bing.
Multiply your daily Custom Search queries by 30. Under 300 a day, 10,000 searches lasts more than a month; at 3,000 a day, 100,000 searches covers a month. Credits never expire.
10,000 searches
$7.50
$0.75/1K searches
100,000 searches
$56.25
$0.56/1K searches
500,000 searches
$281.25
$0.56/1K searches
1,000,000 searches
$375
$0.38/1K searches
In every plan: Every engine at 1 credit per search · Failed requests not charged · Credits never expire · Country, language, city and device targeting
Yes. Google's developer page says the API is closed to new customers and that existing customers have until 1 January 2027 to move to another solution. After that date, requests stop working for everyone.
No. Since 20 January 2026, new engines can only search a list of up to 50 domains. Engines that already had "Search the entire web" keep it until 1 January 2027, unless they switch it off, which cannot be undone.
Only for partners. Google documented a Web Search Service API in September 2026; it needs a partner client ID and has no public price. For everyone else, SERP APIs such as SerpCrypto are the practical option.
Yes. Put the site: operator in the query, for example q=return policy site:example.com. It searches Google's public results for that site, which is close to what a site-restricted engine did.
Yes. SerpCrypto works on prepaid credits paid in BTC, USDT, USDC, ETH, SOL, LTC, from a $25 top-up. It asks for no ID, no selfie and no company documents.
From $0.30/1K searches · no KYC
Get an API key