# Cyber Monday Price Tracker: Hourly Checks for Nov 30

> Track Cyber Monday 2026 prices hour by hour from Sunday evening, compare each item with its Black Friday price, and see what hourly checks cost per run.

- URL: https://datatooly.xyz/guides/cyber-monday-deal-tracker/
- Author: Omar Eldeeb (https://datatooly.xyz/about/)
- Published: 2026-10-20
- Updated: 2026-10-20
- Free tool: [E-commerce price tracker — scrape product prices, stock and variants](https://datatooly.xyz/ecommerce-price-tracker/)
- Tags: ecommerce, python, webscraping, automation

Cyber Monday 2026 is Monday, November 30. To track its prices, check your product list every hour from Sunday evening (in 2025, Walmart+ members got Cyber Monday deals from 7 p.m. ET on Sunday) until Tuesday morning, with monitor mode on so each run reports only what changed. Then compare each item's Cyber Monday low with its Black Friday price. Hourly checks cost about three times as much as checks every three hours.

This guide covers what's different about Cyber Monday, a schedule and its cost worked out from the actor's price table, and two scripts: one compares Black Friday with Cyber Monday for the same items, the other lists every change by hour. The setup (watchlist, input, export) is in the [Black Friday price tracker guide](https://datatooly.xyz/guides/black-friday-price-tracker/); this page assumes it.

## What's different about Cyber Monday

Cyber Monday is an online event, and in 2025 it was the biggest one. Adobe Analytics reported $14.25 billion of US online spending on Cyber Monday 2025, up 7.1% on 2024, and called it "the biggest online shopping day of all time". It counts Cyber Week as the five days from Thanksgiving to Cyber Monday, which brought in $44.2 billion online ([Adobe, Dec 2, 2025](https://news.adobe.com/news/2025/12/adobe-cyber-monday-hits-record)).

Things from 2025 that matter for a tracker:

| What happened in 2025 | Source | What it means for tracking |
|---|---|---|
| Walmart's Cyber Monday (Dec 1) was online only, with Walmart+ early access from 7 p.m. ET on Sunday, Nov 30 | [Walmart](https://corporate.walmart.com/news/2025/10/27/walmart-announces-2025-black-friday-deals-events-wrapped-in-the-magic-of-whoknewville) | Start checking Sunday evening, not Monday morning |
| Target ran a "Cyber Monday Event" Nov 30 – Dec 1, online only | [Target, Nov 20, 2025](https://corporate.target.com/press/release/2025/11/target-transforms-black-friday-into-an-experience-with-deep-deals,-exclusive-launches-and-surprise-g) | Sunday counts here too |
| Amazon's Black Friday Week ran from Nov 20 through Dec 1 | [Amazon](https://www.aboutamazon.com/news/retail/when-is-black-friday-2025) | Many Amazon prices were already low before Monday, so compare with Black Friday |
| Spending peaked 8–10 p.m., at $16 million a minute | [Adobe](https://news.adobe.com/news/2025/12/adobe-cyber-monday-hits-record) | Stock-outs are most likely in the evening |
| Adobe: "After Cyber Week, discounts will come down from their peaks" | [Adobe](https://news.adobe.com/news/2025/12/adobe-cyber-monday-hits-record) | Keep a daily check for a week to see prices go back up |

None of the 2026 dates or hours are announced yet. Treat the table as last year's pattern and update your schedule when retailers publish theirs.

Member-only prices are a blind spot: the tracker sees what a signed-out shopper sees, so Walmart+ early-access or Prime-exclusive prices may not show up until they're open to everyone.

## Hourly or every three hours: the cost

Using an Apify schedule with the timezone set to `America/New_York`, the Sunday 6 p.m. to Tuesday 6 a.m. window is three cron entries:

| Cadence | Cron entries | Runs |
|---|---|---|
| Hourly | `0 18-23 29 11 *`, `0 * 30 11 *`, `0 0-5 1 12 *` | 6 + 24 + 6 = 36 |
| Every 3 hours | `0 18-23/3 29 11 *`, `0 */3 30 11 *`, `0 0-5/3 1 12 *` | 2 + 8 + 2 = 12 |

Both were checked with a cron parser in that timezone. Make them extra schedules on the same task as your daily check, and keep the hours from colliding with it.

The actor is pay per event. With `monitorMode` and `onlyChanges` on, every run pays the start fee, and each product pays either "product scraped" (new or changed, written) or "product checked" (unchanged, not written). For datacenter sites (Amazon US, Walmart, Target, Shopify stores) there's no traffic fee. From the README's price table:

| Event | FREE | GOLD |
|---|---|---|
| Actor start (1 GB) | $0.005 | $0.005 |
| Product scraped | $0.0048 | $0.0008 |
| Product checked (unchanged) | $0.0012 | $0.0002 |

For a 150-product list, one run costs between "nothing changed" and "everything changed":

- FREE: $0.005 + 150 × $0.0012 = **$0.185** up to $0.005 + 150 × $0.0048 = **$0.725**
- GOLD: $0.005 + 150 × $0.0002 = **$0.035** up to $0.005 + 150 × $0.0008 = **$0.125**

Over the window:

| Cadence | FREE | GOLD | If 10% change each run (GOLD) |
|---|---|---|---|
| Hourly, 36 runs | $6.66 – $26.10 | $1.26 – $4.50 | 36 × $0.044 = $1.58 |
| Every 3 hours, 12 runs | $2.22 – $8.70 | $0.42 – $1.50 | 12 × $0.044 = $0.53 |

The 10% column is an illustration (15 changed products at $0.0008, 135 unchanged at $0.0002, plus the start fee), not a measured rate. Sites that need residential proxies or a browser, such as `amazon.co.uk` or Wayfair, add a per-MB or per-render fee on top.

Two practical limits. First, a run has to finish before the next one starts, or two runs compare against the same baseline. Small lists finish in under a minute on datacenter sites (our three-product runs took about 25 seconds), but the README measures about 30–40 Shopify products a minute at 1 GB, so a list of 1,000 needs half an hour. Second, set a maximum cost per run in the run options, so a bad hour can't run up the bill.

A middle path many people will prefer: hourly on Sunday evening and Monday, every three hours overnight.

## Black Friday vs Cyber Monday for the same item

`onlyChanges` is right for alerts but wrong for a side-by-side comparison, because unchanged products aren't written. For the comparison, run the same list once more with monitor mode off on Black Friday evening and again on Cyber Monday evening, in a second task, so every product is written both times. With monitor mode off, the second task doesn't touch the first task's change tracking.

This script joins two runs by product URL:

```python
import os
import sys
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])

def prices(run_id):
    """url -> (price, currency, scrapedAt) for every product row of one run."""
    ds = client.run(run_id).dataset()
    return {r["url"]: (r["price"], r["currency"], r["scrapedAt"])
            for r in ds.iterate_items() if r.get("recordType") == "product" and r.get("price")}

bf, cm = prices(sys.argv[1]), prices(sys.argv[2])   # Black Friday run, Cyber Monday run
for url in sorted(bf.keys() & cm.keys()):
    (p1, c1, t1), (p2, c2, t2) = bf[url], cm[url]
    if c1 != c2:
        print(f"{url}: currency changed {c1} -> {c2}, not comparable")
        continue
    diff = p2 - p1
    better = "Cyber Monday" if diff < 0 else "Black Friday" if diff > 0 else "same"
    print(f"{p1:>8.2f} ({t1[:10]})  {p2:>8.2f} ({t2[:10]})  {diff:+7.2f} {c1}  cheaper: {better:<12} {url}")
print(f"{len(bf.keys() & cm.keys())} products in both runs; "
      f"{len(bf.keys() - cm.keys())} only in the first, {len(cm.keys() - bf.keys())} only in the second")
```

Usage: `python bf_vs_cm.py <black-friday-run-id> <cyber-monday-run-id>`. There's no Black Friday 2026 data yet, so here it is on two real October runs. The first was a 15-product keyword search on 2026-10-18; the second, a three-product watchlist on 2026-10-20. One Amazon product was in both:

```text
   29.49 (2026-10-18)     29.99 (2026-10-20)    +0.50 USD  cheaper: Black Friday https://www.amazon.com/dp/B07CMS5Q6P
1 products in both runs; 14 only in the first, 2 only in the second
```

The "only in" counts are your check that the two runs cover the same list. On matching lists they should both be 0, as they were when we compared two days of our daily test task (three products, all unchanged).

## Every change, hour by hour

To see when a price moved during Cyber Monday, use the history export from the tracker guide (`price_history.csv`, change rows only) and list the changes in Eastern time:

```python
import csv
import sys
from datetime import datetime
from zoneinfo import ZoneInfo   # Windows: pip install tzdata

ET = ZoneInfo("America/New_York")
WINDOW = (datetime(2026, 11, 29, 18, tzinfo=ET), datetime(2026, 12, 2, 6, tzinfo=ET))

for r in sorted(csv.DictReader(open(sys.argv[1], encoding="utf-8")), key=lambda r: r["scrapedAt"]):
    t = datetime.fromisoformat(r["scrapedAt"].replace("Z", "+00:00")).astimezone(ET)
    if not (WINDOW[0] <= t < WINDOW[1]) or r["changeType"] in ("new", "unchanged"):
        continue
    print(f"{t:%a %H:%M} ET  {r['changeType']:<14}{r['previousPrice'] or '':>8} -> {r['price']:<8} "
          f"in stock: {r['inStock']:<6} {r['name']}")
```

On a made-up five-row history (invented products and prices, real column format) it prints:

```text
Sun 19:05 ET  price-down       79.00 -> 69.00    in stock: True   Air Fryer
Mon 00:02 ET  price-down      149.99 -> 129.99   in stock: True   Earbuds
Mon 12:01 ET  out-of-stock    129.99 -> 129.99   in stock: False  Earbuds
Tue 00:03 ET  back-in-stock   129.99 -> 149.99   in stock: True   Earbuds
Tue 03:04 ET  price-up         69.00 -> 79.00    in stock: True   Air Fryer
```

`scrapedAt` is UTC, so convert before you read "Monday". Each row gets one `changeType`, and stock changes win over price changes: the Tuesday Earbuds row is both back in stock and $20 dearer, and it's labelled `back-in-stock`. Read `previousPrice` and `price` (or the `changes[]` array in the raw dataset) to see both.

## After Cyber Monday

Leave the daily check running for a week. If a product's price goes back up on Tuesday or Wednesday, its Cyber Monday price was a real low. If it doesn't, the "deal" was the new normal. The [Thanksgiving to Cyber Monday price timeline](https://datatooly.xyz/guides/thanksgiving-black-friday-price-drop-timeline/) has a script that finds the day each product hit its season low, and the [fake discounts guide](https://datatooly.xyz/guides/spot-fake-black-friday-discounts/) compares the sale price with the pre-season median. To get changes as messages instead of CSVs, see [price drop alerts by email and Slack](https://datatooly.xyz/guides/price-drop-alerts-email-slack/). For the rest of the retail year, the [holiday sales calendar](https://datatooly.xyz/guides/holiday-sales-calendar-price-tracking/) lists each event, and the free [e-commerce price tracker](https://datatooly.xyz/ecommerce-price-tracker/) page builds the input.

*Disclosure: I built the [actor](https://apify.com/constructive_calm/ecommerce-product-scraper-pro?fpr=v77kxu) and this site. The schedule and the scripts work with any scraper that writes these columns.*

Sources: [Adobe: Cyber Monday hits record $14.25 billion (Dec 2, 2025)](https://news.adobe.com/news/2025/12/adobe-cyber-monday-hits-record), [Walmart 2025 Black Friday Deals events](https://corporate.walmart.com/news/2025/10/27/walmart-announces-2025-black-friday-deals-events-wrapped-in-the-magic-of-whoknewville), [Target press release, Nov 20, 2025](https://corporate.target.com/press/release/2025/11/target-transforms-black-friday-into-an-experience-with-deep-deals,-exclusive-launches-and-surprise-g), [Amazon: When is Black Friday 2025](https://www.aboutamazon.com/news/retail/when-is-black-friday-2025), [Apify docs: Schedules](https://docs.apify.com/platform/schedules?fpr=v77kxu).

## Quick answers

### When is Cyber Monday 2026?

Monday, November 30, 2026, the Monday after Thanksgiving (November 26) and Black Friday (November 27). Retailers' Cyber Monday deal hours for 2026 aren't announced yet; in 2025 Walmart opened Cyber Monday early access for Walmart+ members at 7 p.m. ET on the Sunday.

### Is Cyber Monday cheaper than Black Friday?

It depends on the item, which is why you compare both prices for the same product. Adobe reported Cyber Monday 2025 as the biggest online shopping day on record, with electronics discounts peaking at 31% off listed price, but that's an aggregate, not a rule for any one product.

### How often should a Cyber Monday price tracker check?

Hourly catches short deals and stock-outs; every three hours costs about a third as much. For 150 products on datacenter sites, 36 hourly runs from Sunday 6 p.m. to Tuesday 6 a.m. ET cost $1.26 to $4.50 at GOLD prices, against $0.42 to $1.50 for 12 three-hourly runs.

### Do Cyber Monday deals start on Sunday?

Some did in 2025. Walmart+ members got Cyber Monday deals from 7 p.m. ET on Sunday, November 30, 2025, and Target's Cyber Monday event ran November 30 to December 1, 2025. Check each retailer's 2026 announcement.

## Related guides

- [Retail Sales Calendar 2026-2027: When to Track Prices](https://datatooly.xyz/guides/holiday-sales-calendar-price-tracking/)
- [Amazon Price History Without Keepa: Build Your Own](https://datatooly.xyz/guides/amazon-price-history-without-keepa/)
- [Amazon Price Scraper: Prices by ASIN on Any Marketplace](https://datatooly.xyz/guides/amazon-price-scraper-asin/)
- [Back in Stock Alert Scraper: Products, Sizes, Colours](https://datatooly.xyz/guides/back-in-stock-alert-scraper/)
- [Back to School Price Tracker: Tax Holidays & Laptops](https://datatooly.xyz/guides/back-to-school-price-tracker/)
- [Compare Black Friday Prices Across Stores (Google Shopping)](https://datatooly.xyz/guides/black-friday-google-shopping-price-comparison/)
- [Black Friday Price Tracker: Watch 2026 Prices Daily](https://datatooly.xyz/guides/black-friday-price-tracker/)
- [Boxing Day Sales Tracker UK 2026: Prices in GBP](https://datatooly.xyz/guides/boxing-day-sales-price-tracker-uk/)
- [Christmas Price Tracker: When to Buy Gifts Cheapest](https://datatooly.xyz/guides/christmas-price-tracker/)
- [Competitor Price Monitoring: Scraper Setup and Cost](https://datatooly.xyz/guides/competitor-price-monitoring-scraper/)
- [Grocery Price Tracker: Build a Basket Index in Python](https://datatooly.xyz/guides/grocery-price-tracker-scraper/)
- [MAP Monitoring: Find Minimum Advertised Price Violations](https://datatooly.xyz/guides/map-price-monitoring/)
- [Price Drop Alerts to Slack or Email with a Scraper](https://datatooly.xyz/guides/price-drop-alerts-email-slack/)
- [Prime Day Price Tracker: ASINs, Big Deal Days, 2027](https://datatooly.xyz/guides/prime-day-price-tracker/)
- [Ramadan Sale Price Tracker 2027: Noon & Amazon UAE](https://datatooly.xyz/guides/ramadan-eid-sales-price-tracking/)
- [Scrape Product Prices with Python from JSON-LD](https://datatooly.xyz/guides/scrape-product-prices-json-ld-python/)
- [Scrape Product Reviews from Walmart, Target and Amazon](https://datatooly.xyz/guides/scrape-product-reviews-walmart-target-amazon/)
- [Scrape Product Variants: Sizes, Colors and Price per SKU](https://datatooly.xyz/guides/scrape-product-variants-sizes-colors/)
- [Fake Black Friday Deals: Check the Real Discount](https://datatooly.xyz/guides/spot-fake-black-friday-discounts/)
- [Apify E-commerce Scraping Tool Alternative: Same Input](https://datatooly.xyz/guides/switch-from-apify-ecommerce-scraping-tool/)
- [When Do Black Friday Prices Drop? The 2026 Timeline](https://datatooly.xyz/guides/thanksgiving-black-friday-price-drop-timeline/)
- [Walmart and Target Price Scraper: Search and Product Pages](https://datatooly.xyz/guides/walmart-target-price-scraper/)
- [White Friday & 11.11 Tracker: Noon and Amazon UAE Prices](https://datatooly.xyz/guides/white-friday-11-11-noon-amazon-uae-prices/)
- [Shopify products.json Pagination: 250 Limit and the 25,000 Cap](https://datatooly.xyz/guides/shopify-products-json-pagination/)
- [AI Share of Voice: Measure It in ChatGPT and Perplexity](https://datatooly.xyz/guides/ai-share-of-voice-chatgpt-perplexity/)
