Item ids

Scrapely identifies products by each retailer's own id: ASINs on Amazon, item ids on Walmart, TCINs on Target, SKUs on Best Buy. How to find them, how they are cleaned up, and what happens to a bad one.

Embed
Preview of the card
<a href="https://scrapelyserp.com/docs/item-ids"><img src="https://scrapelyserp.com/docs/_api/public/orgs/affc5b0f-d3c2-423a-8143-9d10db5736ae/spaces/981e6275-da3f-446c-82de-889f59c83b6f/pages/4f2b74df-6cd7-4d68-abd4-31811ddf1733/social-card.svg?v=3e7ae33eec8b" alt="Item ids" width="600" height="315"></a>

Scrapely identifies products by each retailer's own id: ASINs on Amazon, item ids on Walmart, TCINs on Target, SKUs on Best Buy. How to find them, how they are cleaned up, and what happens to a bad one.

Ids per platform

Send the retailer's own product id in ids. It is in every product URL, so a list of URLs converts to ids with one regular expression.

Platform

Id

Format

In a product URL

Example

Amazon

ASIN

10 letters or digits (books: the ISBN-10)

amazon.com/…/dp/B0009KNLV6

B0009KNLV6

Walmart

item id

5 to 15 digits

walmart.com/ip/<name>/5129928603

5129928603

Target

TCIN

6 to 10 digits

target.com/p/<name>/-/A-83887639

83887639

Best Buy

SKU

5 to 10 digits

bestbuy.com/site/<name>/6505727.p

6505727

Amazon: The ASIN, after /dp/ in a product URL. Upper-cased for you. Walmart: The number at the end of the product URL. Target: The TCIN, after /A- in a product URL. A leading A- is stripped for you. Best Buy: The SKU shown on the product page; older URLs end in it.

How ids are cleaned up

  • Whitespace is trimmed; Amazon ASINs are upper-cased; empty strings are ignored.

  • Duplicates are fetched and charged once. Each unique id comes back exactly once, in the order it first appeared.

  • The id in each result (id) is the cleaned-up form. Match results to your rows on it, not on position, if you send duplicates.

  • Watchlists also accept the ids as one comma- or newline-separated string, up to 50,000 per list.

ids and asins

ids works on every platform. On Amazon, asins is accepted instead (the field Amazon-only integrations were written against); send one or the other, not both. Amazon results and watchlist items also carry asin, equal to id.

Offer ids

An offer is one seller's listing of an item. Offer check takes pairs of { asin, offerListingId }, exactly as a products result (buybox.offerListingId) or an offers result (offers[].offerListingId) returned them, up to 2,000 per call. Keep them verbatim: a mistyped offer id is indistinguishable from an offer that is gone.

When an id is wrong

Case

What you get

Charged

Not in the right format ("12" as a TCIN)

The whole call is refused: 400 INVALID_PARAM with param: "ids[i]" and a message saying what was expected.

No

Right format, but the retailer has no such item

A 200 with that item not_found: a definitive answer.

Yes

More ids than the per-call limit

400 INVALID_PARAM with param: "ids": split the list.

No

Validation happens before anything is reserved, so a malformed list never costs anything. Per-call limits are on Tiers & credits.

Updated