Competitor SKU Price & Stock Change Monitor avatar

Competitor SKU Price & Stock Change Monitor

Pricing

from $5.00 / 1,000 source checks

Go to Apify Store
Competitor SKU Price & Stock Change Monitor

Competitor SKU Price & Stock Change Monitor

Monitor exact SKU JSON-LD offers for price, currency and stock changes across runs. Preserve valid baselines when pages fail or variants are ambiguous.

Pricing

from $5.00 / 1,000 source checks

Rating

0.0

(0)

Developer

LibriHouse

LibriHouse

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

For ecommerce teams checking a fixed SKU watchlist repeatedly.

Monitor exact SKU JSON-LD offers for price, currency and stock changes across runs. Preserve valid baselines when pages fail or variants are ambiguous.

What it does

Extracts exact Product/Offer JSON-LD, compares normalized decimal price, currency and known stock status. Reports reference-price difference only in the same currency.

Quick start

Paste the example below into Input, run the Actor, then open REPORT for a readable HTML report or SUMMARY for run coverage and history status. Dataset output has one row per supplied products entry, with nested records and changes. Export JSON for full nested detail; CSV is best for summary fields.

{
"products": [
{
"id": "demo-hoodie",
"url": "https://www.scrapingcourse.com/ecommerce/product/abominable-hoodie/",
"sku": "MH09"
}
]
}

Inputs

Each products object requires url; supply sku when a page has variants. id is optional. Optional referencePrice requires referenceCurrency (three uppercase letters).

Supply 1–200 source objects. URLs must be public HTTP(S) on standard ports without credentials. timeoutSecs is 2–30 per request (default 15), maxRedirects 0–5 (default 3), and delayMillis 100–5000 between requests (default 250). Redirect destinations and DNS answers are validated; private and reserved network addresses are blocked. Response bodies are capped at 4 MB.

Results and interpretation

status is observed, baseline, unchanged, changed or unknown. sourceComplete distinguishes complete coverage from partial/failed evidence. records contains observations; facts provides summary metrics; issues and the report explain limitations. changeCounts gives full counts; changes includes at most 100 detailed changes per input, with changesTruncated when capped. The HTML report previews 20 changes and 10 records. SUMMARY.complete means all inputs were attempted, while coverageComplete means all sources were reliable.

Repeat runs and history

monitor defaults to true. Run the same watchlist with the same monitorKey to compare against the last reliable observation. The first run establishes a baseline and reports no invented changes. Change the key to start a new baseline. Changing source definitions or filter settings creates a separate scope. Keep stable IDs and source order.

History is stored in an Actor-owned named key-value store in your account, under limited permissions. Complete funded runs persist immutable snapshots; failed sources retain their prior records. Overlapping runs use start-ordered snapshots so a late older run cannot roll history back. Each run pins its baseline across restarts. Prefer schedules that do not overlap to avoid duplicate alerts from concurrent comparisons.

The most recent 20 snapshots are retained, with at most 2000 historical record IDs per source for rolling feeds and a 7 MB snapshot cap. Older retained IDs can appear new after eviction. SUMMARY.history says whether history was saved; split large watchlists if it reports a size limit. Partial budget runs do not advance history. monitor: false performs an observation without history.

Pricing

$5 per 1000 completed source checks ($0.005 per product-observed event), plus Apify platform usage and the listed Actor-start event. A completed check can return unknown or problem evidence; it still incurs the custom check event. Transport/security exceptions with an error have no custom check charge. The Actor-start event is $0.00005 per GB of allocated memory, minimum one event. Use the run spending limit to bound charges; the report identifies partial budget runs. The Apify pricing tab is authoritative.

Coverage limits

Requires supported JSON-LD with exact price and known availability. Aggregate offers, ambiguous variants, invalid markup and unknown stock remain unknown. No browser rendering, regional price selection or currency conversion. This monitors a watchlist; the separate Product Feed Price Checker compares supplied feed prices.

HTTP requests only. No CAPTCHA bypass, credentials, proxy subscription, external AI key, notifications or outbound messages are included. Use Apify schedules and your own integrations to consume changes. Reports show source evidence, not guaranteed business outcomes.

Troubleshooting and support

For unknown results, inspect issues and the source response before changing your workflow. Increase pagination limits only when needed. Retry rate limits later with a longer delay. Use a new monitor key when intentionally redefining a watchlist. Open an issue from this Actor's Issues tab with the run ID, expected behavior and a public reproducible input; omit tokens and personal data.

Local development

Node.js 22+. Run npm ci, npm test, npm run check, then npm start with an Apify INPUT record. Tests cover source fixtures, incomplete coverage, history, HTTP safety, report escaping and charging boundaries. Cloud release evidence is recorded separately in RELEASE.md in the local project.