The Google Search scraper by cloro returns the live results page as structured JSON: organic results, ads, People Also Ask, People Are Saying, local pack, related searches, shopping cards and the AI Overview.
- Get an API key at cloro.dev.
- POST a query to
https://api.cloro.dev/v1/monitor/google. - Read the parsed fields from the JSON response.
Google removed the &num=100 parameter on September 11, 2025, so every provider now paginates at 10 results a page and depth is the dominant term in what a SERP costs. Use pages to control it, and price your workload at the depth you actually query rather than the headline rate.
import requests
payload = {
'query': 'best serp api',
'country': 'US',
'pages': 1,
'include': {'aioverview': {'markdown': True}},
}
response = requests.post(
'https://api.cloro.dev/v1/monitor/google',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json=payload,
)
print(response.json())curl -X POST https://api.cloro.dev/v1/monitor/google \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "best serp api", "country": "US", "include": {"aioverview": {"markdown": true}}}'Node.js and async/webhook examples are in the endpoint documentation.
| Parameter | Description | Default |
|---|---|---|
query* |
The search query | – |
country* |
Country code for localized results (US, GB, DE). Required unless you send gl |
– |
location |
Google canonical location name for geo-targeting. Mutually exclusive with uule |
– |
uule |
Pre-encoded Google UULE string. Mutually exclusive with location |
– |
device |
desktop, mobile, ios or android |
desktop |
pages |
Number of result pages to return | 1 |
include.aioverview |
Send {"markdown": true} to get the AI Overview block, with Markdown |
– |
include.html |
Return URLs to the full HTML, one per page (expire after 24h) | false |
* Required
{
"success": true,
"result": {
"organicResults": [
{ "position": 1, "title": "Best SERP APIs", "link": "https://example.com/serp-apis", "displayedLink": "https://example.com", "snippet": "Comparison of providers..." }
],
"peopleAlsoAsk": [{ "question": "What is a SERP API?", "type": "LINK", "snippet": "A SERP API returns search results as structured data...", "link": "https://example.com/what-is-a-serp-api" }],
"peopleAreSaying": [{ "position": 1, "title": "We switched after the num=100 change", "link": "https://www.reddit.com/r/SEO/comments/example/", "date": "3 days ago" }],
"localResults": [{ "position": 1, "title": "Example Agency", "rating": 4.6, "reviews": "128", "address": "123 Example St" }],
"aioverview": { "text": "SERP APIs return search results as structured JSON...", "sources": [{ "position": 1, "url": "https://example.com", "label": "Example" }] },
"relatedSearches": [{ "query": "serp api pricing", "link": "https://www.google.com/search?q=serp+api+pricing" }]
}
}organicResults— position, title, link, displayed link and snippet per result.aioverview— the AI Overview block with its own cited sources, returned inline rather than behind a second request.peopleAlsoAsk— PAA questions, with the answer snippet and source link where Google shows one.peopleAreSaying— the forum and social block Google now surfaces on many commercial queries.localResults— the local pack with rating, reviews and address.shoppingCards— product carousels with price and store.ads— paid results, parsed and positioned.relatedSearches— the related-query block, each with its query and search link.knowledgeGraph— the entity panel for a person, place, organization or product, when Google shows one.
Full field-level schemas are in the endpoint reference.
- Rank tracking at city level using
locationoruule, where a national average and a metro result diverge. - AI Overview monitoring — presence, text and cited sources, in the same response as the organic results.
- SERP feature research — how often PAA, local pack or People Are Saying fire on a query class.
- Competitive analysis — who holds the page for the queries your buyers run.
Google removed it on September 11, 2025. Every provider now paginates at 10 results per page, which raised the cost of top-100 depth across the category. Use pages and price at your real depth.
Yes. It is a paid add-on, charged whether or not Google shows an Overview for the query, and it comes back in the same response rather than a second request. See Google Search pricing for how credits add up with pages.
Yes. location takes a Google canonical location name and uule takes a pre-encoded string. They are mutually exclusive.
cloro returns publicly visible results pages. No court has ruled that scraping public results is unlawful, though the area is active. Check your own jurisdiction and use case.
- Endpoint reference: cloro.dev/docs
- Product page: cloro.dev/google-search
AI Mode · AI Overview · ChatGPT · Copilot · Gemini · Google News · Grok · Perplexity
Questions or support: ask the docs AI assistant.
