Gemini citations API
Gemini Scraper API: Google Gemini Answers and Citations
Searlo's Gemini scraper API asks Google's Gemini web app your prompt as a signed-out visitor and returns the answer, Gemini's own markdown, its citations and the cited domains as JSON, for 4 credits per answer.
{ "searchTime": 0.17, "totalResults": 85000, "page": 1, "organic": [ { "position": 1, "title": "31.10. Connection Pools and Data Sources", "link": "www.postgresql.org/docs/…", "domain": "postgresql.org", "snippet": "For an environment without an application se…" }, { "position": 2, "domain": "medium.com", … }, { "position": 3, "domain": "stackoverflow.blog", … } ], "credits": 1}How do I scrape Google Gemini's answers and citations?
Send the prompt to GET /search/ai/gemini. Searlo asks gemini.google.com as a signed-out visitor in a real browser session, reads the finished answer and returns the text, the markdown, the citations and the cited domains as JSON. Each answer costs 4 credits: $1.20 per 1,000 answers at $0.30 per 1,000 credits.
It is Gemini's consumer answer, not a Gemini API call and not a Google search result. It varies from run to run, and a live one typically takes 10 to 30 seconds.
- Endpoint
- GET https://api.searlo.tech/api/v1/search/ai/gemini?q=…&gl=us&hl=en
- Price
- 4 credits per answer: $1.20 per 1,000 at $0.30 per 1,000 credits, $0.80 on the Enterprise pack— our pricing
- Returned
- answer, answerMarkdown (Gemini's own markdown), citations, sources, related, model, complete
- Citations
- Present when Gemini grounds its answer in web results; a general-knowledge answer can have none
- Latency and caching
- Typically 10-30 s live; the same request within 1 hour is served from cache unless cache=false
- AI citations vs Google's top 10
- On average 12% of URLs cited by ChatGPT, Gemini and Copilot rank in Google's top 10 for the same query (15,000 queries, August 2025)— Ahrefs
Third-party figures on this page last verified against the sources linked above. Prices change; if you find one of these stale, tell us and we will correct it.
What the Gemini scraper API returns
Gemini is Google's assistant, and being Google's doesn't make it a mirror of Google's rankings. Across ChatGPT, Gemini and Copilot, Ahrefs found that on average only 12% of cited URLs ranked in Google's top 10 for the same query (15,000 queries, August 2025, checked 2026-09-29). To know what Gemini says about your category, you have to ask Gemini.
GET /search/ai/gemini does the asking. Searlo opens the Gemini web app at gemini.google.com as a signed-out visitor in a real browser session, submits the prompt and reads Gemini's reply. You get the answer as plain text and as the markdown Gemini itself produced, the citations (index, url, title, domain), sources (the unique cited domains, for share of voice) and complete.
Gemini is also a different surface from Google's AI Overviews, which appear inside the search results page. For those, use the full SERP endpoint, which includes the AI Overview by default: it comes back with the organic results, ads and People Also Ask from the same page, for 3 credits per page.
Searlo is independent and is not affiliated with, endorsed by or sponsored by Google. Gemini and Google are trademarks of Google.
Ask Gemini in one request
Pass the prompt as q, with gl and hl for country and language. A live answer typically takes 10 to 30 seconds, so give your HTTP client a generous timeout.
curl "https://api.searlo.tech/api/v1/search/ai/gemini?q=which+electric+cars+have+the+longest+range&gl=us&hl=en" \
-H "x-api-key: YOUR_API_KEY"
# A fresh, independent sample (billed like any live call): add cache=false
curl "https://api.searlo.tech/api/v1/search/ai/gemini?q=which+electric+cars+have+the+longest+range&gl=us&hl=en&cache=false" \
-H "x-api-key: YOUR_API_KEY"import requests
resp = requests.get(
"https://api.searlo.tech/api/v1/search/ai/gemini",
headers={"x-api-key": "YOUR_API_KEY"},
params={"q": "which electric cars have the longest range", "gl": "us", "hl": "en"},
timeout=180, # a live answer typically takes 10-30 seconds
)
resp.raise_for_status()
data = resp.json()
print(data["answerMarkdown"][:300]) # Gemini's own markdown
if not data["citations"]:
print("answered without citing any page")
for c in data["citations"]:
print(c["index"], c["domain"], c["url"])const params = new URLSearchParams({
q: "which electric cars have the longest range",
gl: "us",
hl: "en",
});
const resp = await fetch(
`https://api.searlo.tech/api/v1/search/ai/gemini?${params}`,
{
headers: { "x-api-key": "YOUR_API_KEY" },
signal: AbortSignal.timeout(180_000), // live answers typically take 10-30 s
},
);
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const data = await resp.json();
console.log(data.model, "|", data.citations.length, "citations", data.sources);
console.log(data.answerMarkdown.slice(0, 300));Example response (illustrative)
Real keys, illustrative values, shortened. answerMarkdown is Gemini's own markdown, model carries the tag for Gemini's signed-out web app, and threadUrl is null.
{
"success": true,
"searchParameters": {
"q": "which electric cars have the longest range",
"type": "ai",
"engine": "gemini",
"mode": "ui",
"gl": "us",
"hl": "en"
},
"answer": "Range depends heavily on trim, wheel size and weather. Among models sold in the US, the longest official ranges come from large premium sedans, and several mainstream models now exceed 300 miles on a charge…",
"answerMarkdown": "Range depends heavily on **trim, wheel size and weather**.\n\n* **Premium sedans** have the longest official ranges.\n* **Mainstream models:** several now exceed 300 miles on a charge…",
"citations": [
{ "index": 1, "url": "https://www.caranddriver.com/…", "title": "Longest-Range Electric Cars", "domain": "caranddriver.com" },
{ "index": 2, "url": "https://www.fueleconomy.gov/…", "title": "Compare Electric Vehicles", "domain": "fueleconomy.gov" }
],
"sources": ["caranddriver.com", "fueleconomy.gov"],
"related": [],
"model": "gemini-flash (anonymous)",
"threadUrl": null,
"complete": true,
"fetchedAt": "2026-09-29T11:20:09.664Z",
"source": "searlo.tech(gemini)",
"cached": false
}Response fields
| Key | Type | What it holds |
|---|---|---|
| answer | string | The answer as plain text |
| answerMarkdown | string | The markdown Gemini itself produced, so lists and emphasis survive |
| citations | array | Each cited page as { index, url, title, domain }, when Gemini grounds the answer |
| sources | array | The unique cited domains, www. removed: the list to count for share of voice |
| related | array | Follow-up suggestions where the page shows them; can be empty |
| model | string | gemini-flash (anonymous), the tag for Gemini's signed-out web app |
| threadUrl | null | null on Gemini |
| complete | boolean | false if the capture ended before Gemini finished; incomplete answers are never cached |
| cached | boolean | true when the answer came from the 1-hour cache |
| searchParameters, fetchedAt, source | object, string, string | Your request echoed back, when the answer was captured, and the engine tag |
Request parameters
| Parameter | Required | Default | What it does |
|---|---|---|---|
| q | Yes | none | The prompt, up to 500 characters |
| gl | No | us | Country to ask from; the request goes out through an exit in that country when one is available |
| hl | No | en | Language to ask in |
| cache | No | true | false forces a fresh run, billed like any live call; otherwise the same request within 1 hour gets the stored answer |
Why a Gemini answer costs 4 credits
A Google web search on Searlo is 1 credit. A Gemini answer is 4, because it is produced live in Gemini's own web app: a real browser session that loads Gemini, asks the question and reads the reply as Gemini streams it. That is the point, since it is the answer Gemini's users get.
It costs half as much as ChatGPT or Copilot because a Gemini answer is finished the moment Gemini's response stream ends. There is no settling period to wait out, so each capture holds a browser session for less time.
Credits are charged per successful call, live or cached. Refused or failed calls (HTTP 429 or 503, success: false) are refunded automatically. Packs are one-time purchases with no subscription; new users' credits are valid for 90 days.
What Gemini answers cost on each pack
| Pack | Price | Gemini answers | Per 1,000 answers |
|---|---|---|---|
| Micro | $3.99 | 1,250 | $3.19 |
| Starter | $9.99 | 5,000 | $2.00 |
| Builder | $29.99 | 18,750 | $1.60 |
| Scale | $74.99 | 62,500 | $1.20 |
| Pro | $199.99 | 225,000 | $0.89 |
| Enterprise | $799 | 1,000,000 | $0.80 |
Latency, caching and non-determinism
Gemini's answers are non-deterministic: the same prompt can come back with different wording, brands and sources. Sample each prompt several times and report rates, not single answers.
- A live answer typically takes 10 to 30 seconds. Run tracking jobs in the background; the samples allow 180 seconds.
- Gemini cites only when it grounds its answer in web results. A general-knowledge prompt can return an answer with an empty citations array, which tells you it came from the model rather than from any page.
- The same request (prompt, gl and hl) within 1 hour returns the stored answer with cached: true. Pass cache=false for every sample you want independent.
- Send repeat samples one after another. Identical requests in flight at the same moment can be merged into one run: both are billed and both get the same answer.
- At capacity the API returns 429 with a Retry-After header. Wait that long and retry; the refused call costs nothing.
- Country targeting is best-effort: the request goes out through an exit in the gl country when one is available.
Compare Gemini with the other engines
AI visibility API
Share of voice across ChatGPT, Perplexity, Copilot and Gemini, with a complete Python workflow.
ChatGPT scraper API
Logged-out chatgpt.com answers and citations, 8 credits per answer.
Perplexity scraper API
perplexity.ai answers with numbered citations, 2 credits per answer.
Copilot scraper API
Microsoft Copilot answers on Bing, with citation pills, 8 credits per answer.
Pair it with Google data
Google AI Overviews
The AI Overview inside Google Search results: GET /serp, AI Overview included by default, 3 credits per page.
Rank tracking
Google positions for the same keywords, to see where Gemini's citations and Google's rankings part ways.
Web scraping
Fetch the pages Gemini cites as markdown and see what it quotes.
What teams track in Gemini
- Whether Gemini names your brand for the questions your buyers ask
- Which sites Gemini cites when it grounds an answer, next to Google's own AI Overviews
- Gaps between Google rankings and Gemini citations, keyword by keyword
- How often Gemini answers from the model with no citations at all
- Client reporting for AEO and GEO agencies, per prompt and per week
FAQ
Gemini scraper API: FAQ
Is this the Gemini API?
No. Google's Gemini API gives developers access to Gemini models. Searlo is independent and not affiliated with Google; this endpoint captures the answer the consumer Gemini web app gives a signed-out visitor, which is what AI visibility tracking measures.
What is the difference between Gemini and Google AI Overviews?
Gemini is Google's standalone assistant at gemini.google.com. AI Overviews are the AI summaries inside Google Search results. They are separate surfaces with separate answers: capture Gemini here, and AI Overviews with GET /serp, which includes them by default, at 3 credits per results page.
How much does the Gemini scraper API cost?
4 credits per answer: $1.20 per 1,000 answers at $0.30 per 1,000 credits (the Scale pack), $0.80 on the Enterprise pack and $3.19 on the smallest. The 3,000 free credits cover 750 answers, and packs are one-time purchases with no subscription.
Why do some Gemini answers have no citations?
Gemini cites sources when it grounds an answer in web results. When it answers from the model's own knowledge there is nothing to cite, and citations comes back empty. Track that rate too: it shows which prompts Gemini answers without looking anything up.
What does the model field show?
Answers from Gemini's signed-out web app carry the tag gemini-flash (anonymous). Searlo sets it to mark where the answer came from; signed-in or paying Gemini users may be served a different model and a different answer.
How long does a request take?
A live answer typically takes 10 to 30 seconds while Gemini writes it. The same request within an hour returns the cached answer without a new run, unless you pass cache=false.
What rate limits apply?
Gemini calls share your account's search rate limit, the same on every plan: 300 req/s, 10,000/min and 900,000/day. The tighter limit in practice is Gemini capacity. When it is full the API returns 429 with a Retry-After header, and the refused call is not charged.
Start tracking Gemini answers
3,000 free credits and no card: enough for 750 Gemini answers.