Google AI Product Answers
Pricing
$8.00 / 1,000 ai overview scrapeds
Google AI Product Answers
Hosted google ai overview scraper that returns structured JSON without the captcha-solving, proxy-rotation, and site-update maintenance you'd otherwise own. Run it from the Apify Store with one click, or call it from your own service via the Apify API.
Google AI Product Answers: turn a barcode into a described, sourced product
Give this actor a barcode, a model number or a product name and it returns Google's AI answer about that exact product as structured JSON: what the product is, its specifications, the shops carrying it, and the merchant pages the answer cited. One dataset row per product.
The interesting input is a bare barcode. An EAN or UPC on its own is not a search term in any useful sense, yet Google resolves it to the real product and writes an answer about it. That turns a number with nothing attached into a described, sourced item without a product catalogue anywhere in the loop.
What you get
- A written description of the product (
answer_text) covering what it is, what it is made of, what is in the box and how it is used, in the language you asked in. - The description with its structure intact (
answer_blocks): specification lists stay lists, section headings stay headings, and each block carries the merchant pages cited for it. - The merchant pages behind the answer (
sources) with shop name, domain, page title, the snippet Google used and the destination URL. These are the retailers Google found carrying the product. - Google's own product identifiers (
products) where the answer surfaced a product card: catalog id, product id, merchant id and cluster id, plus title, URL and image. - Links inside the answer (
links) with Google's redirect already resolved to the real shop URL. - An honest answered flag (
answered). Products Google could not resolve come back marked, and are not billed.
Why look products up this way
A barcode is the one identifier every supply chain agrees on and the one that carries no information. It tells you nothing about what the product is, and the usual ways to find out are all partial: a commercial barcode database has coverage gaps and stale titles, a marketplace listing gives you one seller's description, and scraping a shop gives you that shop's catalogue and nobody else's.
Asking the question of a system that has already read the whole retail web is a different approach. The answer is assembled from the merchant pages that actually carry the product, so the description reflects what several sellers say rather than one, and the cited pages are themselves the useful output: they are a list of retailers stocking that barcode, discovered rather than configured.
It is worth being clear about what this is not. It is not a price feed and it is not a guaranteed-coverage database. It is a fast way to go from an identifier you have to a description and a set of sources you did not, for products where a catalogue lookup returns nothing.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
products | array of strings | yes | — | One product per line: a barcode (EAN, UPC, GTIN), a model number, or a product name. |
product_urls | array of strings | no | empty | Google product links to ground the answer on, when you already have them. |
country | string | no | nl | Two-letter country code. Sets which market's shops the answer draws on. |
language | string | no | nl | Two-letter language code for the answer. |
retries | integer | no | 3 | Extra rounds to spend when an answer does not render. Range 0 to 5. |
Supply products on its own for the ordinary case. If you pass
product_urls together with exactly one entry in products, that entry is
used as the question asked about each link, which is how you ask "is this worth
buying" about a list of specific products.
Output
One row per product.
{"query": "8711942001414","country": "nl","language": "nl","answered": true,"product_url": "","answer_text": "Dit EAN-barcodenummer hoort bij de Victorinox Swiss Classic Tomatenmessenset. Het betreft een 6-delige, meerkleurige set met gekartelde messen van roestvrij staal...","answer_blocks": [{"type": "paragraph","text": "Dit EAN-barcodenummer hoort bij de Victorinox Swiss Classic Tomatenmessenset...","citations": [{ "uuid": "ebe31371", "site_name": "Supersales", "domains": ["supersales.nl"] }]},{ "type": "heading", "text": "Productspecificaties", "level": 3, "citations": [] },{"type": "list","items": ["Merk: Victorinox", "Serie: Swiss Classic", "Aantal delen: 6"],"citations": []}],"answer_block_count": 4,"sources": [{"site_name": "Supersales","domain": "supersales.nl","title": "Victorinox Swiss Classic Tomatenmessenset - 11cm - 6-delig","snippet": "Merk, Victorinox. Serie, Swiss Classic...","url": "https://www.supersales.nl/p/victorinox-swiss-classic-tomatenmessenset...","favicon": "https://...","thumbnail": "https://...","citation_id": "ebe31371"}],"source_domains": ["nr1koken.nl", "supersales.nl"],"source_count": 2,"links": [{ "text": "Victorinox Swiss Classic Tomatenmessenset", "url": "https://www.supersales.nl/p/...", "kind": "site" }],"products": [{ "title": "Victorinox Swiss Classic Tomatenmessenset", "url": "https://...", "image": "https://...","catalog_id": "14746354957...", "product_id": "", "merchant_id": "576462...", "cluster_id": "" }],"thread_id": "rHKhasr7IsidhvcP3v7aoAU","attempts": 1,"error": null,"fetched_at": "2026-09-09T15:44:07Z","duration_seconds": 6.7,"response_bytes": 333779}
Use cases
Filling gaps in a product catalogue. Run the barcodes your catalogue has no title or description for. What comes back is a written description, a specification list and the shops that carry the item, which is enough to create a usable record for a product you previously had only a number for.
Finding which retailers carry a barcode. source_domains is a discovered
list of shops selling that product in the chosen market. Compare it across
markets by changing country, and the difference tells you where a product has
distribution and where it does not.
Enriching marketplace and supplier feeds. Supplier feeds arrive with a barcode and a two-word title. Passing them through gives you the longer description, the specifications and the competing retailers, which is the material a marketplace listing needs and the feed did not include.
Product research before sourcing. Ask a question about a specific product by
combining product_urls with one entry in products. The answer covers what
buyers say about it and which shops carry it, with the merchant pages cited, so
you can check the reasoning rather than take the summary on faith.
How it compares
| This actor | Typical alternative | |
|---|---|---|
| Input | Barcode, model number, product name, or a Google product link | Usually a product URL or a keyword |
| Output | Written description plus specifications, cited merchant pages and Google's product identifiers | Title and price, or raw listing HTML |
| Retailer discovery | Comes free with the answer, as the cited pages | Requires scraping each shop separately |
| Coverage of unknown barcodes | Resolved by Google, not by a fixed database | Barcode databases return nothing outside their index |
| Unanswered products | Returned and marked, not billed | Often a failed run |
Barcode lookup services and product databases are the closer comparison here than other Apify actors, since the AI actors in the store answer general questions rather than resolve products. Those services charge per lookup against a fixed index and return nothing when the barcode is outside it; this actor asks the open web instead, which trades guaranteed schema for far wider coverage.
Pricing
$0.008 per product answer returned. There is no actor start fee. Products that come back unanswered are returned in the dataset and are not charged. All pricing is pay-per-event, so you only pay for results you receive. There are no per-compute-unit charges.
Limits and gotchas
- This is not a price feed. The answer often mentions prices as they appeared on the cited pages, but they are part of the prose and are not a structured, timestamped price field. Do not build repricing on it.
- Coverage varies by market. A barcode with several Dutch retailers answers well
with
country: nl; the same barcode withcountry: usmay return little if the product is not sold there. Set the market to where the product is sold. - Obscure or newly issued barcodes may not resolve at all. Those rows come back
with
answered: falseand are not billed. - Set
countryandlanguagetogether. The answer is written in the language you ask for, and the cited shops follow the market you set. productsis populated only when the answer surfaced a product card. An answer with cited merchant pages but an emptyproductsarray is normal.- Free Apify plans are capped at 10 rows per run. Split larger lists across runs or upgrade to remove the cap.
FAQ
Can I look up a product by EAN or UPC without a barcode database?
Yes. Pass the barcode in products and the answer describes the product and
cites the shops carrying it. No database subscription is involved.
Does it return prices? Prices appear inside the answer text when the cited pages showed them, but they are prose rather than a structured field. For structured offers use a dedicated offers scraper.
Which shops sell this product?
source_domains lists the retailers whose pages the answer cited, for the
market you set in country.
What happens if Google cannot identify the barcode?
The row is returned with answered: false and an error value, and it is not
billed.
Can I ask a specific question about a product instead of just describing it?
Yes. Put the question as the single entry in products and the product links in
product_urls, and the question is asked about each link.
Related Actors
- Google AI Overview Scraper for the AI summary above the ordinary search results.
- Google AI Mode Scraper for the conversational AI tab.
- Google Shopping Scraper for structured offers and prices per product.