Amazon Product Details Scraper
Pricing
$19.99/month + usage
Amazon Product Details Scraper
Scrape detailed Amazon product data effortlessly! This actor extracts titles, prices, ratings, reviews, ASINs, images, availability, and more from product pages or search results. Ideal for e-commerce insights, market analysis, and price monitoring across Amazon marketplaces worldwide.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
Scraper Engine
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Amazon Product Scraper — Price, Rating, Reviews and Rank Data
Amazon Product Details Scraper turns a list of Amazon ASINs or product URLs into one structured JSON record per product — featured-offer price, list price, brand, star rating and its histogram, bestseller rank, the full attribute table, images, variation ASINs and the reviews shown on the page. No parsing, no CSS selectors: every field arrives typed and ready to load into a database, spreadsheet or LLM pipeline. Run it on Apify and the first product record streams back before the run finishes.
What is Amazon Product Details Scraper?
Amazon Product Details Scraper is an Apify Actor that fetches a set of Amazon ASINs or product URLs and returns one structured product record for each — price, brand, rating, the attribute table, images, variations and the reviews shown on the page. It reads Amazon's public product pages directly; no Amazon account, API key or login is required to run it. It's built for e-commerce teams, market researchers and AI engineers who need consistent, typed product data without maintaining their own scraper or Amazon credentials.
What Amazon product data is publicly available to scrape?
Everything a shopper sees on a product page without signing in is public — title, price, rating, attributes and reviews included. Placing an order, submitting a review, or seeing a Prime-exclusive deal price requires a signed-in Amazon account.
| Data category | Publicly available | Restricted (needs a signed-in Amazon account) |
|---|---|---|
| Title, brand/author, description, images | ✅ visible to any visitor | |
| Featured-offer price, list price, delivery estimate | ✅ for the marketplace and country you request | Prime-exclusive deal pricing, shown only to a signed-in Prime session |
| Star rating, rating histogram, bestseller rank | ✅ | |
| Full product attribute / specification table | ✅ | |
| Reviews rendered on the product page | ✅ | Submitting a review; browsing beyond the page's own review list |
| Variation ASINs, format editions (Kindle/Hardcover/etc.) | ✅ | |
| Seller name, fulfiller and seller ID of the featured offer | ✅ | Contacting the seller directly |
Amazon Product Details Scraper only returns publicly visible data — what any visitor sees. Nothing behind a login wall.
What data can I extract with Amazon Product Details Scraper?
Every run returns identity and descriptive fields, pricing and rating metrics, and media/review/nested data for each ASIN — 45 fields per product record in total.
🏷️ Identity, description and attribute fields
| Field name | Description |
|---|---|
asin | The 10-character Amazon Standard Identification Number. |
url | The product page URL that was fetched. |
amazonDomain | The marketplace the record was read from, e.g. amazon.com. |
title | Product title. |
manufacturer | Brand, read from the product's brand attribute. null on listings that publish an author instead. |
author | Author credit for books and media. null for non-book products. |
warehouseAvailability | Stock text as shown on the page, e.g. In Stock, Only 2 left in stock. |
soldBy | Merchant name of the featured offer. |
fulfilledBy | Who ships the featured offer. |
sellerId | Merchant ID of the featured offer, read from the add-to-cart form. |
features | Bullet-point feature list. |
aboutProduct | The product overview table as {name, value} pairs. |
productDetails | The full attribute table, merged across the layouts Amazon alternates between, as {name, value} pairs. |
productSpecification | The same attribute list as productDetails (both keys are populated from the same parse). |
attributeCount | Number of attribute rows in productDetails. |
productDescription | Description / book description text. |
categoriesExtended | Breadcrumb trail as {name, url, node}, with the Amazon category node ID. |
importantInformation | Safety/important-information bullet list. Present only on listings that publish it. |
pastSales | Social-proof sales text, e.g. "10K+ bought in past month", when Amazon shows it. |
variations | Sibling ASINs of the same parent product, with their size/colour/style labels — see below. |
bookVariations | Kindle / Hardcover / Paperback / Audiobook editions, with price, ASIN and link. |
language | The language input value used for this run, echoed back on the row. |
proxyCountry | The country the request was priced for. |
💲 Price, rating, availability and status fields
| Field name | Description |
|---|---|
statusCode | 200 when the page was read, 404 when Amazon has no page for the ASIN, 0 when the page could not be read after retries. |
statusMessage | FOUND, NOT_FOUND, or UNAVAILABLE. |
success | true only when statusMessage is FOUND. |
productRating | Star rating as text, e.g. "4.6 out of 5 stars". |
countReview | Number of ratings. |
starsBreakdown | Percentage of ratings per star, e.g. {"5star":81,"4star":11,...}. null when Amazon shows no histogram. |
bestsellerRanks | Best Sellers Rank per category, as {rank, category, url}. |
buyBoxPresent | Whether a featured-offer price was shown on the page. |
buyBoxCondition | "New", "Used", or null when no featured offer is shown. |
price | The featured-offer price, read only from inside the buy-box container. null when buyBoxPresent is false — never 0, never a different item's price. |
retailPrice | List / "was" price. Only returned when it is genuinely above the current price. |
priceSaving | retailPrice − price, rounded to 2 decimals, only when both are real. |
buyBoxUsed | {price, condition} for the used offer, when the page shows one; otherwise null. |
shippingPrice | 0.0 for free delivery, the charged amount when shown, null when the page shows no delivery line. |
priceShippingInformation | The delivery/shipping line as written on the page. |
deliveryMessage | Same delivery text as priceShippingInformation (both keys are populated from the same parse). |
🖼️ Media, reviews and run metadata
| Field name | Description |
|---|---|
mainImage | {imageUrl, width, height, imageResolution} — the largest gallery image and its measured dimensions. null if no image is found. |
imageUrlList | Gallery image URLs, largest first. |
videoeUrlList | Video URLs (.mp4 / .m3u8) featured on the product page. (This is the exact key name the Actor returns — it carries a spelling irregularity in the source, not a typo in this document.) |
reviews | Every review rendered on the product page, each with reviewId, title, text, rating, date, userName, profilePath, url, verifiedPurchase, helpfulVotes, reviewCountry, locale ({language, country, countryName, marketplaceId}), variationList and imageUrlList. |
reviewsOnPage | Count of items in reviews. |
scrapedAt | ISO-8601 UTC timestamp of when the row was collected. |
🤖 Add-on: Need additional Amazon data?
Pair this Actor with Amazon Search Scraper to first turn a keyword into a list of ASINs, or Amazon Price Tracker to watch these same fields change over time. For seller-side research on the German marketplace, Amazon DE Sellers Leads Scraper returns seller business details instead of product details.
How does Amazon Product Details Scraper differ from the official Amazon API?
Amazon's official product-data API for third parties is the Creators API, which replaced Product Advertising API 5.0 (PA-API); Amazon's own documentation confirms PA-API is deprecated and calls to it now return a 403 AccessDeniedException directing callers to migrate (affiliate-program.amazon.com, checked 2026-08-15). Both the old and new API are scoped to Amazon's affiliate program, not general-purpose product-data access.
| Feature | Amazon Creators API (official) | Amazon Product Details Scraper |
|---|---|---|
| Who can get access | An approved Amazon Associate with at least 10 qualifying sales in the past 30 days (affiliate-program.amazon.com, checked 2026-08-15) | Any Apify account — no Amazon account or sales history needed |
| Built for | Publishers, influencers and affiliate partners monetizing product links (affiliate-program.amazon.com, checked 2026-08-15) | Anyone needing structured product data — research, price monitoring, catalog enrichment, AI pipelines |
| Predecessor status | Replaces PA-API 5.0, now deprecated by Amazon (affiliate-program.amazon.com, checked 2026-08-15) | N/A — reads the public product page directly, independent of Amazon's affiliate program |
| Access continuity | Tied to maintaining the qualifying-sales threshold | Not tied to any sales or account performance |
| Setup | Associates account approval, then Creators API registration | Paste ASINs or product URLs, run |
Use the Creators API if you're an approved Associate monetizing affiliate links and want data tied to your account. Use Amazon Product Details Scraper when you need ASIN-level product data without an Associates account, a sales history, or ongoing eligibility to maintain.
How to use Amazon Product Details Scraper
Amazon Product Details Scraper is published on the Apify Store and runs like any other Apify Actor — no separate signup or API key beyond your Apify account.
- Open the Actor's page in Apify Console and click Try for free (or Run, if you already use it).
- Provide the required input,
asins— a list of bare ASINs,/dp/URLs, or/gp/product/URLs, one per line. - Optionally set
amazonDomainto a different marketplace,languageto force page language, orproxyCountryto change which country's prices are read. - Start the run.
- Download the results as JSON, CSV, Excel or the other export formats Apify's dataset supports, or stream them via the API as each row is pushed.
⚠️ Every ASIN you submit is billed, even if it fails. The Actor charges the row_result pay-per-event on every push_data call — including rows where the ASIN turned out to be delisted (NOT_FOUND) or couldn't be read after retries (UNAVAILABLE). There's no separate uncharged accounting row, and no built-in filter for it — check success (or statusMessage) in your own results if you need to separate collected products from misses.
How to scale to bulk product extraction
asins is an array — add as many ASINs or product URLs as you want in one run, and they're processed one after another with a result pushed to the dataset as soon as each is collected, so you don't wait for the whole list to finish before reading results. There is no fixed cap in the input schema.
What can you do with Amazon product data?
- 🏷️ Catalog managers enrich a product feed using
manufacturer,productDetailsandmainImageto fill in brand, specifications and imagery without manual entry. - 💰 Price analysts track
price,retailPriceandpriceSavingacross a list of ASINs to catch discounting patterns before a launch or a competitor's promotion. - 🏆 Category researchers use
bestsellerRanksandstarsBreakdownto see where a product sits in its category and how its ratings are actually distributed. - 📮 Operations teams check
soldBy,fulfilledByandwarehouseAvailabilityto confirm who is fulfilling an offer before relying on it for sourcing decisions. - 🤖 AI engineers feed
title,productDescription,featuresandreviews[].textinto a RAG pipeline or agent tool for product-question answering grounded in real listing text.
How does Amazon Product Details Scraper handle rate limits and blocking?
Every request routes through Apify Proxy — by default the RESIDENTIAL proxy group. If a page isn't served correctly on the current connection tier, the next attempt escalates to a fallback tier and opens a fresh proxy session. Each ASIN gets up to 6 fetch attempts before it's marked unavailable, with an increasing pause between attempts and a short random pause between products in the same run. A page is only accepted as a real product page when it returns HTTP 200, contains the product title, and doesn't match the structural markers Amazon's own verification/interstitial pages carry — a captcha or bot-check page is never mistaken for a product page. The scraper does not solve CAPTCHAs; it retries with a new session and proxy tier instead. If a product still can't be read after every attempt, the row is returned with statusMessage: "UNAVAILABLE" rather than failing the whole run.
⬇️ Input
| Parameter | Required | Type | Description | Example value |
|---|---|---|---|---|
asins | Yes | array of strings | One product per line. Accepts a bare ASIN (B07GBZ4Q68), a /dp/ URL, or a /gp/product/ URL. Duplicates are collapsed. | ["B07GBZ4Q68", "https://www.amazon.com/dp/B00FLYWNYQ"] |
amazonDomain | No | string (select) | The marketplace the ASINs are read from. Prices, availability and delivery text are marketplace-specific. Default "amazon.com". | "amazon.co.uk" |
language | No | string (select) | Forces the language of the product page text (titles, bullet points, attribute names). Leave empty to use the marketplace default. Default "" (marketplace default). | "de-DE" |
proxyCountry | No | string (select) | AUTO matches the marketplace above. Choosing a country that doesn't match the marketplace can return a different currency and different delivery figures for the same ASIN. Default "AUTO". | "GB" |
proxyConfiguration | No | object | Connection settings for the run. Default is the configuration these pages are reliably served on. Default {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}. | {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} |
amazonDomain enum values: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.es, amazon.it, amazon.nl, amazon.se, amazon.pl, amazon.com.be, amazon.ie, amazon.ca, amazon.com.mx, amazon.com.br, amazon.com.au, amazon.co.jp, amazon.in, amazon.sg, amazon.ae, amazon.sa, amazon.eg, amazon.com.tr.
language enum values: "" (marketplace default), en-US, en-GB, de-DE, fr-FR, es-ES, it-IT, ja-JP, zh-CN.
proxyCountry enum values: AUTO, US, GB, DE, FR, ES, IT, NL, SE, PL, BE, IE, CA, MX, BR, AU, JP, IN, SG, AE, SA, EG, TR.
Example input
{"asins": ["B07GBZ4Q68","https://www.amazon.com/dp/B00FLYWNYQ","0735211299"],"amazonDomain": "amazon.com","language": "","proxyCountry": "AUTO","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
⬆️ Output
One typed JSON row per ASIN, pushed to the dataset the moment it's collected — the schema is identical whether the product was found, not found, or unreadable. Export as JSON, CSV, Excel, XML, RSS or HTML directly from the Apify Console, or read it through the API.
Example output
{"statusCode": 200,"statusMessage": "FOUND","success": true,"url": "https://www.amazon.com/dp/B07GBZ4Q68","asin": "B07GBZ4Q68","amazonDomain": "amazon.com","title": "Logitech G502 Hero Wired Gaming Mouse","manufacturer": "Logitech G","author": null,"productRating": "4.6 out of 5 stars","countReview": 58460,"starsBreakdown": { "5star": 81, "4star": 11, "3star": 4, "2star": 1, "1star": 3 },"bestsellerRanks": [{ "rank": 17, "category": "Video Games", "url": "https://www.amazon.com/gp/bestsellers/videogames" },{ "rank": 2, "category": "PC Gaming Mice", "url": "https://www.amazon.com/gp/bestsellers/pc-mice" }],"buyBoxPresent": true,"buyBoxCondition": "New","price": 31.99,"retailPrice": 69.99,"priceSaving": 38.0,"buyBoxUsed": { "price": 26.52, "condition": "Used - Good" },"shippingPrice": 0.0,"priceShippingInformation": "FREE delivery Friday, August 14 on orders shipped by Amazon over $35","deliveryMessage": "FREE delivery Friday, August 14 on orders shipped by Amazon over $35","warehouseAvailability": "In Stock","soldBy": "Amazon.com","fulfilledBy": "Amazon.com","sellerId": "ATVPDKIKX0DER","features": ["HERO 25K sensor with a software-adjustable DPI range", "11 programmable buttons"],"aboutProduct": [{ "name": "Brand", "value": "Logitech G" }],"productDetails": [{ "name": "Connectivity Technology", "value": "USB" },{ "name": "Item model number", "value": "910-005469" }],"productSpecification": [{ "name": "Connectivity Technology", "value": "USB" },{ "name": "Item model number", "value": "910-005469" }],"attributeCount": 36,"productDescription": "The Logitech G502 HERO high-performance gaming mouse features an advanced optical sensor.","categoriesExtended": [{ "name": "Video Games", "url": "https://www.amazon.com/video-games", "node": "468642" }],"importantInformation": [],"pastSales": "10K+ bought in past month","mainImage": {"imageUrl": "https://m.media-amazon.com/images/I/61mpMH5TzkL._AC_SL1500_.jpg","width": 1500,"height": 1500,"imageResolution": "1500 x 1500"},"imageUrlList": ["https://m.media-amazon.com/images/I/61mpMH5TzkL._AC_SL1500_.jpg","https://m.media-amazon.com/images/I/71a2j3B0jVL._AC_SL1500_.jpg"],"videoeUrlList": ["https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact/default.jobtemplate.hls.m3u8"],"variations": [{"variationName": "color / connectivity / style","values": [{"asin": "B0BL66ZW9H","value": "Black / Wired / Mouse + Mousepad","labels": ["Black", "Wired", "Mouse + Mousepad"],"dpUrl": "https://www.amazon.com/dp/B0BL66ZW9H","selected": false}]}],"bookVariations": [],"reviews": [{"reviewId": "R1ABCD2EFGH3IJ","title": "Best mouse I have owned","text": "Comfortable grip, tracks perfectly on every surface I've tried.","rating": "5.0 out of 5 stars","date": "Reviewed in the United States on July 2, 2026","userName": "Alex R.","profilePath": "/gp/profile/amzn1.account.EXAMPLE","url": "https://www.amazon.com/gp/customer-reviews/R1ABCD2EFGH3IJ","verifiedPurchase": true,"helpfulVotes": 14,"reviewCountry": "the United States","locale": { "language": null, "country": "US", "countryName": "the United States", "marketplaceId": "ATVPDKIKX0DER" },"variationList": ["Color: Black"],"imageUrlList": []}],"reviewsOnPage": 13,"language": null,"proxyCountry": "US","scrapedAt": "2026-08-15T09:12:41Z"}
How does it work?
Amazon Product Details Scraper opens a fresh session for each connection tier, warms it up against the marketplace's homepage, then requests each product page directly through Apify Proxy — by default the RESIDENTIAL group, priced for the country implied by the marketplace you picked (or the country you set explicitly). Amazon's anti-bot and verification pages are detected structurally, by the markers those interstitial pages carry, not by a keyword guess; a page that matches one is retried with a new session rather than parsed as a product. Only the HTML Amazon serves to that session is read — nothing is submitted, nothing is clicked, and no Amazon account is used. Because the parser targets the same structural containers (buy box, product overview table, detail bullets, review nodes) rather than page-wide text matching, the output field names and shapes stay stable even when Amazon changes a page's visual layout.
Integrations
Amazon Product Details Scraper works with the tools you already use for automation and analysis — no plugin required, since it's just an Apify Actor reachable over the standard Apify API.
Calling Amazon Product Details Scraper programmatically
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("scraper-engine/amazon-product-details-scraper").call(run_input={"asins": ["B07GBZ4Q68", "https://www.amazon.com/dp/B00FLYWNYQ"],"amazonDomain": "amazon.com",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["asin"], item.get("price"))
Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request against the Apify API.
No-code tools (n8n, Make, LangChain)
In n8n, use the HTTP Request node pointed at the Actor's run-sync-get-dataset-items endpoint with your API token, or the dedicated Apify node if you have it installed. In Make, the Apify app's "Run an Actor" module accepts the same asins input and returns the dataset items to the next module. In LangChain, the ApifyWrapper / Apify Actor tool can call this Actor and load its dataset directly as Document objects for a retrieval pipeline.
Is it legal to scrape Amazon product data?
Scraping publicly available product data is generally lawful — Amazon Product Details Scraper returns only what any visitor's browser can already load from a product page, without bypassing a login, password or paywall. Product listings, prices and attribute tables are business/product data, not personal data, so GDPR and CCPA do not attach to the bulk of this Actor's output; the relevant frameworks instead are Amazon's own terms of service and the database-rights protections that can apply to a compiled catalogue in some jurisdictions. The reviews field does carry a reviewer's public display name and profile link exactly as Amazon shows them on the page — treat that slice of the output with the same care you'd give any publicly posted username. Consult legal counsel if your use case involves bulk storage of personal data.
Frequently asked questions
What Amazon product fields does Amazon Product Details Scraper return?
The top fields are title, price, manufacturer, productRating and bestsellerRanks. See What data can I extract above for the complete field tables — 45 fields per record in total.
Does Amazon Product Details Scraper require an Amazon account or login?
No. It reads the public product page exactly as a browser would — no Amazon account, API key or login is needed to run it.
How many products can I extract in one run?
As many ASINs or product URLs as you add to the asins list — there's no fixed cap in the input schema. Each is processed sequentially and pushed to the dataset as soon as it's collected, so results start streaming before the run finishes.
What happens if a product is delisted or out of stock?
A delisted ASIN — one Amazon has no page for — returns statusMessage: "NOT_FOUND" with success: false and an otherwise empty row, so a bad identifier is visible rather than silently dropped. An out-of-stock product is different: if the page still loads, you get a normal success: true row with buyBoxPresent: false and price: null, since there's no featured offer to report a price for. If the page can't be read at all after every retry, the row comes back as statusMessage: "UNAVAILABLE".
Can I scrape multiple Amazon ASINs at once?
Yes — asins is an array; add as many ASINs or product URLs as you need in a single run.
Does Amazon Product Details Scraper work with Claude, ChatGPT and other AI agent tools?
Yes, as an HTTP endpoint. Any agent framework that can call the Apify API — directly or through apify_client — can start a run and read the resulting JSON rows as tool output.
How does Amazon Product Details Scraper compare to other Amazon scrapers?
Most Amazon ASIN scrapers return a price for every row by grabbing the first price-looking element on the page — which can be an accessory's price, a carousel item's price, or a per-unit price. This Actor reads price only from inside the buy-box container; when that container has no price, the row reports buyBoxPresent: false and price: null instead of substituting a different number.
Does Amazon Product Details Scraper return data in a format LLMs can use directly?
Yes. Typed, normalized JSON with consistent field names across runs — no HTML parsing, no selectors. Pass it directly to an LLM, index it into a vector store, or feed it to an agent tool.
What happens when Amazon changes its page layout or anti-bot system?
The Actor is maintained, and the output field names and shapes stay stable across layout changes because the parser targets structural containers rather than page-wide text matching. No specific turnaround time is promised for any given layout change.
Can I use Amazon Product Details Scraper without managing proxies or browser infrastructure?
Yes — proxy connections, session handling and retry/escalation on a blocked or interstitial page are all handled by the Actor through Apify Proxy. You don't configure or run any infrastructure yourself.
Which Amazon product fields work best for AI training data and RAG indexing?
For RAG, index the high-information text fields: title, productDescription, features and reviews[].text. For training data, the most consistently structured fields across records are price, productRating, countReview and productDetails. All fields return as typed primitives (strings, numbers, booleans, or plain arrays/objects) rather than raw HTML.
Related scrapers
| Scraper | What it extracts |
|---|---|
| Amazon Search Scraper | Amazon keyword or search-URL results as structured product rows: ASIN, title, price, rating and organic rank |
| Amazon Price Tracker | Amazon prices, ratings, reviews, sellers and stock for a list of ASINs |
| Amazon DE Sellers Leads Scraper | Seller leads from Amazon.de with business details, price, ratings and contact info |
| eBay Product Listing Scraper | eBay listing data: titles, prices, conditions, images and product links |
| Shopify Products Scraper | A Shopify store's full product catalogue: variants, SKUs, price range and stock |
| Walmart Reviews Scraper | Walmart product reviews |
Your feedback
Found a bug, or missing a field you need from an Amazon product page? Open an issue on this Actor's Issues tab in Apify Console — that's the fastest way to reach the maintainer directly.