Amazon Products Scraper - Fast & Efficient (with Sales Data) avatar

Amazon Products Scraper - Fast & Efficient (with Sales Data)

Pricing

from $5.55 / 1,000 results

Go to Apify Store
Amazon Products Scraper - Fast & Efficient (with Sales Data)

Amazon Products Scraper - Fast & Efficient (with Sales Data)

Scrape Amazon product pages — title, price, BSR, badges, variants, reviews, specs, plus monthly-sales/revenue estimates calibrated against Amazon's own bought-in-past-month badges. Three input modes: keyword search, direct URLs, or raw ASINs.

Pricing

from $5.55 / 1,000 results

Rating

5.0

(1)

Developer

Automly

Automly

Maintained by Community

Actor stats

1

Bookmarked

260

Total users

176

Monthly active users

2 days ago

Last modified

Share

🛒 Amazon Products Scraper — with Sales & Revenue Estimates

The only Apify Amazon scraper that returns estimated monthly sales and revenue for every product, calibrated against Amazon's own bought-in-past-month badges. Built for sellers, FBA researchers, brand teams, and analysts who need volume signal — not just static product data.

From $5.55 per 1,000 results. 30+ fields. 9 marketplaces. BSR + sales estimates included.

30+ fields per product — title, brand, price, BSR, badges, variants, reviews, specs, related ASINs, monthly sales & revenue estimates
3 input modes — search by keyword, list of URLs, or raw ASINs
9 marketplaces.com .co.uk .de .fr .it .es .ca .com.mx .in
Fast & lightweight — runs at sub-second latency per product, much cheaper than browser-based scrapers
Auto-paginates search results until you hit maxResultsPerKeyword
Multi-layout parser — handles standard products, books, devices, OOS items, variants, mobile/lite layouts


What makes this Actor different from other Amazon scrapers?

Most Amazon scrapers stop at price + title. This one tells you what's actually selling:

{
"asin": "B00HEZ888K",
"title": "OXO Good Grips Heavy Duty Garlic Press, Die-Cast Zinc, Black",
"price": "$20.99",
"best_sellers_rank": [{"rank": 680, "category": "Kitchen & Dining"}],
"bought_in_past_month": "6K+", // ← Amazon's bucketed signal
"estimated_monthly_sales": 3590, // ← OUR per-category model
"estimated_monthly_revenue": "$75,354.10" // ← formatted with same currency as price
}

How the estimate works: per-category cubic curve in log10(BSR), calibrated directly against Amazon's own bought-in-past-month badges (the "20K+", "6K+" labels Amazon shows on product pages). Validated to ±55% per-product median error in COM. ~89% BSR coverage across 28 top-level categories.

This is the same volume signal premium seller-research tools charge $40-100/month for — built into every product row, included in your per-result pricing.


How does it compare to other Amazon scrapers?

FeatureThis actorTypical Amazon scrapers
Best Sellers Rank (BSR)✅ All visible ranks⚠️ Often missing
Estimated monthly sales✅ Calibrated per-category❌ None do this
Estimated monthly revenuesales × price❌ None do this
Bought-in-past-month badge✅ Surfaced⚠️ Inconsistent
Variants with ASINs + dimensions✅ Full list⚠️ Often parent-only
Review distribution (per-star)✅ All 5 stars⚠️ Total only
Coupons + discount %✅ Both⚠️ Usually price only
Marketplaces91-3 typical
Speed✅ sub-second per product❌ multi-second renders
Pricefrom $5.55 / 1K$5-30 / 1K

The sales/revenue estimates alone replace a $40-100/month subscription to premium seller-research tools — included at no extra cost in every product row.


🚀 Use Cases

WhoWhat they do with it
FBA sellersFind untapped niches by sweeping a category and ranking by estimated_monthly_revenue
Brand teamsTrack competitor pricing, BSR, and inventory ("Only 3 left") across an ASIN list daily
Affiliates / dropshippersIdentify hot products in real time before they go viral
Pricing analystsPull discount %, coupons, list price, current price across thousands of SKUs
Marketplace consultantsBulk-extract specs, dimensions, item model numbers for catalog migration
AI / ML teamsBuild product-search + recommendation training sets with rich structured data

📥 Input modes (pick one)

1) Keywords — search Amazon and scrape every result

{
"keywords": ["garlic press", "yoga mat", "stainless water bottle"],
"maxResultsPerKeyword": 200,
"fullDetails": true,
"marketplace": "com",
"concurrency": 4
}

The actor paginates Amazon's search until maxResultsPerKeyword unique products are collected per keyword, then drills into each product page (when fullDetails: true) for full data.

2) Direct URLs

{
"startUrls": [
{"url": "https://www.amazon.com/dp/B00HEZ888K"},
{"url": "https://www.amazon.com/dp/B0BZYCJK89"}
]
}

3) Raw ASINs

{
"asins": ["B00HEZ888K", "B0BZYCJK89", "B0014BYHJE"],
"marketplace": "com"
}

📤 Output sample (one row per product)

{
"asin": "B0BZYCJK89",
"url": "https://www.amazon.com/dp/B0BZYCJK89",
"title": "Owala FreeSip Insulated Stainless Steel Water Bottle with Straw, BPA-Free Sports Water Bottle, Great for Travel, 24 Oz, Denim",
"brand": "Owala",
"price": "$29.99",
"list_price": "$34.99",
"discount_percent": 14,
"coupon": null,
"rating": 4.7,
"review_count": 118592,
"review_distribution": {"5_star_pct": 86, "4_star_pct": 7, "3_star_pct": 2, "2_star_pct": 1, "1_star_pct": 4},
"best_sellers_rank": [{"rank": 1, "category": "Kitchen & Dining"}],
"bought_in_past_month": "20K+",
"estimated_monthly_sales": 48953,
"estimated_monthly_revenue": "$1,468,089.47",
"categories": ["Home & Kitchen", "Kitchen & Dining", "Travel & To-Go Drinkware", "..."],
"features": ["BPA-free Tritan...", "..."],
"description": "...",
"specs": {"Brand Name": "Owala", "Manufacturer": "Owala", "..." : "..."},
"variants":[{"asin": "B097...", "dimensions": {"Color": "Denim", "Size": "24 oz"}}, "..."],
"images": ["https://m.media-amazon.com/images/I/...jpg"],
"availability": "In Stock",
"stock_left": null,
"sold_by": "Amazon.com",
"is_prime": true,
"is_fba": true,
"badges": ["Amazon's Choice"],
"related_asins": ["B0...", "..."],
"search_keyword": "stainless water bottle",
"search_position": 1,
"scraped_at": "2026-04-27T..."
}

30+ fields per product — see Output schema below for the full list.


🌍 Marketplaces supported

com co.uk de fr it es ca com.mx in

The marketplace selects:

  • the URL host used for searches and ASIN lookups
  • the locale cookies sent (i18n-prefs, lc-main)
  • which per-category sales-estimate curve is used

⚙️ Input parameters

FieldTypeDefaultNotes
keywordsstring[][]Search Amazon for each. Mutually exclusive with startUrls / asins.
startUrls{url}[][]Direct product URLs.
asinsstring[][]Plain 10-char ASINs.
maxResultsPerKeywordint50Cap per keyword (1-500).
fullDetailsbooltrueIf false, search returns lightweight listing data only — much faster but no BSR.
marketplaceenum"com"One of the 9 supported TLDs.
concurrencyint4Parallel product fetches (1-16).
proxyConfigurationobjectApify residentialApify proxy is recommended; datacenter usually blocked.

📋 Output schema

asin string 10-char Amazon product ID
url string canonical /dp/<asin> URL
title string
brand string
price string "$25.55" — display string with currency
list_price string "$34.99" — MSRP / strike-through
discount_percent int % off list price
coupon string promo / S&S coupon string
rating float 0–5
review_count int
review_distribution {5_star_pct, 4_star_pct, ..., 1_star_pct}
best_sellers_rank [{rank, category}, ...] all visible BSR mentions
bought_in_past_month string "20K+", "6K+", etc.
estimated_monthly_sales int ← our calibrated estimate
estimated_monthly_revenue string "$1,234.56" — formatted with same currency as price
categories string[] breadcrumb path
features string[] bullet points
description string long-form description
specs {key: value} product details table
variants [{asin, dimensions}] color/size combos with their own ASINs
images string[] high-res image URLs
availability string "In Stock", "Only 3 left", ...
stock_left int parsed from "Only N left"
sold_by string buy-box winner
ships_from string
is_prime bool
is_fba bool
badges string[] Amazon's Choice, Best Seller, ...
related_asins string[] "Customers also bought" carousel
search_keyword string when from search-mode
search_position int 1-indexed position in search results
sponsored bool
scraped_at ISO-8601 UTC timestamp

How much does it cost to scrape Amazon products?

From $5.55 per 1,000 successfully scraped products. Pay-per-result — no compute-units math, no surprise proxy bills, no monthly fees.

VolumeCost
100 products (test run)$0.56
1,000 products$5.55
10,000 products$55.50
100,000 products$555.00

What's included:

  • ✅ All 30+ fields per product (price, BSR, estimated monthly sales + revenue, variants, reviews, specs, …)
  • ✅ Apify residential proxy bundled — you don't bring your own
  • ✅ Built-in anti-blocking + auto-retry on rate-limited pages
  • ✅ All 9 marketplaces (US, UK, DE, FR, IT, ES, CA, MX, IN)

What "successfully scraped" means: a product page that returns at least the core fields (title, ASIN, price or availability). Failed fetches after all retries are not billed.

Compare with other Apify Amazon scrapers:

ActorPrice / 1KBSR?Sales estimates?
This actor$5.55
junglee/free-amazon-product-scraper$6.20
akash9078/amazon-product-scraper$5.00⚠️ partial
getdataforme/amazon-product-reviews$9.00❌ (reviews only)
dtrungtin/amazon-scraper$30.00⚠️ partial

For very large jobs (50K+/month), reach out for volume pricing.


How do I get started? Quick start guide

From the Apify Console

  1. Click Try for free
  2. Paste your input — keywords, URLs, or ASINs
  3. Click Start
  4. Download results as JSON, CSV, Excel, or pull via API

Via the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automly/amazon-products-scraper').call({
keywords: ['yoga mat'],
maxResultsPerKeyword: 100,
marketplace: 'com',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]); // first product
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automly/amazon-products-scraper").call(run_input={
"keywords": ["yoga mat"],
"maxResultsPerKeyword": 100,
"marketplace": "com",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Locally with the Apify CLI

git clone <this-repo>
cd amazon-products-scraper-actor
apify run # reads storage/key_value_stores/default/INPUT.json

⚠️ Known limitations

We'd rather tell you up-front than have you hit them mid-run:

  • 5 categories without sales calibration: Camera & Photo, Cell Phones & Accessories, Movies & TV, CDs & Vinyl, Software. These products still return BSR, but estimated_monthly_sales: null. Other 23 top-level categories are calibrated.
  • No review text — only counts + per-star distribution. Review pages need their own paginated scraper; pair us with getdataforme/amazon-product-reviews-scraper if you need full text.
  • No Q&A — on the roadmap.
  • Variant pricing — you get the variant ASIN + its dimensions (color, size). To get each variant's specific price, feed those ASINs back into the actor in a second run.
  • ±55% sales-estimate variance — this is intrinsic to the BSR signal (Amazon shows the same BSR for products with very different actual sales). The estimate is calibrated against Amazon's own bought-in-past-month badges, but no estimator can be tighter than the source data allows.

❓ Frequently asked questions

Will my run get blocked?
Unlikely with default settings. The three-tier fetch chain solves WAF challenges automatically and rotates residential exit IPs per keyword. We've benchmarked sustained runs of thousands of products without manual intervention. For very large jobs (50K+) the safest pattern is to split into multiple runs.

Does this work for Amazon Brand products like Echo Dot or Kindle?
Yes for most fields, but Amazon hides BSR for some of its own out-of-stock devices — that's an Amazon-side data limitation, not a parser issue. Price is still extracted (from the JSON olpMessage fallback used for the Devices layout).

How fresh is the BSR data?
Real-time per request. Amazon updates BSR hourly; whatever you see in your browser at scrape-time is what you get in the output.

How accurate is the sales estimate?
Median per-product error of ±55% validated against held-out Amazon bought-in-past-month badges. The estimator is great for ranking products by relative volume and getting order-of-magnitude estimates. It's not a substitute for inventory-level signal data.

Can I bring my own proxy?
Yes — set proxyConfiguration.proxyUrls to your own residential proxy URLs (DataImpulse, Bright Data, etc.). You'll save on Apify's proxy markup and may get faster throughput.

Can I get review TEXT, not just counts?
Not in this actor. Pair us with getdataforme/amazon-product-reviews-scraper for full review text.


🔗 Pair with other Apify Actors