AnswerLine Start free

Engines

Gemini scraper API

Gemini's grounded answer with its sources, inline citations and comparison tables as shopping cards.

Price

$1.50 per 1,000 requests at Starter, down to $1.00 at Max, deducted from your prepaid USD balance.

Endpoint

POST /v1/monitor/gemini

Or queue it with POST /v1/async/task and taskType: "GEMINI".

Countries

213 countries, plus US states.

Coverage

Request

curl -X POST "https://api.answerline.dev/v1/monitor/gemini" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"iPhone 17 or Galaxy S26?","country":"US"}'

Every request option is on the Gemini reference page.

What you get back

Field in resultTypeDescription
textstringText of Gemini's reply
markdownstringGemini's reply as Markdown
linksobject[]The links in the answer's text, in the order a reader meets them: one entry per web (http or https) link the answer shows, images and code aside, with the words it shows (text), where it goes (url), its domain and its 1-based position. Sources cited by pills are in citationPills; links to the same page appear in both when the answer does both. Empty when the text links nowhere.
sourcesobject[]Sources that Gemini cited
citationPillsobject[]Citation pills that appear inline in the Gemini answer. Every element pairs one chip with one source: a chip backed by N sources (Gemini's equivalent of +N, or a section-summary chip) yields N elements with the same citationPillId, each holding that source's own label, url and domain. Grouping by citationPillId rebuilds the pills. label is always sent; it may be an empty string if the rail gives that source no title. Empty when the answer has no pills.
shoppingCardsobject[]Product cards Gemini shows beside a shopping-related answer, in display order. Absent when the answer has none.
placesobject[]Place cards included in lodging and local answers
entitiesobject[]The brands and products Gemini's answer shows as entity cards, in answer order. Absent when the answer has none.
videosobject[]Video cards Gemini shows in its answer, in answer order
searchQueriesstring[]Searches Gemini ran for the answer, when it shows them
modelstringThe model Gemini names as the one that answered; null when the answer does not name it.

Full field definitions are on the Gemini reference page.

The Gemini app answer versus grounding in the Gemini API

This endpoint returns the answer the Gemini app gives a user for a prompt and market, as text, markdown, links, sources, citationPills and shoppingCards.

Google’s developer API offers grounding with Google Search for your own prompts. Its guide (checked 2026-09-17, ai.google.dev) says a grounded response contains the search queries the model executed, url_citation annotations that tie text segments to source URLs, and a search-suggestions HTML snippet whose use is governed by the Gemini API terms. The same page says Gemini 3 models are billed per search query the model decides to run, and Gemini 2.5 and older per prompt.

Grounding is a tool for building your own product. For measuring what Gemini tells the public it has a flaw: model choice, system instructions and tool settings are yours, so you measure your configuration. The app answer reflects Google’s choices, which are what users see.

The app also shows product cards beside shopping answers, with prices, stores and ratings, which come back here as shoppingCards. For e-commerce brands that card is the recommendation. Place cards (places) are not returned today. And citationPills records which sources sit behind each inline chip in the app, including section-summary chips that cite several sources at once.

An annotated response

The excerpt follows the result schema for POST /v1/monitor/gemini. Values are illustrative; the request set include.markdown to true.

{
  "success": true,
  "result": {
    "text": "Both phones are strong choices. The iPhone 17 favours...",
    "markdown": "Both phones are strong choices.\n\n## Camera\nThe iPhone 17 favours...",
    // Sources in order. position is an integer here.
    "sources": [
      {
        "position": 1,
        "label": "iPhone 17 vs Galaxy S26: camera test",
        "url": "https://www.example-tech.de/vergleich/iphone-17-galaxy-s26",
        "description": "Side-by-side photos in low light..."
      },
      {
        "position": 2,
        "label": "Galaxy S26 review",
        "url": "https://www.example-mobile.com/reviews/galaxy-s26",
        "description": "Battery life and display..."
      }
    ],
    // One entry per (chip, source). citationPillId is 1-based and shared by every
    // source in the same chip; position points into result.sources.
    // label is always present but may be "" -- fall back to domain.
    "citationPills": [
      { "label": "iPhone 17 vs Galaxy S26: camera test", "citationPillId": 1, "url": "https://www.example-tech.de/vergleich/iphone-17-galaxy-s26", "domain": "example-tech.de", "position": 1 },
      { "label": "", "citationPillId": 1, "url": "https://www.example-mobile.com/reviews/galaxy-s26", "domain": "example-mobile.com", "position": 2 }
    ]
    // "shoppingCards" appears when Gemini shows products, e.g.:
    // "shoppingCards": [{ "position": 1, "title": "Example Phone 17", "productId": "1234567890",
    //   "productLink": "https://www.google.com/search?q=...&prds=productid%3A1234567890",
    //   "price": { "raw": "€949.00", "value": 949, "currency": "EUR" }, "store": "Example Shop",
    //   "storeCount": 4, "rating": 4.6, "reviews": 812, "brand": "Example" }]
  }
}

Every answer is the one gemini.google.com shows for the prompt. result.provenance reads searchMode engine-default and interface web-app, or desktop-web on some requests for include.html or include.screenshot (all fields).

Notes for this engine

Shopping cards appear only on answers where Gemini shows products. Read shoppingCards with a default, and report the share of answers that carried them.

citationPills[].label can be "". Identify sources by domain or url.

Gemini answers vary between runs, so sample each prompt several times per period and report rates with sample sizes; see sampling vs census.

This endpoint has no hl or city option, so the prompt text is your only language control. It accepts a US state, which implies country US, and answers from inside that state (states). For multilingual studies write each prompt in the market’s language and keep the translations fixed across runs; multilingual AI answers covers the design.

Related: the best Gemini scrapers compared, monitoring Gemini, AI visibility tracking, competitor analysis, every request field.

Questions

How much does a Gemini request cost?

A request costs $0.0015 at the Starter tier ($1.00–$1.50 per 1,000 across tiers). The include flags for Gemini (markdown, rawResponse and rawWire) add nothing, and neither does include.html.

How is this different from grounding with Google Search in the Gemini API?

The Gemini API lets you ground your own prompts and model settings on Google Search. This endpoint returns the answer the Gemini app shows its users, with its sources, inline citation pills and shopping cards as fields.

Does the Gemini endpoint return place or shopping cards?

Shopping cards, yes: result.shoppingCards carries each product Gemini shows beside the answer, with its price, store, rating and Google Shopping link. Place cards (result.places) are not returned today.

Can I get the full HTML of a Gemini answer?

Yes. Set include.html and result.html links the answer in Gemini's own page, stored on files.answerline.dev: its headings, tables, citation chips and follow-up suggestions as Gemini lays them out. The copy opens with scripts off.

Can I target a US state with Gemini?

Yes. Gemini answers from inside the US state you send, in all 50 states and DC; a US request without a state is answered as a person in California sees it. See /docs/coverage#states.

Are failed Gemini requests charged?

No. A failed request is charged nothing and its reservation is released.

From the blog

Docs

Other engines