# Amazon Best Sellers Scraper - Top 100 by Category (`automly/amazon-bestsellers-scraper`) Actor

Scrape Amazon Best Sellers and New Releases: the top 100 products of any category with rank, price, rating, reviews and image, plus every subcategory if you want. 20 Amazon stores. No login.

- **URL**: https://apify.com/automly/amazon-bestsellers-scraper.md
- **Developed by:** [Automly](https://apify.com/automly) (community)
- **Categories:** E-commerce, Lead generation
- **Stats:** 1 total users, 0 monthly users, 50.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.99 / 1,000 best seller products

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Amazon Best Sellers Scraper - Top 100 & New Releases

### What is Amazon Best Sellers Scraper?

**Amazon Best Sellers Scraper** collects the **top 100 products of any Amazon Best Sellers or New Releases category**: rank, ASIN, title, price, star rating, number of ratings, image and link, with the category's name and path. Turn on subcategories to scrape **a whole category tree** in one run. Paste a category link, click **Start**, and download the ranking as Excel, CSV or JSON.

- 🏆 **Top 100 per category:** ranks 1 to 100, exactly as Amazon lists them
- 🌳 **Whole category trees:** add 1 to 3 levels of subcategories
- 🌍 **20 Amazon stores:** US, UK, Germany, France, Italy, Spain, Canada, Mexico, India, Brazil, Japan, Australia, UAE, Saudi Arabia, Netherlands, Sweden, Poland, Turkey, Singapore and Egypt, in each store's own language and currency
- ⚡ **Fast:** 1,300 ranked products from a category and its 12 subcategories in about 25 seconds (our tests)
- 🔓 **No login:** no Amazon account needed

### What can it do?

- **Find the best-selling products** in any department or niche, like `Kitchen & Dining` or `Kitchen Utensils & Gadgets`
- **Track new launches** with the New Releases lists
- **Map a category tree** with every subcategory's top sellers
- **Compare stores:** the same category on amazon.com, amazon.co.uk and amazon.de
- **Monitor rankings** daily with a schedule, and see which products climb or drop
- Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more

### What data do you get?

| | | |
|---|---|---|
| 🏅 Rank (1-100) | 🔖 ASIN | 📝 Title |
| 💲 Price with currency | ⭐ Star rating | 💬 Number of ratings |
| 🖼️ Image | 🔗 Product link | 🗂️ Category and category path |
| 📋 List type (Best Sellers or New Releases) | 🌍 Amazon store | 🕒 Time scraped |

### How to scrape Amazon Best Sellers

1. [Create a free Apify account](https://console.apify.com/sign-up).
2. Open **Amazon Best Sellers Scraper**.
3. Paste one or more Best Sellers or New Releases links from the same Amazon store.
4. Set how many products you want per category and, if you like, how many levels of subcategories.
5. Click **Start**, then download the data as Excel, CSV, JSON or HTML.

### ⬇️ Input

| Setting | What it does |
|---|---|
| **Best Sellers or New Releases links** | Category pages like `https://www.amazon.com/gp/bestsellers/kitchen/` or `https://www.amazon.de/gp/new-releases/computers/`. Use links from one Amazon store per run |
| **Max products per category** | How many ranked products to save from each category, 1 to 100 (default 100) |
| **Subcategory levels** | 0 scrapes only your links; 1 adds their subcategories, 2 the next level too, up to 3 |

Top 100 Kitchen & Dining best sellers with their subcategories:

```json
{
  "categoryUrls": ["https://www.amazon.com/gp/bestsellers/kitchen/"],
  "maxItemsPerCategory": 100,
  "subcategoryDepth": 1
}
```

New releases in Computers on amazon.de:

```json
{
  "categoryUrls": ["https://www.amazon.de/gp/new-releases/computers/"]
}
```

### ⬆️ Output

One row per ranked product:

```json
{
  "rank": 1,
  "asin": "B085DVNHHK",
  "title": "Owala FreeSip Stainless Steel Water Bottle 32 oz Shy Marshmallow",
  "url": "https://www.amazon.com/dp/B085DVNHHK",
  "price": "$27.99",
  "rating": 4.6,
  "reviewCount": 140212,
  "image": "https://images-na.ssl-images-amazon.com/images/I/71XJK6bWJKL._AC_UL300_SR300,200_.jpg",
  "listType": "bestSellers",
  "category": "Kitchen & Dining",
  "categoryPath": ["Kitchen & Dining"],
  "categoryUrl": "https://www.amazon.com/gp/bestsellers/kitchen/",
  "marketplace": "amazon.com",
  "source": "https://www.amazon.com/gp/bestsellers/kitchen/",
  "scrapedAt": "2026-10-02T08:49:06Z"
}
```

The **Overview** tab shows the ranking as a table with images. The run report lists any category that does not exist or lists nothing.

### How can I use Amazon Best Sellers data?

- **Product research for sellers:** find what sells in a niche before you source it
- **Trend spotting:** follow New Releases to catch rising products early
- **Brand and competitor tracking:** see where your products and your rivals' rank, every day
- **Pricing research:** compare prices of the top sellers in a category
- **Market sizing:** map a whole department with its subcategories

### ❓FAQ

#### How much does it cost?

You pay per product saved. See the **Pricing** tab for the current price. **Max products per category** and **Subcategory levels** keep the cost of a run under control, and you can also set a maximum cost per run.

#### How many products can I get per category?

Amazon ranks the top 100 products of each category. To go further, add subcategory levels: each subcategory has its own top 100.

#### Which Amazon stores work?

amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .com.mx, .in, .com.br, .co.jp, .com.au, .ae, .sa, .nl, .se, .pl, .com.tr, .sg and .eg. Each store is read as a local shopper sees it, in its own language and currency.

#### I need more data about each product

Feed the ASINs to [Amazon Products Scraper](https://apify.com/automly/amazon-products-scraper---fast-efficient-with-sales-data) for full product pages with Best Sellers Rank, monthly sales estimates, specs and variants, or to [Amazon Reviews Scraper](https://apify.com/automly/amazon-reviews-scraper) for customer reviews.

#### Can I call it as an API?

Yes. Run it through the Apify API from any language, or use its real-time endpoint `/category?url=...` that answers with the ranked products directly.

#### Is it legal to scrape Amazon?

This scraper collects publicly available information. Make sure your use follows applicable laws and Amazon's terms. This tool is not affiliated with or endorsed by Amazon.

#### Something is not working, or I need another field

Open an issue in the **Issues** tab with your input and what you expected. We read every one and usually reply within a day. If the scraper saves you time, a short review on its Store page helps other people find it.

# Actor input Schema

## `categoryUrls` (type: `array`):

Category pages from Amazon Best Sellers or New Releases, one per line, like https://www.amazon.com/gp/bestsellers/kitchen/ or https://www.amazon.de/gp/new-releases/computers/. Use links from one Amazon store per run.

## `maxItemsPerCategory` (type: `integer`):

How many ranked products to save from each category (Amazon lists the top 100).

## `subcategoryDepth` (type: `integer`):

Also scrape the subcategories of each category: 1 adds its subcategories, 2 their subcategories too, and so on. 0 scrapes only the links you give.

## `proxyConfiguration` (type: `object`):

The default works for most runs. If results come back empty, try a different proxy option.

## Actor input object example

```json
{
  "categoryUrls": [
    "https://www.amazon.com/gp/bestsellers/kitchen/"
  ],
  "maxItemsPerCategory": 100,
  "subcategoryDepth": 0,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `results` (type: `string`):

No description

## `report` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "categoryUrls": [
        "https://www.amazon.com/gp/bestsellers/kitchen/"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automly/amazon-bestsellers-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "categoryUrls": ["https://www.amazon.com/gp/bestsellers/kitchen/"],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("automly/amazon-bestsellers-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "categoryUrls": [
    "https://www.amazon.com/gp/bestsellers/kitchen/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call automly/amazon-bestsellers-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automly/amazon-bestsellers-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/0gbVw9yTIUOC5dwEd/builds/jpYbiF62UsC0VtoAL/openapi.json
