Amazon Product Data & Price by EAN/UPC avatar

Amazon Product Data & Price by EAN/UPC

Deprecated

Pricing

from $0.90 / 1,000 lookups

Go to Apify Store
Amazon Product Data & Price by EAN/UPC

Amazon Product Data & Price by EAN/UPC

Deprecated

Look up Amazon products by EAN, UPC, GTIN or ISBN: ASIN, title, brand, images, bullet points, technical details, buy box price and seller offers. 23 marketplaces, up to 100 per run.

Pricing

from $0.90 / 1,000 lookups

Rating

0.0

(0)

Developer

Anyprice

Anyprice

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Categories

Share

Get Amazon product data from an EAN or UPC: the matching ASIN, title, brand, images, bullet points, technical details, the buy box price and the seller offers. It works on 23 Amazon marketplaces, with up to 100 barcodes or ASINs per run.

The Actor is built for catalogue work. You have barcodes from a supplier, an ERP or a product feed, and you want the Amazon listing data behind them as structured JSON.

What it does

For each identifier you enter, the Actor:

  1. works out what it is: EAN-8, EAN-13, UPC-12, GTIN-14, ISBN-13, JAN, ISBN-10 or ASIN, and checks barcodes against their check digit
  2. for a barcode, searches Amazon for it and takes the first organic search result as the match (sponsored results are skipped); for an ASIN or ISBN-10, it goes straight to that product
  3. reads the offer list: buy box, seller offers from the first page (about 10), and Amazon's total offer count
  4. with Include product details switched on (the default here), also reads the product page: brand, description, bullet points, images, categories with browse node IDs, technical details, the GTIN when Amazon prints one, stock, and the Amazon's Choice and Best Seller flags

You can mix barcodes and ASINs in one list. Duplicates are removed, including a UPC-12 and the same code written as an EAN-13 with a leading zero.

Who it is for

  • Marketplace sellers onboarding a new supplier range: turn the supplier's EAN list into ASINs, titles and images in one run.
  • PIM and catalogue teams filling gaps in product data (brand, bullet points, technical details) from Amazon.
  • Sourcing and arbitrage research: see the current price and how many sellers already offer a product before buying stock.
  • Agencies auditing a brand's Amazon presence across several marketplaces with the same EAN list.

Input

FieldTypeDefaultNotes
identifiersarray of strings(required)1 to 100 EANs, UPCs, GTINs, ISBNs, JANs or ASINs, one per line
marketplacestringdeOne Amazon marketplace per run
zipcodestringemptyDelivery location for prices and shipping. Empty means the capital (10115 Berlin on amazon.de)
includeDetailbooleantrueAlso read the product page. Charged as a separate detail event

Marketplaces: de, us, gb (or uk), fr, it, es, nl, be, pl, se, ie, tr, ca, mx, br, jp, in, au, sg, ae, sa, eg, za.

ZIP codes only work on marketplaces that localize by ZIP: de, us, gb/uk, fr, it, es, ca, jp, in, ie, za. The format is checked before the run starts. A ZIP code for another marketplace, or one in the wrong format, stops the run with an input error and nothing is looked up.

Input example

{
"identifiers": ["9120018350599", "4006381333931", "B001AXLDDO"],
"marketplace": "de",
"zipcode": "80331",
"includeDetail": true
}

Output

One dataset row per identifier, in input order. Key fields:

FieldMeaning
queryYour input value, as you wrote it
operationsearch-by-gtin (a barcode was searched) or offers-by-asin (you gave an ASIN or ISBN-10). null on invalid rows
statusfound, not_found, invalid or error
result.asin, result.name, result.url, result.imageThe matched product
result.rating, result.rating_countCustomer rating and number of ratings
result.buy_boxThe offer that holds the buy box (same fields as an offer), or null
result.offersSeller offers from page 1: seller, price, shipping, total, condition, FBA, Prime, stock
result.offers_countAmazon's offer count across all pages; offers_truncated is true when page 1 does not show them all
result.detailProduct page data, or null when details were off or not available
result.detail.gtinsBarcodes Amazon prints on the product page. Use them to confirm a barcode match

Example found row with details (prices are illustrative):

{
"query": "9120018350599",
"operation": "search-by-gtin",
"country": "de",
"status": "found",
"result": {
"asin": "B001AXLDDO",
"name": "Träumeland T014301 - Babymatratze Regenbogen 60 x 120 cm",
"url": "https://www.amazon.de/dp/B001AXLDDO",
"image": "https://m.media-amazon.com/images/I/41iYiseYxWL.jpg",
"rating": 4.6,
"rating_count": 92,
"buy_box": { "position": 1, "seller_id": "A1EXAMPLE0SELLER", "shop_name": "Example Kindermöbel", "price": 69.95, "shipping": 0, "total": 69.95, "currency": "EUR", "is_fba": false, "is_prime": false, "is_buy_box": true, "stock": 25 },
"offers_count": 5,
"offers_truncated": false,
"offers": [
{ "position": 1, "seller_id": "A1EXAMPLE0SELLER", "shop_name": "Example Kindermöbel", "condition": "new", "currency": "EUR", "price": 69.95, "shipping": 0, "total": 69.95, "is_fba": false, "is_prime": false, "is_buy_box": true, "stock": 25 }
],
"detail": {
"brand": "Träumeland",
"parent_asin": "B001AXLDDO",
"description": null,
"about_item": ["Bezug ist abnehmbar, waschbar bis 60°C und schontrocknergeeignet", "für Allergiker geeignet"],
"images": ["https://m.media-amazon.com/images/I/51c1nQ-4D3L._SL1080_.jpg"],
"categories": [{ "name": "Baby", "node": "355007011" }, { "name": "Matratzen", "node": "3969001031" }],
"gtins": ["09120018350599"],
"technical_details": { "Marke": "Träumeland", "Größe": "60 x 120 cm", "Material": "100% Baumwolle" },
"price": 69.95,
"list_price": null,
"currency": "EUR",
"in_stock": true,
"availability_text": "Auf Lager",
"sold_by": "Example Kindermöbel",
"other_sellers_count": 5,
"sales_volume": null,
"amazon_choice": null,
"best_seller": null
}
}
}

The offer objects above are shortened. Each offer also has shop_url, shop_review_rating, shop_review_count, condition_text, list_price, shipping_note, availability_text, delivery_min_hours, delivery_max_hours and ships_from. stock is the quantity Amazon lets a buyer put in the cart, so read it as "at least this many", not as the seller's whole inventory.

Billing

Pay per event. The Pricing tab shows the current rates. Two events can be charged:

  • ean-lookup: once for every row with status found or not_found
  • detail: once for every found row that actually comes back with product details

invalid and error rows are free. Asking for details is not charged by itself; only a row that contains them is. Because includeDetail is on by default in this Actor, switch it off if you only need the ASIN and offers.

Rows are written first and charged afterwards. If your maximum cost per run is reached, you still get every row, and only what fits the budget is charged.

Statuses and errors

statusMeaningCharged
foundAmazon has a matching product; result is filledyes
not_foundNo organic search result for the barcode, or the ASIN does not exist on this marketplaceyes
invalidWrong length or check digit, or not an ASIN. Nothing was looked upno
errorThe lookup failed. See errorCodeno

A product with no sellers at the moment is found, with offers: [] and buy_box: null.

errorCodestatusCodeMeaning
invalid_input400On invalid rows: why the value was rejected
free_limit_reached402Your free plan's result allowance does not cover these values
timeout408Amazon did not answer before the run's deadline
concurrency_limit_reached429Your other runs of this Actor were using all lookup capacity
internal_error500Amazon could not be fetched for this value right now

Limits

  • 100 identifiers per run after de-duplication, one marketplace per run.
  • Up to 100 Amazon lookups from this Actor can be in progress for your account at once. When that is full, the Actor waits (15 to 240 seconds, five tries) before returning concurrency_limit_reached.
  • Each run has an 890-second budget for lookups. Unfinished values become free timeout rows. Give the run a timeout of at least 960 seconds.
  • On a free Apify plan the number of results is limited. Values that do not fit come back as free free_limit_reached rows.
  • The run always finishes as Succeeded. Check each row's status.

FAQ

How reliable is the EAN to ASIN match? The Actor takes Amazon's first organic search result for the barcode. That is usually the right product, but Amazon search can return something else. Compare result.name with your own data, or check that your barcode appears in result.detail.gtins (Amazon only prints a GTIN on some product pages).

Can I send ASINs I already know? Yes. ASINs and ISBN-10s skip the search and go straight to the offers. They are charged the same way as barcodes.

Why is detail null although details were on? The product page could not be read for that product. You still get the offers, and no detail event is charged for that row.

Why is Austria not in the list? Austria has no Amazon marketplace of its own, so there is no at option.

Is there a price history? No. Each run is a snapshot. Schedule the Actor and keep the datasets if you need a history.

Questions or higher limits: support@anyprice.dev