# Amazon UK Bestsellers Scraper: Movers & New Releases (`seaf999ield/amazon-uk-bestsellers`) Actor

Amazon UK Bestsellers scraper: amazon.co.uk Best Sellers, Movers & Shakers and Hot New Releases by category, with rank, ASIN, £ price, rating and new-entry alerts, by RawTrader | UK Industry & Bills: https://ukindustryandbills.substack.com · X: x.com/ImRawTrader

- **URL**: https://apify.com/seaf999ield/amazon-uk-bestsellers.md
- **Developed by:** [RustonRoad](https://apify.com/seaf999ield) (community)
- **Categories:** E-commerce, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 UK Bestsellers Scraper: Movers & New Releases

**Scrape amazon.co.uk Best Sellers, Movers & Shakers and Hot New Releases by category, with rank-change alerts for new entries and climbers.**

### Who it's for

- Amazon UK sellers and FBA researchers looking for trending products
- Affiliate marketers and deal sites picking products to promote
- Brands tracking their own and competitors' bestseller ranks over time

### Sample output

| rank | asin | title | priceGbp | rating |
|---|---|---|---|---|
| 1 | B00NTCH52W | Amazon Basics 20-Pack AA Alkaline High-Performance Batter... | 6.06 | 4.6 |
| 2 | B093C9B1HK | DURACELL Plus AA Alkaline Batteries (24 Pack) 1.5V, LR06 ... | 14.12 | 4.7 |
| 3 | B0FG7Q84WF | DURACELL Plus AA Alkaline Batteries (30 Pack) 1.5V, LR06 ... | 15.1 | 4.8 |

*Real rows from a test run (shortened; the full output has more fields).*

### Price per 1,000 results

Main event: **`bestseller-row` at $0.002 each**, so **1,000 results = $2.00**. Other events: `rank-change` $0.005 each (only charged when that row type is output). See the Pricing tab for the current prices.

### Input example

```json
{
  "mode": "lists",
  "categories": [
    "kitchen",
    "electronics",
    "kids"
  ],
  "maxItemsPerCategory": 30
}
```

**Get the current Amazon.co.uk Best Sellers, Movers & Shakers and Hot New Releases lists for any category.** Each row has the **rank, ASIN, title, £ price, star rating, ratings count, image** and a clean **product link**. The **rank-change monitor** tells you which products are **new to a list** and which are **climbing fast** since your last run. It is built for UK product research, Amazon FBA sourcing, retail arbitrage, trend spotting and competitor tracking.

| Mode | What you get |
|---|---|
| 📋 **lists** | Up to 100 ranked rows per category from Best Sellers, Movers & Shakers (with 24h sales-rank gain %) or Hot New Releases |
| 📈 **rank_changes** | Since your last run: **new entries** and **big climbers** (and optionally drop-outs), with previous rank and places climbed |

### Who uses it

- **Amazon sellers and FBA sourcers:** spot rising products in your niche before they peak.
- **Retail arbitrage and Vinted/eBay resellers:** see what is selling in the UK right now.
- **Brands and agencies:** track your own products and your competitors' rank in a category.
- **Market researchers and journalists:** daily snapshots of what the UK buys.

### Input

| Field | Example | Notes |
|---|---|---|
| Mode | `lists` | or `rank_changes` |
| List type | `bestsellers` | or `movers_and_shakers`, `new_releases` |
| Categories | `["kitchen","electronics","kids"]` | Slug from `amazon.co.uk/gp/bestsellers/<slug>`; sub-categories like `kitchen/10706461` |
| List URLs | `https://www.amazon.co.uk/gp/movers-and-shakers/beauty` | Any Best Sellers / Movers & Shakers / New Releases URL |
| Max items per category | `50` | 1-100 |
| Monitor name | `kitchen-daily` | rank_changes: separate saved state per name |
| Big climber threshold | `10` | Places climbed to flag |

**Example: a daily "what's rising in Home & Kitchen" alert**

```json
{ "mode": "rank_changes", "categories": ["kitchen"], "maxItemsPerCategory": 100, "monitorName": "kitchen-daily", "bigClimberThreshold": 15 }
```

Schedule it daily. The first run saves a baseline and outputs the current list.

### Output (rank change)

```json
{
  "recordType": "rankChange",
  "changeType": "big_climber",
  "rank": 4,
  "previousRank": 27,
  "rankDelta": 23,
  "asin": "B0080ZSQKS",
  "title": "Dr. Beckmann Service-it Deep Clean Washing Machine Cleaner, 250g",
  "priceGbp": 2.0,
  "rating": 4.4,
  "reviewCount": 24793,
  "imageUrl": "https://images-eu.ssl-images-amazon.com/images/I/61ArfBhiU3L._AC_UL300_SR300,200_.jpg",
  "productUrl": "https://www.amazon.co.uk/dp/B0080ZSQKS",
  "category": "Home & Kitchen",
  "listType": "bestsellers"
}
```

Product links are plain `https://www.amazon.co.uk/dp/<ASIN>` URLs with no tracking or affiliate tags.

### Pricing (pay per event)

| Event | Price |
|---|---|
| `bestseller-row`: each ranked row output | $0.002 |
| `rank-change`: each new entry / big climber / drop-out | $0.005 |

### Notes

- Data comes from public amazon.co.uk list pages, read-only, with no login and no account. Prices are shown in GBP, as displayed on the list, so they can differ from the buy box.
- Amazon refreshes these lists about every hour. Movers & Shakers can be empty for some categories at some times.
- Rows in Amazon's lazy-loaded second half of each page (ranks 31-50, 81-100) are fetched as well.
- You are responsible for how you use the data and for complying with Amazon's Conditions of Use. Not affiliated with Amazon.

### FAQ

**Can I run it on a schedule?** Yes. Use an Apify Schedule (for example daily) and the monitor options to get only new rows since the last run.

**Can I use it via API or connect it to other tools?** Yes. Run it with the Apify API or clients, and send results to Google Sheets, Zapier, Make, webhooks or Slack using Apify integrations. Export JSON, CSV or Excel.

**What am I charged for?** Only the pay-per-event prices above, for rows actually output. Set a maximum cost per run in the run options to cap spend.

### Related UK data actors

- [eBay UK Scraper: Live Listings & Price Comps (GBP)](https://apify.com/seaf999ield/ebay-uk-listings-prices)
- [UK BNPL Checker: Klarna, Clearpay & PayPal Pay in 3 Detector](https://apify.com/seaf999ield/uk-bnpl-merchant-detector)
- [UK Google Trends Scraper: Interest, Regions & Related Queries](https://apify.com/seaf999ield/uk-google-trends)

### About RawTrader | UK Industry & Bills

RawTrader | UK Industry & Bills is a UK newsletter and open data project tracking energy bills, fuel prices, public tenders, company closures and FCA short positions, using official data from Ofgem, DESNZ, ONS, Companies House, Find a Tender and the FCA.

- [RawTrader Data: every UK data tool in one place](https://imrawtrader.beehiiv.com/p/data)
- [UK Industry & Bills newsletter](https://imrawtrader.beehiiv.com)
- [Follow @ImRawTrader on X](https://x.com/ImRawTrader)

# Actor input Schema

## `mode` (type: `string`):

rank_changes keeps a snapshot in a named key-value store per monitor. The first run saves a baseline and outputs the current rows.

## `listType` (type: `string`):

Used for category slugs. Full URLs keep their own list type.

## `categories` (type: `array`):

Category slugs as in amazon.co.uk/gp/bestsellers/<slug>, e.g. 'kitchen', 'electronics', 'books', 'beauty', 'kids' (Toys & Games), 'diy', 'grocery', or a sub-category like 'kitchen/10706461'. Leave empty and use URLs below, or use '' for Any Department.

## `startUrls` (type: `array`):

Full amazon.co.uk list URLs, e.g. https://www.amazon.co.uk/gp/movers-and-shakers/kids or https://www.amazon.co.uk/gp/new-releases/books/266239.

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

Amazon shows up to 100 ranks per list (2 pages of 50).

## `monitorName` (type: `string`):

rank_changes mode: separate saved state per name (store amzbs-<name>).

## `bigClimberThreshold` (type: `integer`):

Flag an item that moved up at least this many places.

## `includeDropouts` (type: `boolean`):

Also flag items that fell out of the tracked depth.

## `includeAllRows` (type: `boolean`):

In rank_changes mode, also output every current row (charged as bestseller-row).

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

Apify Proxy recommended. Datacenter first.

## `residentialFallback` (type: `boolean`):

Switch to RESIDENTIAL (GB) if the datacenter proxy is blocked twice.

## `maxRetries` (type: `integer`):

Retries per page with a new proxy session.

## Actor input object example

```json
{
  "mode": "lists",
  "listType": "bestsellers",
  "categories": [
    "kitchen",
    "electronics",
    "kids"
  ],
  "maxItemsPerCategory": 30,
  "monitorName": "default",
  "bigClimberThreshold": 10,
  "includeDropouts": false,
  "includeAllRows": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "residentialFallback": true,
  "maxRetries": 4
}
```

# Actor output Schema

## `rows` (type: `string`):

lists mode.

## `changes` (type: `string`):

rank_changes mode.

## `runSummary` (type: `string`):

Counts, requests and block rate.

# 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 = {
    "mode": "lists",
    "categories": [
        "kitchen",
        "electronics",
        "kids"
    ],
    "maxItemsPerCategory": 30,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("seaf999ield/amazon-uk-bestsellers").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 = {
    "mode": "lists",
    "categories": [
        "kitchen",
        "electronics",
        "kids",
    ],
    "maxItemsPerCategory": 30,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("seaf999ield/amazon-uk-bestsellers").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 '{
  "mode": "lists",
  "categories": [
    "kitchen",
    "electronics",
    "kids"
  ],
  "maxItemsPerCategory": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call seaf999ield/amazon-uk-bestsellers --silent --output-dataset

```

## MCP server setup

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

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/QCwohXrPvrTOUZMBJ/builds/YvrsTfiSQ3Eq7PpUP/openapi.json
