Amazon Product Scraper - Best Sellers, ASIN, Prices, Ratings avatar

Amazon Product Scraper - Best Sellers, ASIN, Prices, Ratings

Pricing

from $4.00 / 1,000 products

Go to Apify Store
Amazon Product Scraper - Best Sellers, ASIN, Prices, Ratings

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 $4.00 / 1,000 products

Rating

0.0

(0)

Developer

Silkline

Silkline

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Amazon Product Scraper collects public product data from Amazon search results, category listings and 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 who want an Amazon API alternative with no Amazon account, API keys, proxies or cookies. Pricing is pay-per-event: $0.004 per product, plus a $0.017 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.

FieldWhat it contains
asinAmazon product ID (ASIN)
urlLink to the product page
titleProduct title
pricePrice as a number in the marketplace currency
priceTextPrice exactly as Amazon shows it, with currency symbol
originalPriceCrossed-out list price as a number
originalPriceTextCrossed-out list price as shown
currencyCurrency code of the prices
ratingAverage star rating out of 5
ratingCountNumber of ratings
salesVolumeLower bound of the "bought in past month" text, as a number (for example 10000 for "10K+")
salesVolumeTextBought-in-past-month text as shown, for example "10K+ bought in past month"
isPrimeEligible for Prime
isAmazonChoiceCarries the Amazon's Choice badge
isBestSellerCarries the Best Seller badge
isClimatePledgeFriendlyCarries the Climate Pledge Friendly label
rankPosition in the Best Sellers ranking (bestSellers mode)
rankChangeLabelRank movement label shown by Amazon, when there is one (bestSellers mode)
categoryBest Sellers category path the ranking belongs to (bestSellers mode)
categoryNameName of the Best Sellers category (bestSellers mode)
categoryIdCategory ID the product was listed under (category mode)
searchKeywordSearch keyword the product was found with (search mode)
offerCountNumber of offers (sellers) for the product
lowestOfferPriceTextLowest offer price as shown
badgeDeal badge, such as "Limited time deal"
couponTextCoupon or subscribe-and-save text
unitCountNumber of units in the pack, when Amazon gives it
unitPriceTextPrice per unit as shown
hasVariationsHas size, colour or other variations
subtitleShort line under the title (features or brand line), as Amazon shows it
bookFormatFormat shown for books and media
deliveryDelivery estimate text
imageUrlMain product image
countryMarketplace country code
domainAmazon domain the data came from
typeRecord 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. price and originalPrice are numbers; the text as Amazon shows it is kept in priceText and originalPriceText. rating is a number out of 5. salesVolume is 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" with rank, category and categoryName, limited to the 15 fields listed above.

How to use Amazon Product Scraper

  1. Open the Actor in Apify Console.
  2. Choose a Mode: search products by keyword, products of a category, or a Best Sellers ranking.
  3. Choose the Marketplace (for example US for amazon.com, DE for amazon.de, JP for amazon.co.jp).
  4. 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.
  5. Set Max results to the total number of products you want for the whole run.
  6. 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

FieldTypeRequiredWhat it doesDefault
modestringOptionalsearch (products by keyword), category (products of a category) or bestSellers (Best Sellers ranking)search
countrystringOptionalMarketplace: US, GB, DE, FR, IT, ES, NL, SE, PL, BE, IE, TR, AE, SA, EG, ZA, IN, JP, SG, AU, CA, MX, BR, CNUS
keywordsarray of stringsOptional (search mode)Search keywords or ASINs, searched one after the other until maxResults is reachedFalls back to wireless earbuds when empty
categoryIdsarray of stringsRequired in category modeNumeric Amazon category IDs (for example 172282 for Electronics), or category links that contain node=<ID>none
bestSellerCategoriesarray of stringsOptional (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 productsFalls back to electronics when empty
sortstringOptional (search and category modes)relevance, priceLowToHigh, priceHighToLow, reviews (most reviews), newest, bestSellers (best selling). Best Sellers rankings are always in rank orderrelevance
conditionstringOptional (search mode)all, new, used, renewed, collectibleall
dealsstringOptional (search mode)any (no filter), discounted (discounted products), todaysDeals (today's deals)any
primeOnlybooleanOptional (search mode)Only products eligible for Primefalse
maxResultsintegerOptionalMaximum number of products for the whole run (1 to 5000). The run stops as soon as it is reached. You are charged per product returned20

Example: keyword search with filters

{
"mode": "search",
"keywords": ["wireless earbuds", "laptop stand"],
"country": "US",
"sort": "reviews",
"condition": "new",
"primeOnly": true,
"maxResults": 100
}

Example: products of a category

{
"mode": "category",
"country": "US",
"categoryIds": ["172282"],
"sort": "bestSellers",
"maxResults": 50
}

Example: Best Sellers rankings

{
"mode": "bestSellers",
"country": "US",
"bestSellerCategories": ["electronics", "electronics/172282"],
"maxResults": 200
}

Output example

The values below are illustrative.

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"
}

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:

EventPrice (USD)When it is charged
run-start$0.017Once per run, charged when the first request to the data source succeeds, even if that request returns nothing. It is not charged when the data source 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.004For each product returned

Worked examples:

  • 100 products from one keyword: $0.017 + 100 x $0.004 = $0.417.
  • A full Best Sellers ranking (100 products) for one category: $0.017 + 100 x $0.004 = $0.417.
  • 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.017 + 100 x $0.004 = $0.434. 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.417.

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, a run returns at most 10 results in total; any paid Apify plan removes the limit. On the free Apify plan each account can run this Actor up to 3 times per 24 hours and 10 times per 7 days, within a small lifetime free allowance shared across all our Actors, and all free accounts share a daily free budget. When any of these limits is reached, the run stops before fetching anything and nothing is charged.

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 ApifyClient
client = 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 maxResults for narrow searches.
  • Searches that find nothing. A search that finds nothing is skipped. If too many inputs return nothing, the run stops to protect your budget.
  • 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. price is read from the price text of the marketplace (for example 239,00 € becomes 239.0). salesVolume is 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: salesVolume and salesVolumeText are empty for products without a recent sales figure; originalPrice is empty when the product is not discounted; subtitle, badge, couponText, unitCount, unitPriceText and bookFormat are empty for most products; price is empty for products Amazon shows only as "see price in cart" or "click to see price"; rankChangeLabel is almost always empty.
  • Free plan. On the free Apify plan a run returns at most 10 results in total; any paid Apify plan removes the limit.
  • 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.

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. On the free Apify plan a run returns at most 10 results.

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.

More tools from the same developer