# Black Friday & Christmas Deals Tracker (Toys, Tech, Gifts) (`lepone31/holiday-deals-tracker`) Actor

Live price drops, discount alerts, promo codes, and thermal velocity tracking for Black Friday & Christmas (LEGO, Gaming, Tech, Gifts) across Dealabs, HotUKDeals, Mydealz & Pepper ($2.00/1k).

- **URL**: https://apify.com/lepone31/holiday-deals-tracker.md
- **Developed by:** [Cedric poma](https://apify.com/lepone31) (community)
- **Categories:** E-commerce, Automation, AI
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.50 / 1,000 deal scrapeds

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

## 🎁 Black Friday & Christmas Deals Tracker (Toys, Tech, Gaming, Gifts)

> **Real-time discount tracker, price drop detector, and flash deal monitor for the Holiday Season.**\
> Scrapes top community-verified mega deals, error fares, and clearance sales across France (Dealabs), the UK (HotUKDeals), Germany (Mydealz), and Spain (Chollometro).

***

### ⚡ Why Use This Actor for the Holiday Season?

During Black Friday, Cyber Monday, and the December Christmas rush, deal speed is everything:

- 🚀 **Instant Alerting**: Feeds update in real time with community-voted hot deals.
- 🌡️ **Heat & Temperature Filtering**: Filter out mediocre sales and keep only verified hot deals (e.g. `minTemperature: 100°`).
- 🧸 **Gift Categories Ready**: Dedicated pre-filtered feeds for **Toys (LEGO, Barbie, Pokémon)**, **Gaming (PS5, Nintendo Switch, Xbox)**, **Tech (AirPods, Smartwatches, Laptops)**, and **Home / Kitchen (Airfryer, Espresso machines)**.
- 🤖 **Perfect for Telegram / Discord Bots & Affiliate Sites**: Stream high-converting deals directly to your community or automated affiliate blogs.

***

### 🌍 Supported Deal Networks & Countries

| Network | Country | Covered Retailers |
|---|---|---|
| **Dealabs** | France 🇫🇷 | Amazon.fr, Cdiscount, Fnac, Darty, E.Leclerc, Carrefour, Cultura |
| **HotUKDeals** | United Kingdom 🇬🇧 | Amazon.co.uk, Currys, Argos, Very, John Lewis, ASDA |
| **Mydealz** | Germany 🇩🇪 | Amazon.de, MediaMarkt, Saturn, Otto, Alternate, Mindfactory |
| **Chollometro** | Spain 🇪🇸 | Amazon.es, PcComponentes, El Corte Inglés, MediaMarkt.es |

***

### 📥 Input Parameters

| Parameter | Type | Default | Description |
|---|---|---|---|
| `channels` | `array` | *Dealabs, HotUKDeals, Mydealz* | List of country deal networks to monitor (`dealabs`, `hotukdeals`, `mydealz`, `chollometro`). |
| `categories` | `array` | *all, toys, gaming, tech* | Gift categories (`all`, `toys`, `gaming`, `tech`, `home`, `fashion`). |
| `keywords` | `array` | `[]` | Optional product filters (e.g. `["lego", "ps5", "switch", "dyson", "pokemon"]`). |
| `minTemperature` | `integer` | `50` | Minimum deal heat (100°+ represents hot community deals). |
| `maxPrice` | `number` | *null* | Budget cap for secret santa or affordable gifts (e.g. `50.0`). |
| `maxDealsPerChannel` | `integer` | `30` | Maximum deals per channel/category combination (1 to 200). |
| `includeSummary` | `boolean` | `true` | Outputs a `dealsSummary` record with top merchants and median prices. |

#### Example Input:

```json
{
  "channels": ["dealabs", "hotukdeals"],
  "categories": ["toys", "gaming", "tech"],
  "keywords": ["lego", "ps5", "nintendo"],
  "minTemperature": 100,
  "maxPrice": 150.0,
  "includeSummary": true
}
```

***

### 📤 Output Data Format

The Actor outputs two record types:

#### 1. Curated Hot Deal (`recordType: "deal"`)

```json
{
  "recordType": "deal",
  "source": "dealabs",
  "country": "FR",
  "title": "LEGO Speed Champions 77264 - Jaguar Project 7 & Land Rover Defender",
  "temperature": 111,
  "isMegaDeal": true,
  "price": 29.99,
  "currency": "EUR",
  "priceRaw": "29,99€",
  "merchant": "E.Leclerc",
  "category": "Jouets & Jeux",
  "dealUrl": "https://www.dealabs.com/bons-plans/lego-77264speed-champions-3443827",
  "imageUrl": "https://static-pepper.dealabs.com/threads/raw/GAlJr/3443827_1/re/150x150/qt/55/3443827_1.jpg",
  "description": "Super remise fidélité sur le set LEGO Speed Champions. Prix de base 44,99€.",
  "publishedAt": "2026-11-02T14:45:00Z",
  "scrapedAt": "2026-11-02T15:00:00Z"
}
```

#### 2. Deals Summary Metrics (`recordType: "dealsSummary"`)

```json
{
  "recordType": "dealsSummary",
  "totalDealsScraped": 45,
  "megaDealsCount": 28,
  "megaDealsShare": 0.622,
  "averageTemperature": 142.5,
  "medianPrice": 49.99,
  "topMerchants": [
    { "name": "Amazon", "count": 18 },
    { "name": "Cdiscount", "count": 9 },
    { "name": "Fnac", "count": 7 }
  ],
  "topCategories": [
    { "name": "High-Tech", "count": 20 },
    { "name": "Jeux Vidéo", "count": 15 },
    { "name": "Jouets", "count": 10 }
  ],
  "scrapedAt": "2026-11-02T15:00:00Z"
}
```

***

### 💵 Pay-Per-Event (PPE) Pricing

| Event | Price (USD) | Description |
|---|---|---|
| **Deal Extracted (`deal`)** | **$0.0020** | Charged per verified hot deal extracted ($2.00 per 1,000 deals). |
| **Summary Metrics (`dealsSummary`)** | **FREE** | Summary metrics, price medians, and merchant breakdown are included for free. |

# Actor input Schema

## `channels` (type: `array`):

Networks to monitor: 'dealabs' (France), 'hotukdeals' (United Kingdom), 'mydealz' (Germany), 'chollometro' (Spain), 'pepper_it' (Italy), 'pepper_nl' (Netherlands).

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

Categories to scrape: 'all' (Trending), 'toys' (LEGO, Toys, Kids), 'gaming' (PS5, Switch, Video Games), 'tech' (Smartphones, Audio, Laptops), 'home' (Airfryer, Coffee Machines), 'fashion' (Perfumes, Apparel).

## `keywords` (type: `array`):

Optional search terms to keep only relevant gift products (e.g. 'lego', 'ps5', 'switch', 'dyson', 'pokemon', 'airfryer'). Leave empty for all deals.

## `merchants` (type: `array`):

Optional filter to target specific stores (e.g. 'Amazon', 'Fnac', 'Cdiscount', 'Boulanger', 'Darty', 'Carrefour', 'Nintendo', 'AliExpress'). Leave empty to include all stores.

## `minTemperature` (type: `integer`):

Minimum community heat rating. 100°+ represents hot/mega deals, 0°+ includes all positive deals.

## `maxPrice` (type: `number`):

Filter gifts by maximum budget (e.g. 50.0 for secret santa or gifts under 50€).

## `maxDealsPerChannel` (type: `integer`):

Maximum number of deals to collect per channel/category combination (1 to 200).

## `includeSummary` (type: `boolean`):

Whether to output an aggregated 'dealsSummary' record with top merchants, median price, and heat statistics.

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

Optional proxy settings. Pepper community RSS feeds are public and do not require proxies.

## Actor input object example

```json
{
  "channels": [
    "dealabs",
    "hotukdeals",
    "mydealz"
  ],
  "categories": [
    "all",
    "toys",
    "gaming",
    "tech"
  ],
  "keywords": [],
  "merchants": [],
  "minTemperature": 50,
  "maxDealsPerChannel": 30,
  "includeSummary": true
}
```

# Actor output Schema

## `overview` (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 = {
    "channels": [
        "dealabs",
        "hotukdeals",
        "mydealz"
    ],
    "categories": [
        "all",
        "toys",
        "gaming",
        "tech"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("lepone31/holiday-deals-tracker").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 = {
    "channels": [
        "dealabs",
        "hotukdeals",
        "mydealz",
    ],
    "categories": [
        "all",
        "toys",
        "gaming",
        "tech",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("lepone31/holiday-deals-tracker").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 '{
  "channels": [
    "dealabs",
    "hotukdeals",
    "mydealz"
  ],
  "categories": [
    "all",
    "toys",
    "gaming",
    "tech"
  ]
}' |
apify call lepone31/holiday-deals-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lepone31/holiday-deals-tracker"
        }
    }
}
```

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/Puf0aBImVwNjhjdvA/builds/Takz0M8P7ZqLiap4u/openapi.json
