Apify Store
AS
Apify Store
/memo23/amazon-bestsellers-scraper

Amazon Best Sellers Scraper — Ranked Top 100, 4 Charts

Scrape Amazon's ranked charts into clean rows — Best Sellers, New Releases, Movers & Shakers and Most Wished For — with rank, ASIN, title, numeric price, rating, review count and image. Any category, 18 marketplaces, full top-100 per chart. Pure HTTP, no browser.

liveasyncunknown~30s typical
ECOMMERCEAIAGENTS
$0.0020
per result + $0.01 call
plus $0.001 platform fee per run
Usage-based actor: event charges passed through at cost plus 25%
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /memo23/amazon-bestsellers-scraper for me.

Input

FieldTypeDescription
categoriesarrayAmazon category node slugs, e.g. "electronics", "books", "kitchen". At least one is required — the chart root is Amazon's category picker, not a chart, so it returns no items. Slugs differ per marketplace: "electronics" works on 17 of 18 marketplaces but NOT amazon.de, which uses "computers". Only automotive, beauty, books, gift-cards and videogames work on all 18. See the README for the full per-marketplace table. Sub-categories work too (e.g. "electronics/172623"). Each category is crossed with every selected chart and marketplace. default ["electronics"]
chartsarrayWhich ranked charts to pull. Amazon publishes four per category. default ["bestsellers"]
marketplacesarrayAmazon marketplace TLDs to scrape. default ["com"]
startUrlsarrayPaste full chart URLs instead of picking categories — e.g. https://www.amazon.com/gp/bestsellers/electronics/ or https://www.amazon.de/gp/movers-and-shakers/computers/. Works with /gp/bestsellers/, /zgbs/, /gp/new-releases/, /gp/movers-and-shakers/ and /gp/most-wished-for/. default []
maxItemsintegerHard cap on rows across the whole run. You are charged per row returned. default 200
maxItemsPerChartintegerAmazon charts hold 100 ranked products (2 pages of 50). Set 50 to take only the first page. default 100
fetchMissingDetailsbooleanAmazon server-renders only ~30 of the 50 rows per chart page; the rest arrive with rank + ASIN but no title/price. Turn this on to fetch each of those product pages and fill the missing fields. Slower and uses more requests. default false
skipIncompleteRowsbooleanDrop the un-hydrated rows entirely instead of returning them with rank + ASIN only. Gives ~60 complete rows per chart instead of 100 mixed ones. default false
concurrencyintegerParallel page fetches. Lower it if you hit Amazon throttling. default 6
proxyConfigurationobjectLeave empty to use the actor's built-in residential proxy, which is what reliably returns full Amazon pages. Only set this to override with your own Apify proxy.

Call it

curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
  -H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
  -d '{"provider":"apify","endpoint":"/memo23/amazon-bestsellers-scraper","input":{"categories":["electronics"],"charts":["bestsellers"],"marketplaces":["com"],"startUrls":[],"maxItems":200,"maxItemsPerChart":100,"fetchMissingDetails":false,"skipIncompleteRows":false,"concurrency":6},"wait":false}'
poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."
cli
npx cracked-ai run -p apify -e /memo23/amazon-bestsellers-scraper -i '{"categories":["electronics"],"charts":["bestsellers"],"marketplaces":["com"],"startUrls":[],"maxItems":200,"maxItemsPerChart":100,"fetchMissingDetails":false,"skipIncompleteRows":false,"concurrency":6}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/memo23/amazon-bestsellers-scraper", input: {"categories":["electronics"],"charts":["bestsellers"],"marketplaces":["com"],"startUrls":[],"maxItems":200,"maxItemsPerChart":100,"fetchMissingDetails":false,"skipIncompleteRows":false,"concurrency":6}, wait: false })

Try it

Runs against your signed-in workspace balance. Sign in if you have not.