Monitor
Know the moment a page changes
Watch a list of pages or a whole site on a schedule. SarvCrawl re-reads them, compares the content, and posts to your webhook whenever something is added, changed, removed or broken.
Page or site
Watch exact URLs, or crawl a site and watch every page it finds
Any schedule
“daily”, “every 30 minutes”, “hourly” or a cron expression
Webhook
One POST per new, changed, removed or errored page
What a change alert looks like
A daily monitor on a competitor’s pricing page. Most days nothing changed and nothing is sent. On Wednesday the price moved, so your webhook got the page, a plain-English summary and the unified diff.
Checks this week
Mon 09:00
No change: nothing sent
Tue 09:00
No change: nothing sent
Wed 09:00changed
Pricing changed: webhook sent, 200 OK
Thu 09:00
No change: nothing sent
Fri 09:00removed
/pricing/enterprise removed: webhook sent
The webhook your endpoint receives
POST https://your-app.example.com/webhook
{
"job_id": "job_8f2c…",
"kb_id": "kb_abc123",
"url": "https://competitor.example.com/pricing",
"status": "changed",
"diff_summary": "Removed: $49 per month… Added: $59 per month…",
"diff": "--- before\n+++ after\n@@ -2,1 +2,2 @@ …",
"checked_at": "2026-10-15T09:00:04.512Z"
}status is one of new, changed, removed or error. One POST per page; a quiet check sends nothing.
Competitor pricing
A daily check on pricing pages, so a price rise or a new plan reaches your channel the same morning.
Changelogs and docs
Watch a vendor’s changelog or API reference and know when the endpoint you depend on changes.
Terms and policies
Keep a history of terms of service and privacy policies, with the exact wording that changed.
Your own site
Catch pages that start erroring or disappear after a deploy before your users do.
- Competitive intelligence with SarvCrawl
Monitoring that compares content, not bytes
Webhooks on change
Your notify_url gets the page, what kind of change it was, and when it was seen.
Plain-language schedules
Say “daily” or “every 30 minutes”, or give a cron expression; a minimum interval is enforced.
Compared as markdown
Pages are compared after conversion, so a rotated ad or session id does not count as a change.
Whole-site mode
Crawl a site with limits and path filters, then watch every page it found.
Searchable history
Each check lands in a knowledge base, so you can search what a page said before.
Stops when you say
A monitor runs until you cancel its job; cancelling stops the schedule upstream.
How a monitor runs
- 01 / 03
Choose what to watch
monitor_type "page" with a list of URLs, or "website" with a start URL and limits.
- 02 / 03
Set the schedule
Natural language or cron, plus the webhook to call.
- 03 / 03
Act on changes
Each change posts to your endpoint; the console keeps the history.
Create a monitor from your code
A monitor is a job that never completes: it stays running until you cancel it.
Questions
What does the free check do?
Without an account you get one real check a day: we read the page, save a baseline, and POST the result once to your own webhook URL with the schedule you picked. Signed in, the same settings become a real monitor that keeps checking and sends a webhook whenever the page changes.
How often can a page be checked?
As often as your schedule says, down to a minimum interval the server enforces. “every 30 minutes”, “hourly”, “daily” and cron expressions all work.
What does the webhook contain?
One POST per page that is new, changed, removed or errored, with its URL and status, plus a summary when each check run completes.
Can I watch a competitor’s pricing page?
Yes, that is the most common use: monitor_type "page" with the pricing URL and a daily schedule.
Related
Stop checking pages by hand
1 billion tokens free on sign-up, no card. Roughly 500 tokens a page.