Amazon Bestsellers Scraper: Product Photo & Spec Details avatar

Amazon Bestsellers Scraper: Product Photo & Spec Details

Pricing

Pay per usage

Go to Apify Store
Amazon Bestsellers Scraper: Product Photo & Spec Details

Amazon Bestsellers Scraper: Product Photo & Spec Details

Amazon Bestsellers Scraper extracts top-selling products from any Amazon bestseller category. Capture titles, prices, ratings, ranks, images, and key details. Ideal for market research, product validation, competitor tracking, and workflows needing structured bestseller data.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

API Empire

API Empire

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

1

Monthly active users

4 days ago

Last modified

Share

Amazon Bestsellers Scraper — Extract Rankings, Photos & Specs as JSON

Amazon Bestsellers Scraper: Product Photo & Spec Details reads any Amazon Best Sellers category and returns every ranked product as structured JSON — grid data (rank, price, rating) plus product-detail fields (brand, images, specifications, variations, seller, description) once enrichment is on. Every response is typed, normalized JSON — no HTML, no selectors. It covers six Amazon marketplaces: .com, .co.uk, .de, .fr, .es and .it. After reading this, you'll know which fields to expect and how to turn one ranked category into a fully enriched product catalog in a single run.

What is Amazon Bestsellers Scraper: Product Photo & Spec Details?

Amazon Bestsellers Scraper: Product Photo & Spec Details is an Apify Actor that walks an Amazon Best Sellers category page — including its ranked grid and, optionally, its subcategory tree — and, for every ranked product, can also fetch that product's own /dp/ detail page to pull the data that normally only lives there. No Amazon account or login is required; the Actor reads the same public pages a logged-out browser sees.

  • Scrape the Best Sellers ranking grid — position, ASIN, price, rating, review count
  • Fetch each product's photo gallery and thumbnail
  • Fetch each product's specification table, feature bullets, brand and description
  • Capture Best Sellers Rank across every category a product ranks in, plus variations and seller
  • Export as JSON, CSV, XML or Excel, or pull results through the Apify API

What data does Amazon Bestsellers Scraper: Product Photo & Spec Details collect?

A single run can return best-seller ranking data, product photos, and full specification/description data for the same product — enrichment is optional per run and controlled by one input flag.

Data TypeKey FieldsJSON Field Names
Best-seller rankinggrid rank position, ASIN, category rank list, category namesposition, asin, bestsellerRanks, categoryName, categoryFullName
Product photosimage gallery, grid thumbnailimages, thumbnailUrl
Specifications & descriptionbrand, feature bullets, spec table, description, variationsbrand, features, productSpecification, productDescription, variations
Price, rating & availabilityprice, currency, star rating, review count, offer count, stock status, sellerprice, currencyCode, stars, reviewsCount, numberOfOffers, availability, seller

Need more Amazon data?

If you need to discover which products are trending before you rank them — by keyword, badge (Best Seller / Amazon's Choice / New Release), or computed opportunity score — Amazon Search Products & Trending Scraper covers that discovery step. If you need to identify and profile the sellers behind a niche instead of the products themselves, Amazon Seller Data Extractor By Keyword Search resolves sellers by keyword, ASIN, or seller ID, including the EU business-transparency panel. Both sit alongside this Actor under the API-Empire account.

How does Amazon Bestsellers Scraper differ from the official Amazon API?

Amazon's own Product Advertising API (PA-API) requires an active Amazon Associates (affiliate) account, and access is tied to that account staying in good standing under Amazon's affiliate program terms. Amazon Bestsellers Scraper: Product Photo & Spec Details runs directly as an Apify Actor and does not require an Amazon account, an Associates approval, or any API credentials.

FeatureAmazon Product Advertising API (PA-API)Amazon Bestsellers Scraper
Access requirementActive, approved Amazon Associates accountNone — runs directly on Apify
Approval processSubject to Associates Program eligibility and standingNo approval step; start a run immediately
Best Sellers category browsingBuilt for ASIN/keyword catalog lookups, not for crawling a Best Sellers category gridWalks the full Best Sellers grid plus one subcategory level
Product detail depthReturns the resource fields the API exposes per ASINReturns full PDP fields — brand, images, specs, variations, seller, description
Multi-marketplace setupConfigured per marketplace within the Associates accountSame input handles .com, .co.uk, .de, .fr, .es, .it by URL
Output formatJSON per PA-API's own response schemaTyped, normalized JSON with one stable schema across marketplaces

The PA-API is the right choice if you already run an approved Associates account and only need ASIN-scoped catalog lookups inside an affiliate application. Amazon Bestsellers Scraper fits better when you need to browse and rank an entire Best Sellers category and enrich every result with full product-detail fields, without maintaining Associates approval.

Why do developers and teams scrape Amazon?

Amazon Best Sellers and product-detail data support several distinct workflows, from sourcing to AI pipelines.

For product research and sourcing teams

Sourcing teams and dropshippers use Best Sellers rankings to find products with proven demand, then need the product-detail layer — brand, productSpecification, variations, seller — to evaluate a specific listing before committing to it. A typical workflow ranks a category with topProductsPerCategory, then enables fetchProductDetails only for the top slice to check specs and seller/fulfillment data without paying to enrich the whole category. This turns a ranked list into a shortlist with enough detail to decide sourcing viability in one pass.

For market and category analysts

Analysts track which brands and specifications dominate a category's Best Sellers list over time. By reading bestsellerRanks alongside brand, productSpecification, and price, an analyst can compare how competing products in the same category differ on the attributes that actually drive ranking, rather than guessing from a storefront screenshot. Because subcategoryCrawlDepth can pull in the left-nav subcategory tree, the same run can compare a parent category against its subcategories in one dataset, giving a category-wide view of pricing, ratings, and specification trends without opening each product individually.

For AI engineers and agent builders

Product photo and specification data is a natural fit for retrieval-augmented generation and shopping agents. An engineer can index productDescription, productSpecification, and features into a vector store, and pass images URLs directly to a multimodal model, letting an agent answer "what does this best-selling product look like and what are its specs" without an HTML-parsing step. Because every field is typed JSON, it drops straight into an agent tool or embedding pipeline, without a separate cleanup or normalization step before it reaches the model.

For competitive intelligence and brand teams

Brand teams monitor which competitors hold Best Sellers Rank positions in their category and how those products are positioned — bestsellerRanks, brand, features, and variations show both rank and the product attributes behind it. A recurring run against the same category URL lets a team track rank movement and specification changes for competing products over successive runs, without manually reopening each product page every time a rank list needs checking, and without maintaining a separate PDP scraper alongside the ranking one.

How to scrape Amazon (step by step)

  1. Open Amazon Bestsellers Scraper: Product Photo & Spec Details on its Apify Store listing, or find it under the API-Empire account in Apify Console.
  2. Paste one or more Amazon Best Sellers category URLs into bestSellerCategoryUrls — no input is strictly required by the schema, but this is what the Actor actually needs to scrape anything.
  3. Set topProductsPerCategory and subcategoryCrawlDepth to control how much of the grid and subcategory tree to walk, then turn on fetchProductDetails (optionally capped with maxDetailFetches) if you want brand, photos, specs and seller data added.
  4. Start the run — no Amazon account, login, or API token is required.
  5. Open the Dataset tab and export results as JSON, CSV, Excel, or XML, or pull them through the Apify API.

What to do when Amazon changes its structure

Amazon Bestsellers Scraper: Product Photo & Spec Details is actively maintained, and its output schema is kept stable so existing integrations keep working when Amazon changes its page markup. No specific fix turnaround is guaranteed, but field names and types on your end don't change as a result of an Amazon-side update.

⬇️ Input

ParameterRequiredTypeDescriptionExample Value
bestSellerCategoryUrlsNoarrayOne or more Amazon Best Sellers category page URLs (must contain best-sellers or bestsellers). Every ranked product found becomes a row; turn on PDP enrichment to add its full detail page.["https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"]
topProductsPerCategoryNointegerHow many top-ranked best-seller products to capture from each category URL (1–500). Default 100.50
subcategoryCrawlDepthNointeger1 = main category only, 2+ = also crawl the left-nav subcategory tree (one extra level). Default 2.2
fetchProductDetailsNobooleanWhen on, fetches each ranked product's detail page to add brand, fullTitle, bestsellerRanks[], features[], images[], variations[], seller{}, productSpecification[], productDescription, availability and breadcrumbCategories[]. Default false.true
maxDetailFetchesNointegerCap on how many product detail pages to fetch in the whole run (only applies when fetchProductDetails is on). 0 = enrich every scraped product. Default 0.50
storefrontLanguageNostringLanguage to use on Amazon. If the chosen language isn't supported on the target domain, the domain's default language is used instead."en"
bypassCaptchaBlocksNobooleanWhen Amazon serves a robot-check/captcha page, keeps retrying with extra backoff to work past it (may slow the run and increase requests). Default false.false
proxyConfigurationNoobjectProxy settings. Default is DIRECT (no proxy). Residential proxy is recommended when fetching product details at scale to avoid blocks.{"useApifyProxy": true}

Example input

{
"bestSellerCategoryUrls": ["https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"],
"topProductsPerCategory": 50,
"subcategoryCrawlDepth": 1,
"fetchProductDetails": true,
"maxDetailFetches": 50,
"storefrontLanguage": "en",
"bypassCaptchaBlocks": false,
"proxyConfiguration": { "useApifyProxy": true }
}

The most common input mistake is leaving fetchProductDetails off and then expecting brand, images, productSpecification, seller and the other detail-page fields to be populated — with it off, those fields are returned null/empty and only the fast grid fields (rank, price, rating) are filled in.

⬆️ Output

Results are written as typed, normalized JSON dataset rows, streamed live as products are collected. Export from the Dataset tab as JSON, CSV, Excel, or XML, or pull results through the Apify API. Every row is billed under the row_result charged event — there are no separate uncharged summary or accounting rows in this Actor's default output. When fetchProductDetails is on, enriched rows are additionally mirrored (uncharged) into a per-run *-product-details dataset for convenient downstream processing.

Best-seller grid row (fetchProductDetails off)

{
"name": "Apple AirPods Pro (2nd Gen)",
"url": "https://www.amazon.com/dp/B0BDHWDR12",
"asin": "B0BDHWDR12",
"position": 1,
"price": { "value": 189.99, "currency": "$" },
"numberOfOffers": null,
"stars": 4.7,
"reviewsCount": 128340,
"thumbnailUrl": "https://images-na.ssl-images-amazon.com/images/I/61SUj2._UL300_.jpg",
"categoryName": "Electronics",
"categoryFullName": "Best Sellers in Electronics",
"subcategories": [{ "categoryName": "Headphones & Earbuds", "categoryUrl": "https://www.amazon.com/Best-Sellers-Electronics-Headphones/zgbs/electronics/172541" }],
"categoryUrl": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/",
"input": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/",
"currencyCode": "USD",
"type": "product",
"isEnriched": false,
"scrapedAt": "2026-07-25T09:00:00Z",
"brand": null,
"fullTitle": null,
"bestsellerRanks": [],
"features": [],
"images": [],
"variations": [],
"seller": null,
"productSpecification": [],
"productDescription": null,
"availability": null,
"breadcrumbCategories": []
}

Enriched product detail row (fetchProductDetails on)

{
"name": "Apple AirPods Pro (2nd Gen)",
"url": "https://www.amazon.com/dp/B0BDHWDR12",
"asin": "B0BDHWDR12",
"position": 1,
"price": { "value": 189.99, "currency": "$" },
"numberOfOffers": null,
"stars": 4.7,
"reviewsCount": 128340,
"thumbnailUrl": "https://images-na.ssl-images-amazon.com/images/I/61SUj2._UL300_.jpg",
"categoryName": "Electronics",
"categoryFullName": "Best Sellers in Electronics",
"subcategories": [{ "categoryName": "Headphones & Earbuds", "categoryUrl": "https://www.amazon.com/Best-Sellers-Electronics-Headphones/zgbs/electronics/172541" }],
"categoryUrl": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/",
"input": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/",
"currencyCode": "USD",
"type": "product",
"isEnriched": true,
"scrapedAt": "2026-07-25T09:02:14Z",
"brand": "Apple",
"fullTitle": "Apple AirPods Pro (2nd Generation) Wireless Earbuds with MagSafe Charging Case",
"bestsellerRanks": [
{ "rank": 1, "category": "Electronics", "url": "https://www.amazon.com/gp/bestsellers/electronics" },
{ "rank": 1, "category": "Earbud & In-Ear Headphones", "url": "https://www.amazon.com/gp/bestsellers/electronics/172541" }
],
"features": ["Active Noise Cancellation", "Adaptive Transparency", "Personalized Spatial Audio"],
"images": ["https://m.media-amazon.com/images/I/61SUj2._SL1500_.jpg"],
"variations": [{ "value": "White", "asin": "B0BDHWDR12", "dpUrl": "https://www.amazon.com/dp/B0BDHWDR12" }],
"seller": { "soldBy": "Amazon.com", "sellerId": null, "fulfilledBy": "Amazon" },
"productSpecification": [{ "name": "Connectivity Technology", "value": "Bluetooth" }],
"productDescription": "The AirPods Pro feature up to 2x more Active Noise Cancellation and Adaptive Transparency mode.",
"availability": "In Stock",
"breadcrumbCategories": [{ "name": "Electronics", "url": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/", "node": "172282" }]
}

How many results can you scrape with Amazon Bestsellers Scraper?

topProductsPerCategory accepts 1–500, applied separately to each URL you list in bestSellerCategoryUrls — there's no combined cap across category URLs, so total run size is the sum of each category's own cap. Categories are scraped concurrently, with pagination walking Amazon's own Best Sellers pages until the cap is reached or the category runs out of pages. When subcategoryCrawlDepth is 2 or higher, one extra subcategory level is also crawled; values above 2 don't currently reach further than that one extra level. Product-detail enrichment has its own separate limit: maxDetailFetches caps total PDP fetches across the whole run (shared across all categories running concurrently), with 0 meaning every scraped product is enriched. There is no measured benchmark for how long a full run takes, since that depends on the category size and whether enrichment is on.

Integrate Amazon Bestsellers Scraper and automate your workflow

Amazon Bestsellers Scraper: Product Photo & Spec Details works with any language or tool that can send an HTTP request, since it runs as a standard Apify Actor.

REST API integration

from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("API-Empire/amazon-bestsellers-scraper-product-photo-spec-details").call(
run_input={
"bestSellerCategoryUrls": ["https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/"],
"topProductsPerCategory": 50,
"fetchProductDetails": True,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["asin"], item["position"], item.get("brand"))

Works in Python, Node.js, Go, Ruby, cURL — any client that can call the Apify API with your token.

MCP for AI agents

Apify's MCP server (mcp.apify.com) exposes Apify Actors — including this one — as callable tools for MCP-compatible clients such as Claude Desktop, Cursor, and Windsurf. Add this Actor's name, as shown on its Apify Store page, to the server's actor list to make it callable as an agent tool without writing custom integration code.

Automation platforms (n8n, Make, LangChain)

In n8n, the community Apify node's "Run Actor" operation can call Amazon Bestsellers Scraper by Actor ID and pass bestSellerCategoryUrls/fetchProductDetails as JSON, then feed the resulting dataset items into downstream nodes. In Make, the Apify app's "Run an Actor or Task" module runs the same Actor and lets you map each returned product row (rank, price, images, specs) into another scenario step, such as a spreadsheet or a Slack alert. Any LangChain agent that can call an HTTP tool can invoke the Actor through the Apify API and consume its dataset items directly as typed JSON, without a parsing step.

Scraping publicly accessible Amazon product and Best Sellers pages is generally lawful, and this Actor only returns data any visitor can see without logging in — rankings, prices, images, specifications, and descriptions. This is business/product catalogue data, not personal data, so it's governed primarily by Amazon's Terms of Service and database-rights considerations rather than personal-data law like GDPR. The seller field reflects a store name and fulfillment method, not an individual's personal details. Consult legal counsel for commercial use cases, particularly at high volume or when reselling the collected data.

Frequently asked questions

Does Amazon Bestsellers Scraper work without an Amazon account?

Yes. No Amazon login, cookies, or API credentials are required — the Actor reads the same public Best Sellers and product pages a logged-out browser can see.

How often is the scraped data updated?

Each run fetches live data directly from Amazon at run time; nothing is served from a cache, so results reflect whatever is publicly visible on the category and product pages at the moment the run executes.

What happens if a category page fails to load or a product's detail page is blocked?

If a Best Sellers category page can't be loaded after retries, that category is skipped and logged, while other category URLs in the same run continue normally. If a specific product's detail-page fetch fails (for example, a persistent robot-check page), that row keeps its grid fields with isEnriched: false and the detail fields left null/empty, rather than failing the whole run.

Can I scrape private or restricted Amazon content?

No. Only publicly visible Best Sellers category pages and product detail pages are returned — content that requires being logged in, such as account-specific pricing or buyer-only information, is not accessed.

Which Amazon marketplaces does this scraper support?

It works on amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.es and amazon.it — paste that marketplace's Best Sellers URL and, optionally, set storefrontLanguage to match.

Does Amazon Bestsellers Scraper work for AI agent workflows and LLM pipelines?

Yes. It's callable as an HTTP endpoint through the Apify API from any agent framework, and every response is typed JSON with stable field names — no HTML and no parsing step before passing results to an LLM.

How does Amazon Bestsellers Scraper handle Amazon's anti-bot defenses?

When bypassCaptchaBlocks is enabled, the Actor retries robot-check/captcha pages with extra backoff instead of giving up after the first block. Proxy usage is optional and off by default (DIRECT); enabling proxyConfiguration with a residential proxy is recommended when running product-detail enrichment at scale.

Does Amazon Bestsellers Scraper return data in a format LLMs can use directly?

Yes. Output is typed, normalized JSON with stable field names, so it can be passed directly into an LLM context window, indexed into a vector store, or routed through an agent tool without extra parsing.

Can I use Amazon Bestsellers Scraper without managing proxies?

Yes. The default is no proxy (DIRECT), and the Actor runs without any proxy setup; enabling Apify Proxy is optional and mainly recommended for large-scale product-detail enrichment.

What happens when Amazon changes its structure or blocks the scraper?

The Actor is actively maintained, and its output schema stays stable — field names and types don't change on your end because of an Amazon-side update. No specific turnaround time is guaranteed for fixes.

Your feedback

Found a bug, or a field that's missing from your results? We want to know. Report it through the Issues tab on this Actor's Apify Store page, or reach out to API-Empire through Apify Console — active reports directly shape what gets fixed and maintained next.