The Gemini scraper by cloro returns Google Gemini answers as structured JSON: the answer text and markdown, and every grounded source with position, label and description.
- Get an API key at cloro.dev.
- POST a prompt to
https://api.cloro.dev/v1/monitor/gemini. - Read the parsed fields from the JSON response.
Gemini runs on a separate authenticated domain from Google Search, so it is a different scraping problem from AI Mode or AI Overview even though all three are Google surfaces. The grounded sources panel is what cloro parses; the answer text alone is available from the model API and is not what this endpoint is for.
import requests
payload = {
'prompt': 'how do AI visibility tracking tools work',
'country': 'US',
'include': {'markdown': True},
}
response = requests.post(
'https://api.cloro.dev/v1/monitor/gemini',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
json=payload,
)
print(response.json())curl -X POST https://api.cloro.dev/v1/monitor/gemini \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "how do AI visibility tracking tools work", "country": "US"}'Node.js and async/webhook examples are in the endpoint documentation.
| Parameter | Description | Default |
|---|---|---|
prompt* |
The query or question (1-10,000 characters) | – |
country |
Country code for localized results (US, GB, DE) |
US |
state |
US state code for finer localization | – |
include.markdown |
Return the answer as Markdown | false |
include.html |
Return a URL to the full HTML (expires after 24h) | false |
include.rawResponse |
Return the unparsed upstream payload | false |
* Required
{
"success": true,
"result": {
"text": "AI visibility tracking tools run scheduled prompts against AI engines and parse...",
"sources": [
{ "position": 1, "url": "https://example.com/geo-guide", "label": "Example GEO Guide", "description": "How AI visibility tools collect data..." }
],
"markdown": "AI visibility tracking tools run scheduled prompts..."
}
}Alongside text and markdown:
sources— the grounded sources panel, with position, label and description per source.citationPills— inline citation chips where the answer carries them.rawResponse— the unparsed upstream payload.
Gemini returns a narrower structure than AI Mode or ChatGPT. There are no shopping or place arrays on this surface.
Full field-level schemas are in the endpoint reference.
- Brand monitoring on Google's assistant surface, which is distinct from AI Mode and AI Overview.
- Grounding research — which domains Gemini treats as authoritative on a question.
- Cross-engine comparison — run the same prompt across Gemini, ChatGPT, Perplexity and Copilot and compare source overlap.
- Content validation — check whether Gemini describes your product correctly, not just whether it names you.
The model API returns generated text. This returns what the Gemini product shows, including the grounded sources panel, which is the part that matters for visibility work.
No. AI Mode sits inside Google Search and is reached with udm=50; Gemini is a separate product on its own domain, with its own citation behaviour.
cloro reads publicly visible responses. Check your own jurisdiction and terms.
Yes, via country and state.
- Endpoint reference: cloro.dev/docs
- Product page: cloro.dev/gemini
AI Mode · AI Overview · ChatGPT · Copilot · Google Search · Google News · Grok · Perplexity
Questions or support: r/cloroapi.
