Smart Competitor Price Monitor avatar

Smart Competitor Price Monitor

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Smart Competitor Price Monitor

Smart Competitor Price Monitor

Monitor competitor product pages to detect price and stock changes in real time. Capture structured history, trigger alerts, and gain actionable pricing intelligence for smarter decisions.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Hayder Al-Khalissi

Hayder Al-Khalissi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

Smart Competitor Price Monitor is an Apify Actor that tracks competitor product pages, extracts price and stock status, and detects changes over time. You provide a list of product URLs; the Actor visits each page, extracts pricing data, compares it to the previous run, and saves structured results to a dataset. Optionally, it can send webhook alerts when changes are detected—ideal for e-commerce price monitoring, competitor intelligence, and automated pricing workflows. Use the Input tab to add your start URLs and configure extraction and alerts.


What can this Actor do?

  • Automated competitor price tracking – Add product page URLs and run the Actor on a schedule; no manual checks needed.
  • Real-time change detection – Compares each run to the previous one and flags price or stock changes based on your thresholds.
  • Structured dataset output – Every run writes one row per URL with price, stock, change flags, and optional debug data.
  • Webhook integration – POST to your endpoint (e.g. n8n, Zapier) when changes are detected for instant alerts.
  • Flexible extractionAuto mode detects price and stock from common page patterns, or use selector mode with CSS selectors and regex for custom sites.
  • Proxy support – Use Apify Proxy (e.g. residential) for sites that block datacenter IPs.
  • State persistence – Last known price and stock per URL are stored in the default key-value store so change detection works across runs.

Platform advantages: Run the Actor on a schedule, call it via API, plug it into integrations, and scale to hundreds of URLs. Monitoring, retries, and storage are handled by the Apify platform.


What data can Smart Competitor Price Monitor extract?

The Actor extracts the following data points per product URL and saves them to the default dataset:

FieldDescription
urlProduct page URL
titlePage or product title
timestampWhen the data was extracted
priceTextRaw price text from the page
priceParsed price (number)
currencyCurrency code (if set or detected)
inStockStock status (true/false/null)
changeDetectedWhether price or stock changed vs previous run
changeChange metrics: absolute difference, percentage, stock changed flag
prevPrevious run state (price, inStock, timestamp) for comparison

You can use the dataset for reporting, dashboards, or downstream automation.


How do I use the Actor to monitor competitor prices?

  1. Open Smart Competitor Price Monitor on Apify and go to the Input tab.
  2. Add Start URLs. Either: (a) Product detail URLs – one URL per product, one row each; or (b) Listing/storefront URLs (e.g. Amazon seller page .../s?me=...) – enable Discover product links so the Actor finds each product link, visits each product page, and writes one row per product.
  3. Leave Price and Stock as auto unless you need custom selectors, and set Proxy (e.g. Apify Proxy with RESIDENTIAL) if the site blocks automated access.
  4. (Optional) Add a Webhook URL and enable Send only on change to receive a POST when a price or stock change is detected.
  5. Click Start to run the Actor. After the run, open the Dataset tab to see the extracted data.
  6. For ongoing monitoring, use Schedules to run the Actor daily or at any interval. Change detection uses the stored state from the previous run.

How much does it cost to monitor competitor prices?

Smart Competitor Price Monitor runs on consumption-based pricing (Compute Units). Cost depends on how many pages you crawl per run, how often you schedule it, and whether you use Apify Proxy. A typical run over a few dozen product URLs usually consumes a small number of Compute Units. You can run the Actor once with a low Max requests per crawl to estimate cost before enabling schedules. Check the Apify pricing page and the run statistics after a test run for your use case.


Input

Smart Competitor Price Monitor has the following input options. Click the Input tab on the Actor page for the full schema and tooltips.

  • Start URLs (required) – Product or listing page URLs. With Discover product links disabled, each URL gives one row. With it enabled, listing pages are scanned for product links (e.g. Amazon /dp/, /gp/product/), each product URL is visited, and you get one row per product.
  • Discover product links (enabled / selector / limit) – Flat fields: enable to find product links on listing pages (default selector: Amazon /dp/ and /gp/product/), enqueue them, and get one row per product page. Set selector and limit as needed.
  • Price extraction (mode / selector / regex) – Form fields: mode auto (default) or selector; selector CSS selector when mode is selector; regex optional regex to extract the numeric price from selected text.
  • Stock extraction (mode / selector / in-stock regex / out-of-stock regex) – Form fields: mode auto or selector; selector when mode is selector; in-stock regex and out-of-stock regex to interpret the selected text.
  • Currency – Optional currency code (e.g. EUR, USD) when not detected from the page.
  • Change rules (min absolute change / min percentage change) – Form fields: minimum absolute price change (e.g. 0.5) and/or minimum percentage change (e.g. 5) to count as a change; reduces noise.
  • Webhook (URL / secret / send only on change / payload format) – Form fields: webhook URL, optional secret, checkbox to send only when a change is detected, and payload format (default or openclaw).
  • Proxy (use Apify Proxy / groups / country code) – Form fields: checkbox to use Apify Proxy, proxy groups (comma-separated, e.g. RESIDENTIAL), and country code (e.g. DE).
  • Max requests per crawl – Cap the number of pages per run (default 50). With Discover product links enabled, this equals the number of product result rows (the listing page uses one request and does not add a row).
  • Debug – Enable extra logging and include base64 page screenshots in the dataset.

Output

You can download the dataset produced by Smart Competitor Price Monitor in JSON, CSV, Excel, or XML from the Dataset tab or via the Apify API.

Example output (one item per URL):

{
"url": "https://example.com/product/123",
"title": "Example Product Name",
"timestamp": "2026-02-14T12:00:00.000Z",
"priceText": "€29.99",
"price": 29.99,
"currency": "EUR",
"inStock": true,
"changeDetected": true,
"change": {
"abs": -2.50,
"pct": -7.69,
"stockChanged": false
},
"prev": {
"price": 32.49,
"inStock": true,
"timestamp": "2026-02-13T12:00:00.000Z"
}
}

One URL = one result (product pages vs listing pages)

The Actor visits one page per start URL and writes exactly one dataset row per URL. It does not split a single page into multiple products.

  • Product detail pages (e.g. amazon.de/dp/B0XXXX, or a single product on a shop) – One URL = one product = one row. This is the intended use.
  • Listing or storefront pages (e.g. Amazon seller page amazon.de/s?me=... with many products) – You must enable Discover product links in the Input. The Actor will find product links on the listing (e.g. /dp/ or /gp/product/), enqueue each product URL, visit each product page, and write one row per product. If Discover product links is disabled, you get only one row per listing URL (one price from the page), not one per product.

Example: Amazon seller page (many products → one row per product)

To monitor all products from an Amazon seller or search listing, use one start URL and turn on Discover product links:

  1. Start URL: the listing page (e.g. https://www.amazon.de/s?me=A124IFVCGXJ6G5).
  2. Discover product links: set Enabled to true. Leave the default Selector (a[href*="/dp/"], a[href*="/gp/product/"]) for Amazon; set Limit (e.g. 200) to cap how many product URLs are enqueued per listing page.
  3. Max requests per crawl: number of product result rows when using Discover (default 50). Set to 10 to get 10 product rows.
  4. Proxy: use Apify Proxy with RESIDENTIAL and countryCode: DE (or the marketplace country) to reduce blocks.

Example input (Amazon DE seller listing → one dataset row per product):

{
"startUrls": [{ "url": "https://www.amazon.de/s?me=A124IFVCGXJ6G5" }],
"discoverProductLinksEnabled": true,
"discoverProductLinksSelector": "a[href*=\"/dp/\"], a[href*=\"/gp/product/\"]",
"discoverProductLinksLimit": 200,
"maxRequestsPerCrawl": 50,
"proxy": {
"useApifyProxy": true,
"groups": ["RESIDENTIAL"],
"countryCode": "DE"
}
}

If you omit discoverProductLinksEnabled: true, the Actor treats the URL as a single product page and returns one row with one price from the listing, not one row per product.


Tips for best results

  • Listing with many products – Use one storefront URL (e.g. Amazon seller page) and enable Discover product links to get one row per product. For single products, use product detail URLs directly.
  • Set change thresholds – Use Change rules (min absolute and/or percentage change) to avoid alerts for tiny rounding differences.
  • Schedule runs – Use Apify Schedules for daily or hourly runs; the Actor uses the key-value store to compare against the previous run.
  • Enable proxy for strict sites – Turn on Apify Proxy (e.g. RESIDENTIAL) if you get blocks or captchas.
  • Webhook + send only on change – Reduces noise by posting only when price or stock actually changes.

FAQ and support

This Actor only extracts publicly visible data from product pages (prices, titles, stock indicators). We believe that using it for ethical competitor and market research is acceptable in many jurisdictions. You are responsible for complying with the target site’s terms of service and applicable laws (e.g. GDPR if you process personal data). When in doubt, consult legal advice. See Apify’s resources on the legality of web scraping.

How do I get the data via API?

After a run, the default dataset is available via the Apify API. You can fetch dataset items, list runs, and trigger the Actor programmatically. The API tab on the Actor page shows endpoints and authentication.

Can I use this in integrations?

Yes. Use the Webhook input to POST results to n8n, Zapier, Make, or any HTTP endpoint. You can also use Apify’s built-in integrations to send data to Google Sheets, Slack, and other tools.

Amazon shows "Tut uns Leid!" or "Sorry, we just need to make sure you're not a robot"

Amazon often shows this when it blocks or challenges the request. The Actor will push a row with error: true and a message. To reduce blocks:

  • Use Apify Proxy with RESIDENTIAL (or another strong proxy group) and set countryCode to match the marketplace (e.g. DE for Amazon DE).
  • Enable Discover product links when using a listing URL; if the page is blocked, you’ll get one error row instead of one empty row.
  • Retry later or reduce concurrency (the Actor already uses maxConcurrency 1).

Troubleshooting and feedback

  • If extraction fails on a URL, check that it is a product detail page and that the page shows a clear price (auto mode looks for common patterns). For custom layouts, use selector mode.
  • Discover product links found 0 links: the page may be blocked (captcha), empty, or the selector doesn’t match the site. Check the error row message; for Amazon use the default selector or enable a residential proxy.
  • Enable Debug to get page screenshots and extra logs for diagnosis.
  • For bugs or feature requests, use the Issues tab on the Actor’s Apify Store page. We’re happy to improve the Actor based on your feedback.

Smart Competitor Price Monitor runs on the Apify platform. Monitor competitor prices, detect changes, and automate your pricing intelligence.