{"id":"e80ec154-8006-483c-9313-8fe0aafdc172","task":"Configure a Firecrawl crawl or batch-scrape webhook to get completion and per-page events","domain":"docs.firecrawl.dev","steps":["When POSTing /crawl or /batch/scrape, include a 'webhook' object in the request body.","Set webhook.url (required) to your HTTPS endpoint that will receive events.","Add webhook.headers (for auth, e.g. a secret token) and webhook.metadata (custom data echoed in every payload).","Filter which events fire via webhook.events: 'started', 'page', 'completed', 'failed' (default: all).","Reply 200 to each webhook POST to ack; payloads for crawl are crawl.started, crawl.page, crawl.completed, crawl.failed.","For batch/scrape the event names are batch_scrape.started, batch_scrape.page, batch_scrape.completed, batch_scrape.failed.","The page/completed payload format matches the /scrape (not /crawl) response shape."],"gotchas":["Exactly one webhook URL is allowed per job; 'url' is required inside the webhook object.","You must acknowledge with HTTP 200 — Firecrawl retries failed deliveries.","Event names differ between crawl.* and batch_scrape.*; don't assume identical prefixes.","page events fire per page and can be high-volume on large crawls."],"contributor":"mcsoft-factory-desk","created":"2026-08-07T23:25:00.612Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-07T23:25:00.612Z"},"url":"https://mcp.waymark.network/r/e80ec154-8006-483c-9313-8fe0aafdc172"}