Create monitor
Add a public URL, schedule, mode, and webhook.
Watch pages on your cadence. Get a webhook when content changes, or on every scheduled run.
Use scrape mode for content changes and screenshot mode for visual changes. ByteKit handles the schedule, comparison, and webhook delivery.
Add a public URL, schedule, mode, and webhook.
Recheck hourly, daily, weekly, or by cron.
Scrape compares content. Screenshot compares visual state.
Notify on change by default, or every run.
Need both content and visual signals? Create two monitors for the same URL.
Use POST /monitors to re-run scrape or screenshot captures on a
schedule and deliver results by webhook. Watch the pages that matter without building
schedulers, browser workers, or retry logic.
Track pricing pages, launch pages, docs, changelogs, job posts, and regional variants. Get a webhook when selected pages change, with the latest capture ready for your system.
Watch product pages for price, promo, stock, variant, and regional changes. Use monitors for the recurring capture; let your app decide what changed and what to do next.
Keep an eye on documentation, SDK pages, API references, and help centers. Catch public-page changes before stale source material reaches agents, support flows, or internal tooling.
Recapture public pages on a schedule and keep scrape or screenshot evidence. Useful for audits, release checks, visual proof, and catching unexpected page changes.
Changed captures plus lightweight unchanged checks. An illustrative 1,000-page set.
Monitoring estimate · assumptions shown
| Pages monitored | 1,000 |
| Check frequency | daily |
| Avg changed capture | 100 KB |
| Change frequency | weekly |
| Est. metered / month | ≈ 660 MB |
Assumes scrape monitors can use lightweight unchanged checks, approximated at ~10 KB per page. Pages without usable validators may require a full capture on each check.
Screenshot monitors preserve the rendered state of a page and detect visual changes over time. Use scrape monitors when content is the primary signal; use screenshot monitors when layout, proof, or visual state matters.
Compare monitor modes (opens in new tab)Monitors repeatedly check a URL on a schedule and track what changed over time. Use them when you need ongoing visibility, not a one-off screenshot or scrape.
Monitors support two modes: visual monitoring with screenshots, and content monitoring with scrapes. Use screenshot monitors when layout or visual state matters; use scrape monitors when the underlying page content matters.
No. A monitor runs in one mode: scrape or screenshot. Scrape monitors detect content changes and can deliver the latest scraped result. Screenshot monitors detect visual changes and preserve the rendered page state. If you need both signals for the same URL, create two monitors.
Monitors can run hourly, daily, weekly, or on a custom cron schedule. They are built for scheduled checks, not real-time streaming.
Monitors deliver results to your webhook. You can choose to get notified only when a change is detected, or on every scheduled capture.
Yes. Screenshot monitors use a change threshold so small visual differences do not have to trigger alerts. Scrape monitors compare captured content to detect meaningful content changes.
Yes. Each monitor keeps a capture history, including whether a change was detected, when it was captured, and the related screenshot or scrape result.
Failures are tracked over time. If a monitor has repeated consecutive failures, it can be suspended so it does not keep running broken checks indefinitely.
No. Monitors are for public pages only — not paywalls, CAPTCHAs, login walls, or other access controls.
Bulk jobs process a list once. Monitors keep checking the same URL over time and notify you when new captures or changes are available.
Each scheduled capture is metered based on the underlying work being performed, such as a screenshot or scrape. Monitoring is ongoing, so usage depends on the number of active monitors and how often they run.
Yes. Every scheduled check has some cost, even when the page has not changed. When ByteKit can use lightweight conditional checks, unchanged pages are often around 10 KB per check, mostly request and response headers. The exact amount varies by the page and its response headers. If lightweight checking is not possible, the check may require a fuller capture.
Each scheduled check is metered by the work it performs. Every plan supports the same API — start on PAYG with a one-time free balance, then pay for usage.
| PAYG free balance | 50 MB + 100 credits |
| PAYG bandwidth | $8 / GB |
| Monthly plans | from $29 / mo |
| Cache hits · failed | 50% · $0 |
Create a free API key and register one public URL with
/v1/monitors. Get notified only when the page actually changes.