JSON-LD Product Price & Stock Monitor
Pricing
Pay per usage
JSON-LD Product Price & Stock Monitor
Check public product pages for price and stock changes using schema.org JSON-LD. You bring the URLs. No marketplace search, no login bypass.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Sarvin Behyad
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Check public product pages for price and stock changes by reading the schema.org Product JSON-LD already on the page.
This is not a marketplace searcher and not an Amazon/Walmart scraper. You supply the product URLs. The Actor reads public structured data only. It does not log in, does not bypass bot checks, and does not open hidden inventory APIs.
Who pays for this
- Brands watching their own and competitor public product pages
- Agencies running weekly price/stock checks on a known URL list
- Agents that need a small, typed offer record (
price,currency,availability,changeType)
Repeat usage is the point: schedule the same URL list. The first successful check stores a snapshot. Later runs emit price_up, price_down, back_in_stock, out_of_stock, or unchanged.
Input
Minimum: one or more public product-page URLs.
{"startUrls": [{ "url": "https://www.glossier.com/products/boy-brow" }]}
Agents can also send productUrls as a plain string list.
| Field | Default | Meaning |
|---|---|---|
detectChanges | true | Compare against the last snapshot |
snapshotStoreName | jsonld-product-snapshots | Named store for scheduled runs |
respectRobotsTxt | true | Skip paths the site disallows |
maxConcurrency | 3 | Keep this low |
Output
One dataset row per extracted Product offer.
{"url": "https://www.glossier.com/products/boy-brow","status": "ok","name": "Boy Brow","price": 22,"currency": "USD","availability": "InStock","changeType": "price_down","previousPrice": 24,"error": null}
status values:
ok— Product JSON-LD with a usable price or availabilityincomplete_offer— Product JSON-LD without price and availabilityno_product_schema— page has no Product JSON-LD (common on category/configurator pages)http_error— non-2xx or network failurerobots_blocked— path disallowed by robots.txtparse_error— HTML fetched but JSON-LD could not be parsed
changeType values: new, unchanged, price_up, price_down, back_in_stock, out_of_stock, offer_changed.
What this is not
- Not an Amazon, Walmart, eBay, or Google Shopping crawler
- Not a search scraper. You must already know the product URL
- Not a login or cart tool
- Not a CSS/Playwright fallback. If the shop hides offer data from JSON-LD, the row is
no_product_schemaorincomplete_offer
That honesty is the product. Competing “any store” Actors often claim Amazon coverage they cannot keep reliable.
Pricing
Pay per event:
| Event | What it bills | Suggested price |
|---|---|---|
page_checked | Every URL fetched or blocked after work | $0.001 |
product_record | Every structured product row written | $0.002 |
change_detected | Every row that is not unchanged | $0.003 |
apify-actor-start | Platform start (keep default) | $0.00005 |
A 100-URL daily monitor with no changes costs about $0.30 in events (100 × $0.001 + 100 × $0.002). A day with 10 real changes adds about $0.03.
Competitor dump parsers charge $2–$5 per 1,000 rows and do not emit change events. This Actor is cheaper on a check and charges extra only when something moved.
Platform cost for Cheerio HTTP is typically well under $0.0005 per URL. Event prices above that leave a positive margin after Apify’s 20% store cut.
Schedule
- Save your URL list as the Actor input
- Keep
snapshotStoreNamethe same - Run daily or hourly from Apify Schedules
- Filter the dataset on
changeType != unchanged
Limits
- Public HTML only
- JSON-LD Product / Offer / AggregateOffer only
- Some shops put Product schema on category or builder pages without a real offer
- Sites that block anonymous HTML fetch will return
http_error - robots.txt is respected when enabled
Agent / MCP
Required input is only URLs. Output is a flat typed row. No browser, no cookies, no extra steps.