Amazon Product Scraper — Prices, Sellers & Ranks
Under maintenancePricing
from $4.00 / 1,000 products
Amazon Product Scraper — Prices, Sellers & Ranks
Under maintenanceTurn Amazon ASINs or product URLs from amazon.com and amazon.co.uk into 46-field records: price, discount, stock, seller and fulfilment, offers, rating, reviews, bought-in-past-month, best-seller ranks, specs and images. Pay only for products collected.
Pricing
from $4.00 / 1,000 products
Rating
0.0
(0)
Developer
astravalabs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
Amazon Product Scraper (US & UK)
Turn Amazon ASINs or product URLs from amazon.com or amazon.co.uk into structured product records.
Unofficial tool: This Actor is independently developed and is not affiliated with, endorsed by, or sponsored by Amazon. Amazon names and trademarks belong to their respective owners.
Built for price monitoring, catalog enrichment, competitor tracking and market research where a missing or wrong row costs more than the row itself:
- Reliable. 418 of 420 products collected in our launch validation runs on amazon.com and amazon.co.uk; the two misses were proxy connection failures, which now get extra retries. Blocked pages are retried on fresh identities, and you are never charged for a product that could not be collected.
- Correct, not just complete. A page Amazon serves in another country's currency is detected and retried rather than stored as if it were local. Titles, ratings and review counts were cross-checked against Amazon's search results for 300 products and matched wherever both showed a value.
- 46 fields per product: price and list price, discount, coupon, stock, seller and fulfilment, competing offers, rating and review count, "bought in past month", best-seller ranks, category path, feature bullets, specifications, images and variations.
- US and UK. Paste amazon.com or amazon.co.uk links, or bare ASINs.
Pricing
$4.00 per 1,000 products ($0.004 per product), plus a negligible Actor start fee. You pay only for products in the dataset: products that could not be collected, and skipped or duplicate inputs, are never charged.
Need to discover products first?
Use the Amazon Search Results Scraper to search by keyword, then pass its asin
or url values into this Actor's productUrls input.
Input
| Field | Type | Default | Description |
|---|---|---|---|
productUrls | string array | required | One to 1,000 entries. Each may be a bare ASIN (B0DXPFKQXL) or an Amazon US or UK product URL. |
products | object array | none | Additional entries containing asin or url, plus an optional search referrer. |
marketplace | string | AUTO | AUTO uses the store of the first product URL, or amazon.com when only bare ASINs are given. US or UK forces a store; entries for the other store are skipped and reported. |
productUrls is required and must contain at least one entry. The Actor never
invents a product when input is empty — it fails immediately, before any
network work.
Bare ASINs are accepted because ASINs, not URLs, are Amazon's natural product
identifier. Titled slugs, ref= tracking, and other query parameters are
stripped: every entry normalizes to <marketplace origin>/dp/<ASIN>.
Amazon variations are themselves distinct ASINs, so there is no separate variant field — request the child ASIN directly.
Unusable entries are skipped, not fatal
Entries containing no ASIN — most commonly Amazon's sponsored /sspa/click
search redirects, which can be roughly one in ten of a scraped result set — are
skipped and reported in RUN_REPORT.skippedInputs with their input position
and reason. Duplicates are reported the same way. One bad entry in a
1,000-product list therefore costs that entry, not the run.
The run fails only when no supplied entry is usable at all.
{"productUrls": ["B0C3HCD34R", "https://www.amazon.com/dp/B07WCV632L"]}
With marketplace left on AUTO, this run uses amazon.com: the first URL is
an amazon.com link. Paste amazon.co.uk links, or set "marketplace": "UK",
for the UK store.
Output
One dataset row per validated product. Optional fields are null or empty when
Amazon does not display a reliable value.
{"marketplace": "UK","asin": "B0DXPFKQXL","parentAsin": null,"url": "https://www.amazon.co.uk/dp/B0DXPFKQXL","title": "Rii Mechanical Keyboard Full Size, RGB Wired Gaming Keyboard","brand": "Rii","author": null,"listingStatus": "ACTIVE","availabilityText": "In stock","inStock": true,"stockRemaining": null,"displayedPrice": 27.98,"displayedPriceText": "£27.98","listPrice": 29.98,"discountPercent": 6.7,"unitPriceText": null,"currency": "GBP","rating": 4.4,"reviewCount": 24,"boughtPastMonthText": "50+ bought in past month","boughtPastMonthLowerBound": 50,"soldBy": "Boomtek UK","shipsFrom": "Amazon","offerCount": 2,"offerCountText": "New (2)","offerCondition": "NEW","lowestOfferPrice": 27.98,"lowestNewPrice": 27.98,"categoryPath": ["Computers & Accessories", "Accessories", "Keyboards"],"bestSellersRank": [{"rank": 6415, "category": "Computers & Accessories"}],"featureBullets": ["..."],"productDetails": {"Brand": "Rii", "Connectivity technology": "USB-A"},"imageUrls": ["https://m.media-amazon.com/images/I/..."],"variationDimensions": ["color_name"],"variantCount": 5,"selectedVariation": ["black / black"],"collectedAt": "2026-08-11T12:37:01+00:00"}
| Group | Fields |
|---|---|
| Identity | asin, parentAsin, title, brand, author, url, marketplace |
| Price | displayedPrice, listPrice, discountPercent, unitPriceText, couponText, currency |
| Availability | listingStatus, availabilityText, inStock, stockRemaining |
| Offer | soldBy, shipsFrom, deliveryText, offerCount, offerCountText, offerCondition, lowestOfferPrice, lowestNewPrice |
| Demand | rating, reviewCount, boughtPastMonth*, bestSellersRank |
| Catalog | categoryPath, productDetails, productDetailsList, featureBullets, descriptionText, hasAPlusContent |
| Media | mainImageUrl, imageUrls, hasVideo |
| Variations | variationDimensions, variationAsins, variantCount, selectedVariation |
productDetails is a JSON object whose keys differ by category. The equivalent
productDetailsList repeats those attributes as ordered {"name", "value"}
objects so dynamic keys survive CSV and spreadsheet export.
Amazon variations are distinct ASINs, so variationAsins maps each sibling
ASIN to its dimension values — feed those ASINs back in to collect them.
Products that are currently unavailable still produce a row, marked
listingStatus: "UNAVAILABLE". Blocked, missing, mismatched, and unrecognized
pages never enter the dataset; they are reported in RUN_REPORT.
Data semantics
- Prices, availability, and delivery text are what Amazon displayed at collection time to a visitor in that store's country (US or UK). They are not universal seller policy.
- For products with variations, the price is that of the variation Amazon selects by default on the product page; search results may show a different variation's price.
- When no seller wins the buy box,
soldByis empty and the displayed price is the one Amazon shows for the other buying options. listPriceis populated only when Amazon shows a strike-through above the current price; a "was" price at or below it is discarded rather than guessed.- Book pages reuse the byline for author and format, so media products
populate
authorand leavebrandempty. - The Actor does not download images. It returns ordered, deduplicated links to the full-size images Amazon displays.
offerCountcounts the competing offers Amazon summarises on the product page, andofferConditionstates what that count covers. Amazon writes either "New (2) from £27.98" or "New & Used (5) from £16.99", and these do not mean the same thing, solowestNewPriceis populated only when the summary is unambiguously new-only.offerCountdistinguishes zero from unknown. Amazon renders the offer container even when nothing competes, so an empty container reports0, a real "nobody else is selling this". A missing container, or wording the parser does not recognise, reportsnull— unknown, not zero.shipsFromandsoldByare equal when Amazon shows a combined "Shipper / Seller" block, which is how it presents a single party filling both roles. They differ when fulfilment and selling are split, which is the signal for Amazon-fulfilled versus merchant-fulfilled.- A per-seller breakdown, including which offers are fulfilled by Amazon, is not on the product page and would need a second request per product. It is out of scope.
Run reports
RUN_REPORT records per-product attempts and outcomes, skipped input entries,
session creation and rotation counts, response bytes, timing, per-field
coverage, dataset write stats, and cost estimates. RUN_PROGRESS is
checkpointed during the run.
Because Amazon product templates vary by category, fieldCoverage is reported
explicitly — silent extraction gaps are the likeliest failure mode.
How it collects
No login, CAPTCHA solving, or access-control circumvention. Public product pages only.
Each worker opens a fresh residential identity in the store's country, clones it into independent HTTP clients, and fetches several products concurrently. There is no warmup request: a live spike measured homepage warmups challenged on 10 of 10 attempts, while cold product fetches succeeded 99.2% of the time. A product is retried up to three times on fresh identities when Amazon challenges the page or serves it for another country, with three further attempts reserved for proxy connection failures.
Responsible use
This Actor collects publicly available information. You are responsible for ensuring your use of the data complies with Amazon's terms, applicable laws, privacy rules, intellectual-property rights, and any contractual obligations.