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

Request clean_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 the url 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 distinct tag 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: true and a wait_selector so 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/schema with output: ["json"] instead of diffing raw text — see Output.