Amazon Product Scraper - Best Sellers, ASIN, Prices, Ratings
Pricing
from $3.26 / 1,000 products
Amazon Product Scraper - Best Sellers, ASIN, Prices, Ratings
Amazon API alternative: search products by keyword, list a category or pull Best Sellers rankings on 24 marketplaces. Get ASIN, title, price and list price, rating and rating count, Prime and badges, bought-past-month volume. No login or cookies needed. Export to JSON, CSV or Excel.
Pricing
from $3.26 / 1,000 products
Rating
0.0
(0)
Developer
Silkline
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 hours ago
Last modified
Categories
Security
Limited permissionsShare
Amazon Product Scraper is an Amazon API alternative that collects public product data from Amazon search results, category listings and Amazon Best Sellers rankings on 24 Amazon marketplaces, and returns it as clean, flat JSON. Every record has the ASIN, title, price and list price as numbers, rating and number of ratings, Prime, Amazon's Choice and best-seller flags, the "bought in past month" volume, delivery text and image. It is for sellers, product researchers, price monitors and data teams, with no Amazon account, API keys, proxies or cookies needed. Pricing is pay-per-event: $0.004 per product, plus a $0.023 start fee per run.
What data can you get?
One record per product. Search and category records use the same field names in every marketplace. Best Sellers records use a smaller set of 15 fields (see below the table). Fields that only make sense in one mode are noted.
| Field | What it contains |
|---|---|
asin | Amazon product ID (ASIN) |
url | Link to the product page |
title | Product title |
price | Price as a number in the marketplace currency |
priceText | Price exactly as Amazon shows it, with currency symbol |
originalPrice | Crossed-out list price as a number |
originalPriceText | Crossed-out list price as shown |
currency | Currency code of the prices |
rating | Average star rating out of 5 |
ratingCount | Number of ratings |
salesVolume | Lower bound of the "bought in past month" text, as a number (for example 10000 for "10K+") |
salesVolumeText | Bought-in-past-month text as shown, for example "10K+ bought in past month" |
isPrime | Eligible for Prime |
isAmazonChoice | Carries the Amazon's Choice badge |
isBestSeller | Carries the Best Seller badge |
isClimatePledgeFriendly | Carries the Climate Pledge Friendly label |
rank | Position in the Best Sellers ranking (bestSellers mode) |
rankChangeLabel | Rank movement label shown by Amazon, when there is one (bestSellers mode) |
category | Best Sellers category path the ranking belongs to (bestSellers mode) |
categoryName | Name of the Best Sellers category (bestSellers mode) |
categoryId | Category ID the product was listed under (category mode) |
searchKeyword | Search keyword the product was found with (search mode) |
offerCount | Number of offers (sellers) for the product |
lowestOfferPriceText | Lowest offer price as shown |
badge | Deal badge, such as "Limited time deal" |
couponText | Coupon or subscribe-and-save text |
unitCount | Number of units in the pack, when Amazon gives it |
unitPriceText | Price per unit as shown |
hasVariations | Has size, colour or other variations |
subtitle | Short line under the title (features or brand line), as Amazon shows it |
bookFormat | Format shown for books and media |
delivery | Delivery estimate text |
imageUrl | Main product image |
country | Marketplace country code |
domain | Amazon domain the data came from |
type | Record type: product or bestSeller |
Best Sellers records contain only these 15 fields: type, rank, asin, url, category, categoryName, title, priceText, price, rating, ratingCount, rankChangeLabel, imageUrl, country and domain. The other fields in the table (for example originalPrice, currency, isPrime, salesVolume, delivery, offerCount and badge) appear only in product records from search and category mode.
How the data is shaped
- Numbers you can use.
priceandoriginalPriceare numbers; the text as Amazon shows it is kept inpriceTextandoriginalPriceText.ratingis a number out of 5.salesVolumeis the lower bound of Amazon's rounded "bought in past month" text. - Flat fields, nothing nested. One record per product. Search and category records share the same field names in every marketplace, so you can merge those runs without remapping columns. Best Sellers records use the smaller set of 15 fields listed above.
- Two record types. Search and category runs return
"type": "product". Best Sellers runs return"type": "bestSeller"withrank,categoryandcategoryName, limited to the 15 fields listed above.
How to use Amazon Product Scraper
- Open the Actor in Apify Console.
- Choose a Mode: search products by keyword, products of a category, or a Best Sellers ranking.
- Choose the Marketplace (for example US for amazon.com, DE for amazon.de, JP for amazon.co.jp).
- Fill in the input for your mode: keywords or ASINs, category IDs, or Best Sellers category paths. In search mode you can add sort, condition, deals and Prime filters.
- Set Max results to the total number of products you want for the whole run.
- Click Start. When the run finishes, download the dataset as JSON, CSV or Excel, or read it through the Apify API.
The Actor also runs in seconds with an empty input: {} searches "wireless earbuds" on amazon.com.
Input
| Field | Type | Required | What it does | Default |
|---|---|---|---|---|
mode | string | Optional | search (products by keyword), category (products of a category) or bestSellers (Best Sellers ranking) | search |
country | string | Optional | Marketplace: US, GB, DE, FR, IT, ES, NL, SE, PL, BE, IE, TR, AE, SA, EG, ZA, IN, JP, SG, AU, CA, MX, BR, CN | US |
keywords | array of strings | Optional (search mode) | Search keywords or ASINs, searched one after the other until maxResults is reached | Falls back to wireless earbuds when empty |
categoryIds | array of strings | Required in category mode | Numeric Amazon category IDs (for example 172282 for Electronics), or category links that contain node=<ID> | none |
bestSellerCategories | array of strings | Optional (bestSellers mode) | Category paths as they appear in a Best Sellers link after /zgbs/ (for example electronics or electronics/172282), or the full link. A ranking holds up to 100 products | Falls back to electronics when empty |
sort | string | Optional (search and category modes) | relevance, priceLowToHigh, priceHighToLow, reviews (most reviews), newest, bestSellers (best selling). Best Sellers rankings are always in rank order | relevance |
condition | string | Optional (search mode) | all, new, used, renewed, collectible | all |
deals | string | Optional (search mode) | any (no filter), discounted (discounted products), todaysDeals (today's deals) | any |
primeOnly | boolean | Optional (search mode) | Only products eligible for Prime | false |
maxResults | integer | Optional | Maximum number of products for the whole run (1 to 5000). The run stops as soon as it is reached. You are charged per product returned | 20 |
Example: Amazon keyword search with filters
{"mode": "search","keywords": ["wireless earbuds", "laptop stand"],"country": "US","sort": "reviews","condition": "new","primeOnly": true,"maxResults": 100}
Example: Amazon products of a category
{"mode": "category","country": "US","categoryIds": ["172282"],"sort": "bestSellers","maxResults": 50}
Example: Amazon Best Sellers rankings
{"mode": "bestSellers","country": "US","bestSellerCategories": ["electronics", "electronics/172282"],"maxResults": 200}
Output example
The values below are illustrative.
Amazon product record (search or category mode)
{"type": "product","asin": "B0EXAMPLE1","url": "https://www.amazon.com/dp/B0EXAMPLE1","searchKeyword": "wireless earbuds","title": "Wireless Earbuds, Bluetooth 5.3 Headphones with Charging Case, IPX7 Waterproof (White)","subtitle": null,"priceText": "$19.97","price": 19.97,"originalPriceText": "$39.99","originalPrice": 39.99,"currency": "USD","rating": 4.4,"ratingCount": 1250,"offerCount": 1,"lowestOfferPriceText": "$19.97","isBestSeller": false,"isAmazonChoice": false,"isPrime": true,"isClimatePledgeFriendly": false,"hasVariations": true,"badge": null,"couponText": null,"salesVolumeText": "500+ bought in past month","salesVolume": 500,"delivery": "FREE delivery Mon, Oct 19 on $35 of items shipped by Amazon","imageUrl": "https://m.media-amazon.com/images/I/example.jpg","country": "US","domain": "www.amazon.com"}
Amazon Best Sellers record (bestSellers mode)
Best Sellers records have "type": "bestSeller" and contain only these fields: rank, category, categoryName, asin, url, title, priceText, price, rating, ratingCount, rankChangeLabel, imageUrl, country and domain.
{"type": "bestSeller","rank": 1,"category": "electronics","categoryName": "Electronics","asin": "B0EXAMPLE2","url": "https://www.amazon.com/dp/B0EXAMPLE2","title": "Example Streaming Media Player with Voice Remote","priceText": "$29.99","price": 29.99,"rating": 4.7,"ratingCount": 54000,"rankChangeLabel": null,"imageUrl": "https://m.media-amazon.com/images/I/example2.jpg","country": "US","domain": "www.amazon.com"}
How much does it cost?
The Actor uses pay-per-event pricing. These are the charge events and their prices:
| Event | Price (USD) | When it is charged |
|---|---|---|
run-start | $0.023 | Once per run, charged when the first request succeeds, even if that request returns nothing. It is not charged when the run fails from the start or rejects the IDs, or when your spending limit cannot cover it. When you give several keywords, categories or rankings, each one after the first pays one more start fee, but only if the run actually reaches it. That extra fee is charged before that input's first request and is kept even if that input then fails or returns nothing. |
result | $0.004 | For each product returned |
Worked examples:
- 100 products from one keyword: $0.023 + 100 x $0.004 = $0.423.
- A full Best Sellers ranking (100 products) for one category: $0.023 + 100 x $0.004 = $0.423.
- 100 products in total from two keywords, where the first keyword runs out after 40 products and the other 60 come from the second: 2 x $0.023 + 100 x $0.004 = $0.446. If the first keyword alone fills all 100 products, the second keyword is never searched, no second start fee is charged, and the cost stays $0.423.
You never pay for more than maxResults items, you are never charged for items that were not delivered, and the run stops by itself if your spending limit is reached.
On the free Apify plan you get 2 free trial runs of this Actor with your own input, up to 10 results each, and nothing is charged; after that, runs return a stored sample dataset (a real result of the prefilled input). Use any paid Apify plan for full runs.
Use cases
- Product research and selection: see what sells in a niche, at what price, with how many ratings and how many bought in the past month.
- Price and promotion monitoring: compare list price against current price, and track deals, coupons and Prime eligibility.
- Best Sellers tracking: pull the top 100 of any category by marketplace, and run it on a schedule to see which products move up or down.
- Market comparison: run the same keyword on amazon.com, amazon.de and amazon.co.jp and compare prices, ratings and badges.
- Competitor and ASIN watch lists: search ASINs to check their current price, rating and Amazon's Choice or Best Seller badges.
- AI and data projects: use clean, flat product records for catalogs, price models and recommendations.
Integrations and API
You can start runs from your own code with the Apify API, schedule runs (for example a daily Best Sellers snapshot), and connect the dataset to Apify integrations and webhooks so new results flow into your other tools. Results can be read from the API as JSON, CSV or Excel.
Example with the Python apify-client package:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("clover_folktale/amazon-scraper").call(run_input={"mode": "search","keywords": ["wireless earbuds", "laptop stand"],"country": "US","sort": "reviews","condition": "new","primeOnly": True,"maxResults": 100,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Tips and limits
- Page sizes. A search page holds about 16 products, a category page about 24, and a Best Sellers page 50. A ranking has two pages, so 100 products. Large runs make many requests; expect roughly 2-5 seconds per page. Different pages of one search do not overlap.
- Fewer results than requested. A listing ends when a page comes back thin or empty, so you may get fewer products than
maxResultsfor narrow searches. - Searches that find nothing. A search that finds nothing is skipped.
- Stable runs. The Actor retries transient errors on its own, stops cleanly instead of failing half-way, and never charges for items it did not deliver.
- Price parsing.
priceis read from the price text of the marketplace (for example239,00 €becomes 239.0).salesVolumeis the lower bound of Amazon's rounded text. - Currency and timing. Prices are in each marketplace's own currency and are what Amazon shows at the time of the run.
- Unknown category IDs. A category ID that Amazon does not know can return unrelated products instead of nothing; check the first results.
- Which fields are often empty:
salesVolumeandsalesVolumeTextare empty for products without a recent sales figure;originalPriceis empty when the product is not discounted;subtitle,badge,couponText,unitCount,unitPriceTextandbookFormatare empty for most products;priceis empty for products Amazon shows only as "see price in cart" or "click to see price";rankChangeLabelis almost always empty. - Unreadable entries. If one entry of an ID or link list cannot be read (a typo, a stray cell, a link to the wrong kind of page), it is skipped and named in the log, and the status message says how many were skipped; the other entries still run and nothing is charged for a skipped one. Only a list with no readable entry stops the run with an input error.
- Free plan. On the free Apify plan you get 2 free trial runs of this Actor with your own input, up to 10 results each, and nothing is charged; after that, runs return a stored sample dataset (a real result of the prefilled input). Use any paid Apify plan for full runs.
- Feedback. Missing a field or a filter? Open an issue from the Actor page and it will be looked at.
FAQ
Do I need an Amazon account, API key or cookies?
No. You do not need an Amazon account, API keys, proxies or cookies. You only need an Apify account to run the Actor.
Is it legal to scrape Amazon?
The Actor returns only public listing data: what anyone sees on an Amazon search, category or Best Sellers page. It returns no account data and no buyer data, and no private data such as phone numbers or messages. You are responsible for how you use the data and for following the laws and terms that apply to you.
How fresh is the data?
Each run reads Amazon at the time of the run. Prices, ratings, badges and rankings are what Amazon shows at that moment.
Why are some fields empty?
Amazon does not show every field for every product. For example, originalPrice is only there for discounted products and salesVolume only for products with a recent sales figure. See "Which fields are often empty" in Tips and limits.
How many results can I get?
Up to 5000 products per run, set with maxResults. A Best Sellers ranking holds up to 100 products. Narrow searches can return fewer products.
Does it scrape review text?
No. Each product record has the average rating and the ratingCount, but not the text of individual reviews.
Which marketplaces are supported?
24: US, GB, DE, FR, IT, ES, NL, SE, PL, BE, IE, TR, AE, SA, EG, ZA, IN, JP, SG, AU, CA, MX, BR and CN.
Can I schedule runs and export the data?
Yes. You can schedule runs in Apify, start them through the API, and export every dataset as JSON, CSV or Excel.
Other tools by Silkline
Every tool below charges per result and needs no login or cookies.
E-commerce
- Taobao Tmall 淘宝 Product Scraper - Prices, Sales & Shops
- 1688.com 阿里巴巴 Wholesale Scraper - MOQ Prices & Suppliers
- JD.com 京东 Scraper - Shop Products & Buyer Reviews
- Douyin Shop 抖音商城 Product Scraper - Sales, Commission & Shops
- TikTok Shop Scraper - Products, Sales, Reviews & Hot Sellers
- AliExpress 速卖通 Scraper - Products, Prices & Sold Counts
More from Silkline
- Xiaohongshu 小红书 RedNote Scraper - Notes, Comments & Replies (Chinese social media and content)
- TikTok Scraper - Video Search, Hashtags, Profiles & Sounds (Global platforms)
- Douyin Xingtu 巨量星图 KOL Scraper - Rates, CPM & Rankings (Marketing and creator data)