Product Price & Stock Change Monitor (JSON-LD)
Pricing
Pay per usage
Product Price & Stock Change Monitor (JSON-LD)
Track price and availability changes on public product pages with JSON-LD. Persist baselines between runs and export structured results. No browser, proxy, or LLM API key required. Free validation build.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Tong Pu
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Track price and availability changes on public product pages that include Product JSON-LD in their server HTML. Save an initial observation, run the same monitor again, and export the results or read the HTML report.
No CSS selectors, LLM API key, browser, or proxy setup is needed.
Quick start
- Add one or more public product URLs.
- Choose a monitor name you will reuse, such as
demo-products. - Run the Actor. The first successful check returns
BASELINE. - Run again with the same URLs and monitor name. The result is
UNCHANGEDorCHANGEDcompared with the previous successful check.
Try this public demonstration page:
{"urls": ["https://scrapeme.live/shop/Bulbasaur/"],"monitorId": "demo-products"}
The demonstration page is operated by a third party and may change or become unavailable.
Input
| Field | Description |
|---|---|
urls | Required. Between 1 and 100 public HTTP(S) product URLs. Keep query parameters that select a product variant or currency. |
monitorId | Optional name of up to 80 characters. Reuse it for comparisons across runs; use a new name to start a separate baseline. If omitted, the saved task ID is used when available, otherwise a default monitor is used. |
Do not overlap runs that use the same monitor name. Start the next run after the previous one finishes. To check periodically, save a task and configure an Apify schedule with enough time between runs. This Actor produces results and a report; it does not send notifications by itself.
Results
Each processed URL produces one dataset row.
| Status | Meaning |
|---|---|
BASELINE | First successful observation. There is no earlier value to compare, so changed is false. |
UNCHANGED | The tracked fields match the previous successful observation. |
CHANGED | One or more tracked fields changed. The changes array contains each field's old and new values. |
UNSUPPORTED | The page did not provide one usable, unambiguous Product JSON-LD object. |
ERROR | A request failed or was blocked by a network, robots, or safety limit. Read diagnostics for details. |
Successful rows include the product name, SKU, price or price range, currency, availability, source URLs, and check time when those values are available. Prices are decimal strings, such as "63", to preserve the source value. Missing values are null; missing availability does not mean out of stock.
The tracked fields are name, product URL, SKU, exact price, minimum and maximum price, currency, and availability. Failed and unsupported checks keep the last successful baseline.
The Output tab provides:
- Product checks: the dataset, with an Overview view and a Details and diagnostics view. Export it to JSON, CSV, or other formats supported by Apify.
- HTML report: a readable summary and results table, stored as
REPORTin the run's default key-value store. - Run summary (JSON): requested and processed counts, a
stoppedEarlyflag, and counts by status, stored asOUTPUT.
Baselines are kept separately from each run's report and scoped to the account, Actor, and monitor.
Supported pages and limits
The Actor reads the Product JSON-LD already present in the HTTP response. It supports ordinary Offer and AggregateOffer data, including unambiguous price ranges.
It does not run page JavaScript or log in. JavaScript-only product data, paywalls, CAPTCHA/anti-bot challenges, ambiguous product collections, and offers defined only by an unresolved @id reference are unsupported. It respects robots.txt and does not bypass access restrictions.
Checks are sequential. Each fetch has a 30-second overall timeout, a 2 MB response limit, and a limited number of redirects. UTF-8 HTML and uncompressed responses are supported. Start with a small list to confirm that your pages contain usable structured data.
Results reflect the merchant's structured markup. That markup can be stale or differ from a visible page or checkout price, so verify important changes against the source.
Price
This Actor has no rental, per-result, or pay-per-event fee. Apify platform usage, including compute and storage, is billed separately under your account's plan. Available free credits may cover small runs. Check your Apify usage and limits when choosing a schedule or increasing the number of URLs.