Google AI Product Answers - Barcode Product Lookup (EAN, UPC) avatar

Google AI Product Answers - Barcode Product Lookup (EAN, UPC)

Pricing

$8.00 / 1,000 ai overview scrapeds

Go to Apify Store
Google AI Product Answers - Barcode Product Lookup (EAN, UPC)

Google AI Product Answers - Barcode Product Lookup (EAN, UPC)

Barcode product lookup with Google's AI: give an EAN, UPC, model number or product name and get a written product description, specifications, the shops that carry it and the merchant pages cited. For catalogue, marketplace and sourcing teams.

Pricing

$8.00 / 1,000 ai overview scrapeds

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

18 days ago

Last modified

Share

Barcode Product Lookup with Google AI Product Answers: EAN and UPC to a described, sourced product

A barcode product lookup that works beyond the barcode databases: give this actor an EAN, UPC or GTIN, 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, for catalogue, marketplace and sourcing teams that have a code and need the product behind it.

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 site URL. The original url field can be the site homepage; page_url, when present, points to the cited page. Sources can include retailers, reviews and other reference sites.
  • 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). Rows without an answer come back marked and are not billed. A generic answer, including an explanation that Google could not identify a barcode, is still an answer and is billed.

Why a barcode product lookup through Google AI

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

FieldTypeRequiredDefaultDescription
productsarray of stringsyes—One product per line: a barcode (EAN, UPC, GTIN), a model number, or a product name.
product_urlsarray of stringsnoemptyGoogle product links included as text in the question; the linked page is not opened.
countrystringnonlTwo-letter country code. Sets which market's shops the answer draws on.
languagestringnonlTwo-letter language code for the answer.
retriesintegerno3Extra rounds when an answer does not render. Range 0 to 5; a value of 0 is treated as the default of 3.

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 or question/URL pair, in input order. Duplicate entries are retained. With two or more products and a URL list, URL rows come first, followed by standalone products. source, engine, answer_shown and citations provide additional fields for comparing answers across AI sources. Existing fields stay available with their original types.

The following fields are an exact excerpt from a successful run on 3 October 2026. The full row also contains answer blocks, source records, links and citations.

{
"query": "8711942001414",
"country": "nl",
"language": "nl",
"answered": true,
"answer_text": "De barcode 8711942001414 hoort bij de Victorinox Swiss Classic Tomatenmessenset (6-delig).\n\nProductdetails\n\n- Product: Tomatenmessenset (6 stuks)\n- Merk: Victorinox\n- Serie: Swiss Classic\n- Kenmerken: De messen hebben een vlijmscherp, gekarteld lemmet van roestvrij staal (RVS) met een lengte van 11 cm. Ze zijn voorzien van een kunststof heft en zijn vaatwasmachinebestendig.\n- Kleuren in de set: De set bevat zes verschillende kleuren: rood, paars, oranje, geel, groen en blauw.\n\nWil je weten waar deze messenset momenteel op voorraad is, of ben je op zoek naar de actuele prijzen bij verschillende webshops?",
"answer_block_count": 4,
"source_count": 4,
"source_domains": [
"homeij.com",
"nr1koken.nl",
"sharpasaknife.eu",
"supersales.nl"
],
"products": [],
"thread_id": "KO3Aau7bLZaZwbkPxOeE-QU",
"attempts": 1,
"error": null,
"fetched_at": "2026-10-03T11:55:23Z",
"duration_seconds": 8.05,
"response_bytes": 305782,
"product_url": ""
}

The nested fields keep the same names and JSON types as earlier versions:

FieldJSON typeMeaning
answer_blocks[].typestringparagraph, heading or list, in answer order.
answer_blocks[].textstringParagraph or heading text, with citation labels removed; absent on list blocks.
answer_blocks[].levelintegerHeading level; present on heading blocks only.
answer_blocks[].itemsarray of stringsList entries; present on list blocks only.
answer_blocks[].citationsarray of objectsCitation chips belonging to that block; an empty array when there are none.
answer_blocks[].citations[].uuidstringGoogle's citation identifier.
answer_blocks[].citations[].site_namestringDisplayed source name.
answer_blocks[].citations[].goto_urlstringGoogle's absolute redirect URL, or an empty string when absent.
answer_blocks[].citations[].domainsarray of stringsSorted domains linked to that citation.
sources[].site_namestringSource's displayed name.
sources[].domainstringSource domain.
sources[].titlestringCited page title.
sources[].snippetstringText Google included from the source; may be empty.
sources[].urlstringOriginal site URL, which can be the homepage.
sources[].faviconstringSource icon URL; may be empty.
sources[].thumbnailstringSource image URL; may be empty.
sources[].citation_idstringIdentifier used to connect a source to a block citation; may be empty.
sources[].page_urlstring, optionalAdditional field with the cited page URL when Google supplies it.
links[].textstringLink text from the answer.
links[].urlstringLink destination.
links[].kindstringsite or product.
products[].titlestringProduct card title.
products[].urlstringGoogle product URL or the destination shown in the answer.
products[].imagestringProduct image URL; may be empty.
products[].catalog_idstringGoogle catalog identifier; may be empty.
products[].product_idstringGoogle product document identifier; may be empty.
products[].merchant_idstringGoogle merchant identifier; may be empty.
products[].cluster_idstringGoogle product cluster identifier; may be empty.

The additional row-level citations array contains objects with url, title and domain as strings and position as an integer starting at one. Its url uses the cited page supplied by Google, then a readable redirect destination, and falls back to the original source URL when neither is available. The original block-level goto_url and sources[].url remain available.

answer_block_count, source_count, attempts and response_bytes are integers. source_domains is an array of strings. duration_seconds is a number, and fetched_at is a UTC timestamp string. product_url and thread_id are strings and may be empty. error is null on answered rows, and a string describing the last failure on unanswered rows. response_bytes retains its original meaning: the number of Unicode characters in Google's answer response, rather than the number of bytes in the exported JSON.

Use cases for barcode product lookup

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 with other barcode product lookup tools

This actorTypical alternative
InputBarcode, model number, product name, or a Google product linkUsually a product URL or a keyword
OutputWritten description plus specifications, cited merchant pages and Google's product identifiersTitle and price, or raw listing HTML
Retailer discoveryComes free with the answer, as the cited pagesRequires scraping each shop separately
Coverage of unknown barcodesGoogle may identify them or return an explanatory answerBarcode databases return nothing outside their index
Unanswered productsReturned and marked, not billedOften 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, so a barcode product lookup over 1,000 answered products costs $8.00. 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 with country: us may return little if the product is not sold there. Set the market to where the product is sold.
  • Google can answer an unknown barcode with a general explanation. answered means that answer text was returned, rather than that a matching product was verified. Such an answer is billed like any other delivered answer.
  • A product link is included as text in the question. Google can respond that it cannot view the page; that response is also delivered and billed as an answer.
  • Set country and language together. The answer is written in the language you ask for, and the cited shops follow the market you set.
  • products is populated only when the answer surfaced a product card. An answer with cited merchant pages but an empty products array 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? Google may return a general explanation, which is billed when it contains answer text. A row with no answer text has answered: false and an error value, and 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.