Skip to content
Meta Ad Library scraper is live, spy on any brand's adsExplore
All docs
Guide / Webhooks

Webhooks & live scrapers

Watch a URL or a marketplace product on a schedule, and get a signed webhook the moment something changes.

Create a monitor

Monitors run a scrape on an interval and diff the result. Configure them in Dashboard → Monitors or via the API.

curl -X POST https://api.arrowcrawl.com/v1/monitors \
  -H "Authorization: Bearer $AC_KEY" \
  -d '{
    "url": "https://amazon.in/dp/B0...",
    "interval": "1h",
    "watch": ["price", "in_stock"],
    "webhook": "https://your-app.com/hooks/arrowcrawl"
  }'

Webhook payload

Deliveries are signed with an HMAC header so you can verify authenticity.

POST /hooks/arrowcrawl
X-ArrowCrawl-Signature: sha256=...

{
  "event": "change.detected",
  "monitor_id": "mon_8821",
  "changes": { "price": { "from": 1499, "to": 1299 } },
  "at": "2026-07-06T10:00:00Z"
}

Verifying the signature

import hmac, hashlib

def verify(body: bytes, header: str, secret: str) -> bool:
    digest = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(f"sha256={digest}", header)

Failed deliveries are retried with exponential backoff. Manage endpoints in Dashboard → Webhooks.

NextGuides & Examples