Competitor Price & Stock Monitor avatar

Competitor Price & Stock Monitor

Pricing

Pay per usage

Go to Apify Store
Competitor Price & Stock Monitor

Competitor Price & Stock Monitor

Extract price, stock availability, and content hashes from explicit public product URLs for scheduled competitor monitoring.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

David

David

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Snapshot public product pages so e-commerce operators can monitor competitor price, stock, and page-content changes without checking the same URLs by hand.

This Actor is intentionally narrow: it only fetches explicit public URLs you provide, respects robots.txt by default, extracts a structured product snapshot, and writes one dataset item per URL. Schedule it with the same input to compare changes between runs.

What it extracts

  • Product title from JSON-LD, common product selectors, or optional CSS selector.
  • Price and currency from JSON-LD, itemprop, common price markup, or optional CSS selector.
  • Availability/stock text from JSON-LD, common stock markup, or optional CSS selector.
  • SKU when present.
  • Canonical URL, stable ID, and content hash for change detection.

Input

{
"startUrls": [
{ "url": "https://example.com/products/demo" }
],
"maxPagesPerRun": 10,
"respectRobotsTxt": true,
"customTitleSelector": "",
"customPriceSelector": "",
"customAvailabilitySelector": "",
"includePageTextHash": true
}

Hard limits protect run cost:

  • startUrls: hard maximum 50 URLs per run.
  • maxPagesPerRun: default 10, hard maximum 50.
  • No login, no paywalls, no marketplace-wide crawling, no anti-bot bypassing.

Output

Each dataset item contains:

{
"url": "https://example.com/products/demo",
"finalUrl": "https://example.com/products/demo",
"host": "example.com",
"title": "Demo Product",
"price": "49.99",
"currency": "USD",
"availability": "InStock",
"sku": "SKU-123",
"canonicalUrl": "https://example.com/products/demo",
"contentHash": "e3b0c44298fc...",
"stableId": "1d72f3...",
"detectedAt": "2026-07-06T00:00:00.000Z",
"extractionMethod": "json_ld_product",
"confidence": 0.95,
"robotsAllowed": true
}

Monitoring workflow

Run this Actor on an Apify schedule with the same URLs. Compare price, availability, contentHash, and stableId values across datasets to detect competitor changes.

Boundaries

Use it only on public pages where crawling is allowed. Keep respectRobotsTxt enabled unless you have checked that your use case and the target site permit crawling. Do not use it for authenticated, paywalled, private, or sensitive personal data.