Amazon Product & Price Scraper
Pricing
from $4.00 / 1,000 product records
Amazon Product & Price Scraper
Get Amazon product data by ASIN, URL, or keyword search: price, list price, rating, review count, bestseller rank, images, and stock.
Pricing
from $4.00 / 1,000 product records
Rating
0.0
(0)
Developer
Morgan Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What it does
This actor collects product and price data from Amazon. Give it ASINs, product URLs, or search keywords. For each product it returns the title, brand, current price, list price, discount, stock status, star rating, review count, bestseller ranks, images, feature bullets, category path, and variant ASINs. For each keyword search it returns the hits in page order, with price, rating, review count, and whether the hit is sponsored. It reads the public product and search pages over plain HTTP, without a browser, and it does not sign in.
What it returns
Each product becomes one record in the dataset. Anything that is not on the page is null; no key is ever missing.
| Field | Type | Notes |
|---|---|---|
recordType | string | product |
asin | string | Amazon product ID |
url | string | Product page URL |
marketplace | string | Domain suffix, for example com |
title | string | Product title |
brand | string | Brand or store name; the author for books |
price | number | Price to pay |
currency | string | USD, GBP, EUR, CAD, or AUD |
listPrice | number | "List" or "Typical" price, only when it is above price |
savingsPercent | number | Discount from listPrice to price |
availability | string | Stock message as shown, for example "In Stock" |
inStock | boolean | true when the product can be added to the cart |
rating | number | Average stars, out of 5 |
reviewCount | number | Number of ratings |
bestsellerRanks | array | [{ rank, category }], top-level category first |
images | array | Full-size image URLs |
mainImage | string | Main image URL |
bullets | array | "About this item" bullet points |
categoryPath | array | Breadcrumb categories |
variantAsins | array | ASINs of other sizes and colors |
fetchedAt | string | ISO timestamp |
fetchStatus | string | ok, not-found, blocked, or error |
error | string | Why a fetch failed, otherwise null |
Example product record (arrays shortened):
{"recordType": "product","asin": "B09W2SPRDG","url": "https://www.amazon.com/dp/B09W2SPRDG","marketplace": "com","title": "Super Fast Charger Type C, 25W USB C Wall Charger Fast Charging 10FT Cable","brand": "Vilive","price": 16.99,"currency": "USD","listPrice": 18.99,"savingsPercent": 11,"availability": "In Stock","inStock": true,"rating": 4.6,"reviewCount": 22732,"bestsellerRanks": [{ "rank": 128, "category": "Cell Phones & Accessories" },{ "rank": 16, "category": "Cell Phone Wall Chargers" }],"images": ["https://m.media-amazon.com/images/I/61bzII2gzKL._AC_SL1500_.jpg"],"mainImage": "https://m.media-amazon.com/images/I/61bzII2gzKL._AC_SL1500_.jpg","bullets": ["Small & Powerful: With 25W charging power but smaller size..."],"categoryPath": ["Cell Phones & Accessories", "Accessories", "Chargers & Power Adapters", "Wall Chargers"],"variantAsins": ["B0DG5MKSFT", "B0H7X6WQ5Z", "B0BZD7LL6Q"],"fetchedAt": "2026-09-24T04:14:26.352Z","fetchStatus": "ok","error": null}
Each search hit becomes one shorter record with recordType: "search-result" and these fields: searchTerm, position, asin, title, price, currency, rating, reviewCount, url, sponsored, marketplace, fetchedAt, fetchStatus, error.
The Output tab has two views: Overview (products) and Search results.
Input
- ASINs: a list of Amazon product IDs.
- Product URLs: Amazon product page URLs. The actor reads the ASIN from the URL.
- Search terms: keywords to search.
- Max results per search: stop each search after this many hits (default 20, up to 200).
- Fetch product details for search hits: off writes one short record per hit; on also fetches each hit's product page as a full product record.
- Marketplace: the Amazon domain (default
com). - Max concurrency: pages fetched at once (default 4, up to 10).
- Proxy configuration: optional. Leave it empty and product pages go without a proxy while search pages use Apify residential proxy in the marketplace's country. If you set a proxy, every request uses it.
Example input:
{"asins": ["B09W2SPRDG", "B08XMJN44P"],"searchTerms": ["silicone spatula set"],"maxResultsPerSearch": 20}
Pricing
You pay per record. There is no separate charge for Apify platform usage; it is included in the record price.
| Event | Price |
|---|---|
Product record (fetchStatus: "ok") | $0.004 |
Search result record (fetchStatus: "ok") | $0.001 |
| Actor start | $0.00005 per run |
Only records that came back with data are charged. Failed records (not-found, blocked, error) are free. They are still written to the dataset so you can see what failed.
If fetchDetailsForSearchResults is on, each product page fetched for a search hit is charged as a product record, in addition to its search result record.
You can cap a run's total charge in the run options (maximum cost per run). When the cap is reached, the actor stops starting new fetches and the run ends.
Limits
- amazon.com is verified. The other marketplaces use the same page structure and should mostly work, but they have not been tested in this version.
- No reviews. Amazon's review pages require sign-in, and this actor does not sign in.
- No content behind a sign-in, such as some seller or account pages.
- Search pages go through Apify residential proxy, so large search runs are slower than product runs.
- Prices are what a signed-out visitor in the proxy's country sees. Delivery location, Prime, and coupons can change the price a signed-in shopper sees.
- Amazon changes its page layouts from time to time. Fields that stop filling show up as
null, not as a failed run.
How failures are reported
Every input ASIN and every search page produces at least one record, so nothing is dropped silently. Each record has a fetchStatus:
ok: the page was read.not-found: Amazon has no page for this ASIN. Not retried.blocked: Amazon returned a block or error page three times, each on a fresh session.error: the connection failed three times, or the page could not be parsed.
The error field says what happened. The run log ends with a summary line: requests, ok, walls cleared, retries, failed, elapsed time, and usage.
Changelog
- 0.1 (2026-09-24): Pay per record. Product record $0.004, search result record $0.001, failed records free.
- 0.1.0 (2026-09-23): First release. Products by ASIN or URL, keyword search. Free to run.