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.

GET/api/v1/search/web?q=postgres+connection+pooling&num=3
200 OK0.17s1 credit85,000 results
{  "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

Keys in a successful GET /search/ai/gemini response
KeyTypeWhat it holds
answerstringThe answer as plain text
answerMarkdownstringThe markdown Gemini itself produced, so lists and emphasis survive
citationsarrayEach cited page as { index, url, title, domain }, when Gemini grounds the answer
sourcesarrayThe unique cited domains, www. removed: the list to count for share of voice
relatedarrayFollow-up suggestions where the page shows them; can be empty
modelstringgemini-flash (anonymous), the tag for Gemini's signed-out web app
threadUrlnullnull on Gemini
completebooleanfalse if the capture ended before Gemini finished; incomplete answers are never cached
cachedbooleantrue when the answer came from the 1-hour cache
searchParameters, fetchedAt, sourceobject, string, stringYour request echoed back, when the answer was captured, and the engine tag

Request parameters

Query parameters for GET /search/ai/gemini; send your key in the x-api-key header
ParameterRequiredDefaultWhat it does
qYesnoneThe prompt, up to 500 characters
glNousCountry to ask from; the request goes out through an exit in that country when one is available
hlNoenLanguage to ask in
cacheNotruefalse 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

4 credits per answer. Pack price ÷ credits × 4, rounded to the cent
PackPriceGemini answersPer 1,000 answers
Micro$3.991,250$3.19
Starter$9.995,000$2.00
Builder$29.9918,750$1.60
Scale$74.9962,500$1.20
Pro$199.99225,000$0.89
Enterprise$7991,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

Pair it with Google data

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.