Smart E-Commerce Price & Stock Monitor avatar

Smart E-Commerce Price & Stock Monitor

Pricing

from $5.00 / 1,000 product price & stock checks

Go to Apify Store
Smart E-Commerce Price & Stock Monitor

Smart E-Commerce Price & Stock Monitor

Monitor competitor e-commerce prices and stock availability with zero-code JSON-LD parsing, stateful diffing, and secure Webhook notifications for n8n, Make, Telegram, and Discord.

Pricing

from $5.00 / 1,000 product price & stock checks

Rating

0.0

(0)

Developer

Harry.automazione

Harry.automazione

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Smart E-Commerce Price & Stock Monitor (Apify Actor)

An enterprise-grade, high-performance Apify Actor for automated e-commerce competitor price tracking and stock availability monitoring.

Features zero-code JSON-LD parsing, stateful diffing, rate-limiting anti-ban protection, and secure Webhook notifications (formatted for n8n, Make, Telegram, and Discord).


πŸ’‘ Why E-Commerce Store Owners & Marketers Use This Actor

  • πŸ“Š Real-Time Price & Stock Tracking: Track price changes (drops and increases) and stock status updates (when items go out of stock or come back in stock).
  • πŸ“¦ Out-of-Stock Opportunity Alerts: Get notified the exact moment a competitor goes out of stock so you can scale your ads or capture their displaced customers.
  • πŸ•΅οΈ Universal Brand Store Support: Works on any direct-to-consumer brand website β€” Shopify, WooCommerce, Zalando, Nike, Zara, ASOS, Decathlon, Gymshark, Farfetch, H&M, and thousands more.
  • πŸ’° Save $200+/Month: Get enterprise-grade price intelligence without paying expensive monthly SaaS subscriptions (e.g. Prisync, Competera).
  • ⚑ 2-Minute Zero-Code Integration: Easily connect alerts directly to your phone via Telegram, Discord, n8n, or Make.

βœ… Supported Platforms & Verified Stores

This Actor is engineered as a lightweight, high-speed, cost-effective HTTP monitor (built on got-scraping + CheerioCrawler). It consumes minimal RAM (128-256 MB) and is optimized for e-commerce platforms that serve product metadata via server-side rendered Schema.org JSON-LD microdata.

πŸ›’ E-Commerce Platforms (Tested & 100% Supported Out-of-the-Box)

PlatformNotes & Examples
ShopifyGymshark, Skims, Fashion Nova, Velasca, Allbirds, Kylie Cosmetics, and millions of D2C stores
Salesforce Commerce CloudNew Balance, Under Armour
WooCommerceAny brand store on WordPress
THG IngenuityLookfantastic, Cult Beauty
Enterprise Custom / Magento / PrestaShopFoot Locker, Dyson, Zalando, and any D2C store with standard JSON-LD

⚠️ Known Technical Limitations (READ BEFORE USING)

To ensure complete transparency and prevent unexpected results, please review the technology requirements below:

[!IMPORTANT] This Actor uses static HTTP scraping (Cheerio) for maximum speed and lowest compute costs. It does NOT run a full browser (Puppeteer/Playwright).

❌ Unsupported Technologies & Websites

  1. Full Client-Side Rendering / Single Page Applications (SPA):
    • Examples: Zara, Farfetch.
    • Why: These sites send empty HTML skeletons and rely on client-side React/Angular JS to build prices dynamically in a real browser. The Actor will return jsRenderingRequired: true or null price.
  2. Aggressive Enterprise Anti-Bot Protections (Akamai / Cloudflare Bot Manager):
    • Examples: Amazon, MediaWorld, Kiehl's / L'OrΓ©al Group, Decathlon.
    • Why: These stores employ strict TLS fingerprinting and challenge protocols that block static HTTP crawlers with HTTP 403 Forbidden status codes, regardless of proxy configuration.

πŸš€ Quick Start Guide for Beginners (3 Easy Steps)

No technical background required! Follow these 3 simple steps to monitor your first products:

  1. Paste Product URLs: In the Product URLs to Monitor section, click + Add and paste the direct product page links from any supported brand store (e.g. a Nike shoe page, a Zalando product, a Shopify store item).
  2. Add Webhook (Optional): If you want instant price drop alerts on your phone or team chat (Telegram, Discord, n8n, Make), paste your Webhook URL into Webhook Target URL.
  3. Click Start: Leave all advanced settings as default β€” the Actor automatically detects prices, stock, and handles anti-bot protection!

Key Features

  • ⚑ Ultra-Low Memory & Fast: Built on got-scraping + CheerioCrawler (128-256 MB RAM) for fast execution and minimal Apify compute costs.
  • 🎯 2-Tier Extraction Engine:
    • Tier 1 (Zero-Code Auto-Detection): Automatically extracts Schema.org JSON-LD microdata (Product, Offer, AggregateOffer) for D2C brand stores (Shopify, WooCommerce, Magento, PrestaShop, Zalando, Nike, etc.).
    • Tier 2 (CSS Fallback): Pre-configured DOM fallback engine for stores that partially implement JSON-LD.
  • 🌐 Locale-Aware Currency Parsing: Accurately parses both US ($1,299.99) and European (1.299,99 €) currency formats.
  • πŸ”” Hybrid Webhook Payloads: Delivers structured raw JSON events alongside a ready-to-send formattedText Markdown message complete with emojis for Telegram and Discord bots.
  • πŸ›‘οΈ Zero-Trust Security & Anti-SSRF: Includes strict URL validation, private network IP blocking (Anti-SSRF), HMAC-SHA256 request signatures, and secret masking in log outputs.
  • πŸ”„ Stateful Diffing & Atomic Checkpointing: Keeps track of historical prices in Apify's Key-Value Store (STATE.json) with auto-save checkpointing.
  • πŸ›‘ Rate-Limiting Anti-Ban: Configurable per-domain concurrency and throttling to avoid HTTP 429 rate limit blocks.

Input Options

OptionTypeDefaultDescription
productUrlsArray<String>RequiredList of brand store product page URLs to monitor. Click + Add to paste multiple links.
webhookUrlStringnullHTTP POST Webhook URL (n8n, Make, Telegram bridge, etc.).
webhookAuthTokenStringnullOptional secret token for HMAC-SHA256 signature (X-Webhook-Signature).
minPriceChangePercentageNumber0Minimum percentage price change required to trigger an alert (0 = trigger on any change).
notifyOnFirstRunBooleanfalseSend alerts on initial state setup (default is FALSE for silent setup).
notifyOnStockChangeOnlyBooleanfalseIgnore price changes and alert ONLY on stock availability changes.
maxConcurrencyPerDomainInteger5Maximum parallel requests per domain. Default is 5. Increase up to 20 when using Residential Proxies.
customSelectorsObjectPre-filledOptional CSS fallback selectors for stores without JSON-LD. Leave as default for 95%+ of supported stores.

Output Example

Dataset Record Format

{
"url": "https://skims.com/en-it/products/iconic-swim-hardware-underwire-bikini-top-obsidian",
"title": "ICONIC SWIM HARDWARE UNDERWIRE BIKINI TOP | OBSIDIAN",
"currency": "EUR",
"currentPrice": 86.00,
"previousPrice": 98.00,
"priceChanged": true,
"priceDeltaPercentage": "-12.24%",
"inStock": true,
"previousInStock": false,
"stockStatusChanged": true,
"isNewProduct": false,
"shouldAlert": true,
"jsRenderingRequired": false,
"checkedAt": "2026-07-27T12:00:00.000Z"
}

Webhook Payload Format

{
"actor": "smart-ecommerce-price-stock-monitor",
"timestamp": "2026-07-27T12:00:00.000Z",
"totalAlerts": 1,
"formattedText": "🚨 *E-Commerce Monitor Alert (1 updates)*\n\nπŸ“Œ *[ICONIC SWIM HARDWARE UNDERWIRE BIKINI TOP](https://skims.com/en-it/products/iconic-swim-hardware-underwire-bikini-top-obsidian)*\n🟒 *PRICE DROP!*\nβ€’ Old Price: `EUR 98` ➑️ New Price: `EUR 86` (-12.24%)\n",
"events": [ ... ]
}

πŸ”„ 2-Minute n8n & Telegram Integration Guide

Connect this Apify Actor to your Telegram Bot in 3 simple steps:

Step 1: Create a Telegram Bot

  1. Message @BotFather on Telegram and send /newbot.
  2. Save your Bot API Token (e.g. 123456789:ABCdefGhIJKlmNo...).
  3. Get your Chat ID by starting a chat with your bot and opening https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates.

Step 2: Import Workflow into n8n

  1. Open n8n, click Workflows -> Import from File / Paste JSON.
  2. Paste the JSON template below:
{
"name": "E-Commerce Price Monitor to Telegram",
"nodes": [
{
"parameters": {
"httpMethod": "POST",
"path": "ecommerce-price-alert",
"options": {}
},
"name": "Webhook Trigger",
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [250, 300]
},
{
"parameters": {
"conditions": {
"boolean": [
{
"value1": "={{ $json.body.totalAlerts > 0 }}",
"value2": true
}
]
}
},
"name": "Has Alerts?",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [470, 300]
},
{
"parameters": {
"chatId": "YOUR_TELEGRAM_CHAT_ID",
"text": "={{ $json.body.formattedText }}",
"additionalFields": {
"parse_mode": "Markdown"
}
},
"name": "Send Telegram Alert",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1,
"position": [690, 200]
}
],
"connections": {
"Webhook Trigger": {
"main": [
[
{
"node": "Has Alerts?",
"type": "main",
"index": 0
}
]
]
},
"Has Alerts?": {
"main": [
[
{
"node": "Send Telegram Alert",
"type": "main",
"index": 0
}
]
]
}
}
}

Step 3: Connect n8n Webhook to Apify

Copy the Webhook URL from your n8n Webhook Trigger node and paste it into the webhookUrl field of this Apify Actor.


License

ISC License. Built for Apify Store deployment.