Web change monitoring
Poll a page on a schedule and detect when its content actually changes.
POST
Web change monitoring
Watch a page for meaningful changes — a pricing page, a terms-of-service update, a competitor’s
landing page — without storing and diffing raw HTML by hand.
Use case
- Alert when a competitor changes pricing, copy, or product availability
- Track terms-of-service, policy, or changelog pages for updates
- Detect when a page’s content stops matching what you last indexed
Step 1: Take a clean snapshot
Requestclean_html or markdown instead of raw html — boilerplate like ads, session tokens,
or rotating banners get stripped by default (only_main_content: true), so the diff only reflects
real content changes.
Step 2: Compare against the last hash
Store the hash (and optionally the Markdown itself) alongside theurl in your own database.
On each run, fetch again and compare:
Python
Step 3: Run it on a schedule
Trigger the scrape from a cron job, a queue worker, or a scheduled function — hourly for fast-moving pages, daily for slower ones. Use a distincttag per monitored page so you can audit
run history and cost per target in Request history.
Request highlights
Tips
- Diff at the paragraph or section level instead of full-text equality if the page has any dynamic content (timestamps, view counts) you want to ignore.
- For JS-heavy pages, set
js_render: trueand await_selectorso you snapshot the rendered state, not a loading skeleton — see Scrape. - If you need structured fields (e.g. just the price, not the whole page), add
prompt/schemawithoutput: ["json"]instead of diffing raw text — see Output.
