Pin a cron schedule. We re-check the URL, hash the result, and webhook you only when content actually changed.
A crawl with a cron field becomes a recurring monitor. Add return_only_changed: true and webhooks fire only on real changes.
curl -X POST https://api.crawlcrawl.com/v1/crawls \
-H "Authorization: Bearer crk_..." \
-d '{
"url": "https://competitor.com/pricing",
"max_pages": 1,
"cron": "0 */6 * * *",
"webhook_url": "https://you.example.com/hooks/crawl",
"return_only_changed": true
}'
# returns
{ "monitor_id": 42, "schedule": "0 */6 * * *", "next_fires_at": "2026-05-12T14:00:00Z" }
GET /v1/crons → list your monitors
PATCH /v1/crons/{id} → { "schedule": "0 9 * * *" } or { "enabled": false }
DELETE /v1/crons/{id} → remove the monitor
Every delivery includes X-CrawlCrawl-Signature: sha256=<hex>. The signature is HMAC-SHA256 over the raw body, keyed by your project's webhook secret (fetch it from GET /v1/webhook/secret).
3 monitors free on Indie, 25 on Agency. No card to start.
Get an API key — free