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
engine=google · 1 credit per search · from $0.30/1K searches
Send a query with a country, a language and, if you need it, a city. Get back what Google showed for it: organic results, ads, People Also Ask, the AI Overview, the local pack and more, as structured JSON.
Quick answer
Is there a Google Search API that returns the results page as JSON?
Yes. The SerpCrypto Google Search API runs a Google search for your query, country, language, city and device, and returns the results page as JSON: organic results, ads, People Also Ask, the AI Overview with its sources when Google shows one, the local pack, the knowledge panel and top stories. One successful search costs one credit, from $0.30/1K searches as of October 2026. No KYC; pay in crypto.
| Endpoint | GET https://serpcrypto.com/api/v1/search?engine=google&q=… |
|---|---|
| Price | $7.50 for 10,000 searches, $56.25 for 100,000 searches, from $0.30/1K searches at 5,000,000 searches |
| Billing | 1 credit = 1 successful search request, which returns one page of results on any supported engine. A request that fails is not charged |
| Credit expiry | Never |
| Targeting | Country (gl), language (hl), Google domain and a city-level location string, on desktop or mobile |
| Results per page | About 10 organic results per page, as Google has served since it stopped honouring num=100 in September 2025; each extra page is one more credit |
| Blocks returned | organic_results, ads, people_also_ask, ai_overview, local_results, knowledge_graph, top_stories, inline_videos, shopping_results, related_searches, pagination |
| Authentication | An API key in the Authorization header (Bearer) or in the api_key query parameter |
| Payment | BTC, USDT, USDC, ETH, SOL, LTC, from a $25 top-up; no KYC |
It returns one JSON object per results page, with one key per block that Google showed. A block that is not on the page is simply absent, so your code should test for the key before reading it.
| Key | What it holds |
|---|---|
organic_results | Position, title, link, displayed link, snippet, date when shown, sitelinks |
ads | Text ads above and below the results, with their position and block |
people_also_ask | Each question, its answer snippet and the source link |
ai_overview | The AI Overview text and the pages it cites, when Google shows one |
local_results | The map pack: business name, address, rating, review count, category |
knowledge_graph | Title, type, description and source of the knowledge panel |
top_stories | News cards with title, link, source and date |
related_searches | The queries Google suggests at the bottom of the page |
Every response starts with search_metadata (status, engine, time, credits_used) and search_parameters (the settings actually used). The response format page lists every field with an example.
import os
import requests
resp = requests.get(
"https://serpcrypto.com/api/v1/search",
headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
params={"engine": "google", "q": "e-bike kaufen", "gl": "de", "hl": "de", "google_domain": "google.de"},
timeout=60,
)
resp.raise_for_status()
data = resp.json()
for r in data.get("organic_results", []):
print(r["position"], r["title"], r["link"])
print("credits used:", data["search_metadata"]["credits_used"])
Set gl to the two-letter country code, hl to the interface language, and location to a city-level place name such as Austin, Texas, United States. Add device=mobile to get the phone layout, which often orders local and video blocks differently from desktop.
gl=gb returns what a searcher in the United Kingdom sees; pair it with google_domain=google.co.uk.hl=es with gl=us shows the Spanish-language interface in the United States.location matters most for local intent queries such as plumbers, restaurants or clinics.desktop is the default; a mobile check of the same query is a separate search with its own credit.The locations and languages page has the codes for common markets and the format of location strings.
One request returns one results page, which is about 10 organic results. Google stopped honouring the num=100 parameter around 10 to 14 September 2025, so a top-100 check now takes 10 requests instead of one. A Search Engine Land analysis of 319 sites found that 87.7% of them lost Search Console impressions after the change, mostly from pages beyond the first results page.
With SerpCrypto, page=2 to page=10 fetch the following pages, and each page is one credit. A daily top-10 check of 1,000 keywords is therefore 30,000 searches a month; a daily top-100 check is 300,000. The rank tracking guide shows how to budget both.
Yes, when Google shows one. The ai_overview object holds the overview text and a references list with the title, link and source of each page it cites. Google does not show an AI Overview for every query, country or device, so the key is absent on many results pages.
AI Overview data answers two practical questions: whether your pages are cited for a query, and which competitors are. Store ai_overview.references next to organic_results positions, and you can follow both over time with the same daily job.
They work, but every provider, including us, deals with more friction than two years ago. These are the public facts as of 22 October 2026:
num=100 stopped working, so deep checks cost 10 times more requests./goto redirect.What this means for you: a search that fails returns an error and is not charged, so failures cost you time, not credits. We do not publish a success rate or a response time until we have measured them over a public sample; when we do, the method and date will be on this page.
Google costs the same single credit as every other engine. 10,000 searches cost $7.50, 100,000 searches cost $56.25 and 1,000,000 searches cost $375, as of October 2026. Credits never expire. See all seven packs.
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
No. SerpCrypto is an independent SERP API: it runs the search and parses the page Google returns. Google's own developer search product is the Custom Search JSON API, which searches a configured set of sites; see how the two compare on our Google Custom Search API alternative page.
No. Google stopped honouring num=100 in September 2025, so one results page holds about 10 organic results. Request page=2 to page=10 for positions 11 to 100; each page is one credit.
No. 1 credit = 1 successful search request, which returns one page of results on any supported engine. A request that fails is not charged. Errors come back with an HTTP status and a code such as search_failed or search_timeout; the errors page shows a retry loop with backoff.
No. SerpCrypto is a no-KYC SERP API: no ID, no selfie, no company documents and no card. Account-number login; email is optional. You top up from $25 in BTC, USDT, USDC, ETH, SOL, LTC.
From $0.30/1K searches · no KYC
Get an API key