Match a Barcode to Products and Offers
View all Idealo Product Search & Merchant Offers API endpoints →Look up one GTIN, EAN, UPC or JAN barcode containing 8–14 digits. Preserve it as a string, including any leading zeros. Enter JSON text in body, such as {"country":"de","values":["4008400401621"]}; direct gateway clients send this text as the string value of body. The JSON object requires country de or at and values with exactly one barcode string. Only Germany was live-verified. The observed creation response contained error:false and job_id. After retrieval through get-job, the completed German lookup for EAN 4008400401621 returned one found Ferrero Nutella result, id 4375366, with the matching ean, country:de, fetched_at, image_urls, category_ids, price_min, price_avg, price_max, offers_count and nine detailed EUR offers. Each supplied offer included its title, shop_name, price, shipping, total, condition and availability, with classification:product_page_match and confidence:high; the product had page_type:product. Some product metadata, including brand and description, was null. Validate both product identity and quantity before comparing prices. This EAN identifies Nutella 450g, yet one returned offer was a 15 x 450g multipack with the same product_page_match/high labels. Those labels alone do not establish a single-unit or exact-variant match. Matching on other page types is documented but was not observed, and no universal classification accuracy or complete merchant coverage is established. Store the returned ean, listing id, country and timestamp with any approved catalog match.
API Features
Live API Demo
🔒 Sign in to try it live
Log in to call this API with your own API key. New accounts get 100 free credits — no card required.
Log in / Sign upNo active API key found. Create one in your Dashboard, then reload this page. Dashboard →
/api/project/idealo/search-by-gtin API Response (JSON)
{} curl -X POST 'https://api.opendata-api.com/api/project/idealo/search-by-gtin?key=<API_KEY>' \
-H 'Content-Type: application/json' \
-d '{"body":"<body>"}' Query Result
Use Cases
- Supplier barcode price review: match a supplier's EAN catalog to selected Idealo products before evaluating sourcing opportunities.
- SKU-to-GTIN mapping audit: verify returned ean and listing identity before connecting an internal SKU to an external comparison record.
- Grocery unit-price analysis: separate single jars from multipacks using offer titles and independently verified quantities.
- Barcode matching exception desk: route ambiguous variants, unavailable identifiers and mismatched pack sizes for manual review instead of auto-approving them.
Frequently asked questions
How should an EAN or UPC be encoded?
Use one digit-only string of 8–14 characters inside values, with country set to de or at. Keep leading zeros and do not send a JSON number or multiple barcodes. The public body field carries the serialized JSON object.
Does a matching barcode guarantee every offer is the same pack size?
No. EAN 4008400401621 identifies Nutella 450g, but the observed result included a 15 x 450g multipack. Check titles, quantities and variants before comparing totals or computing a unit price.
How should classification, confidence and page_type be used?
Treat them as additional match context, not proof of an exact quantity match. The verified product page returned product_page_match and high even for the multipack. Other page types and their matching behavior were not live-verified.
What did the live barcode lookup actually return?
The completed German Nutella job returned one found result with ean 4008400401621, listing id 4375366, nine EUR offers, item and shipping prices, delivered totals, availability and fetched_at. Brand and description were null. The offer count and populated fields are observations, not guarantees for every barcode.