Product ID Mapper — EAN to ASIN, Google, idealo & Bol IDs
Pricing
from $2.50 / 1,000 marketplace lookups
Product ID Mapper — EAN to ASIN, Google, idealo & Bol IDs
Map EAN/GTIN barcodes to marketplace product IDs: Amazon ASIN, Google Shopping catalog ID, idealo product ID and Bol product ID, with product URLs. 8 European countries, up to 50 EANs per run.
Pricing
from $2.50 / 1,000 marketplace lookups
Rating
0.0
(0)
Developer
Anyprice
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Map EAN, GTIN and UPC barcodes to marketplace product IDs: EAN to ASIN for Amazon, plus the Google Shopping catalog ID, the idealo product ID and the Bol product ID, each with its product URL. One GTIN lookup or UPC lookup covers all four marketplaces at once.
It works in 8 European countries, with up to 50 barcodes per run.
What it does
Most product data starts with a barcode, but each marketplace has its own product ID: Amazon uses the ASIN, idealo and Bol have numeric product IDs, Google Shopping has a catalog ID. This Actor looks up every barcode on the marketplaces you pick and returns one row per barcode with:
- the product ID on each marketplace
- the product URL and the product name as that marketplace shows it
matches: on how many marketplaces an ID was found
All marketplaces are queried at the same time, one job per marketplace, so a list of 50 barcodes on four marketplaces is still one run.
Who it is for
- Sellers expanding to a new marketplace who need the ASIN or Bol ID for each EAN in their catalogue before they can list or match products.
- Price monitoring and repricing tools that track products by marketplace ID and need a reliable starting mapping.
- Data teams joining sales or ad data from Amazon, Google Shopping, idealo and Bol on one common key, the EAN.
- Anyone cleaning a product feed who wants to know which barcodes are not listed anywhere.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
eans | array of strings | (required) | 1 to 50 EAN-13, EAN-8, UPC-12 or GTIN-14 barcodes |
country | string | de | de, at, fr, it, es, uk, nl or be |
platforms | array of strings | all four | Any of idealo, google_shopping, amazon, bol |
Barcodes are trimmed and de-duplicated. Each one is checked for length and check digit; an invalid barcode gets its own free invalid row and is never sent to a marketplace.
Which marketplaces cover which country:
| Country | idealo | Google Shopping | Amazon | Bol |
|---|---|---|---|---|
de, fr, it, es, uk | yes | yes | yes | no |
at | yes | yes | no | no |
nl, be | no | yes | yes | yes |
A selected marketplace that does not cover the country is marked unsupported and not charged. If none of the selected marketplaces covers it (for example only bol with de), the run stops with an input error.
Input example
{"eans": ["4009803341163", "4006381333931"],"country": "nl","platforms": ["idealo", "google_shopping", "amazon", "bol"]}
Output
One row per barcode, in input order.
| Field | Meaning |
|---|---|
ean, country | The barcode and country |
status | found if at least one marketplace found the product, not_found if none did, error if no marketplace could be checked, invalid for a bad barcode |
matches | Number of marketplaces that returned a product ID |
platforms.amazon.product_id | The ASIN |
platforms.google_shopping.product_id | The Google Shopping catalog ID |
platforms.idealo.product_id | The idealo product ID |
platforms.bol.product_id | The Bol product ID |
platforms.<name>.url, .name | Product URL and product name on that marketplace |
platforms.<name>.status | found, not_found, error or unsupported |
platforms.<name>.errorCode | Why that marketplace failed, if it did |
errorCode, error | Why the row failed (invalid_input or internal_error) |
Example row for the Netherlands, where idealo is not available (IDs and names are illustrative):
{"query": "4009803341163","ean": "4009803341163","country": "nl","status": "found","matches": 3,"platforms": {"idealo": { "status": "unsupported", "product_id": null, "url": null, "name": null },"google_shopping": { "status": "found", "product_id": "6029184473615502", "url": "https://www.google.com/shopping/product/6029184473615502?gl=nl", "name": "Example kitchen scale" },"amazon": { "status": "found", "product_id": "B0EXAMPL42", "url": "https://www.amazon.nl/dp/B0EXAMPL42", "name": "Example kitchen scale, stainless steel" },"bol": { "status": "found", "product_id": "9300000123456789", "url": "https://www.bol.com/nl/nl/p/example-kitchen-scale/9300000123456789/", "name": "Example kitchen scale" }}}
matches is 3: Google Shopping, Amazon and Bol returned an ID, and idealo was skipped because it does not cover the Netherlands.
Billing
Pay per event. The Pricing tab shows the current rates.
One platform-lookup event is charged for each marketplace that answers found or not_found for a barcode. A not_found answer is a completed lookup, so it is charged as well. In the example above, the row costs three events. Free of charge:
- invalid barcodes
- marketplaces marked
unsupportedfor the country - marketplace lookups that end in an error or timeout
Rows are written before charging. If your maximum cost per run is reached, you still get every row.
Limits and errors
- 50 barcodes per run, one country per run.
- All marketplaces share an 890-second budget. A marketplace that has not answered by then gives a free
timeouterror for the barcodes still open. Set the run timeout to at least 960 seconds. - Each marketplace has its own limit on lookups in progress for your account (idealo 50, Amazon 100, Google Shopping and Bol 1,000). Avoid starting several full runs at the same time.
- One marketplace failing does not affect the others.
- The run always ends as Succeeded. Check
statuson each row and on each marketplace.
errorCode | Meaning |
|---|---|
invalid_input | Not a valid barcode: wrong length, wrong check digit, or one digit repeated |
timeout | The marketplace did not answer in time |
blocked | The marketplace blocked this lookup |
free_limit_reached | Your free Apify plan's allowance for that marketplace is used up |
concurrency_limit_reached | Your other runs held all lookup capacity for that marketplace |
internal_error | Any other failure |
FAQ
How does the EAN to ASIN match work?
Amazon is searched for the barcode and the first search result is taken as the match. That is usually the right product, but not always. Compare platforms.amazon.name with your own product name before you rely on the ASIN.
Why is a marketplace found but its product_id null?
Google Shopping sometimes lists offers for a barcode without a catalog page. The lookup counts as found, but there is no catalog ID to return, so it does not add to matches.
Does it return prices? No, only IDs, URLs and names. For prices by EAN across marketplaces, use a price comparison Actor.
Can I convert ASINs back to EANs? No. The input must be barcodes.
Questions or higher limits: support@anyprice.dev