Get notified the moment a crawl, batch scrape, extract, or agent job starts, progresses, or finishes. Instead of polling for status, you provide an HTTPS endpoint and Firecrawl delivers events to it in real time.Documentation Index
Fetch the complete documentation index at: https://firecrawl-docs-webhooks-overview-config-intro.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Supported Operations
| Operation | Events |
|---|---|
| Crawl | started, page, completed |
| Batch Scrape | started, page, completed |
| Extract | started, completed, failed |
| Agent | started, action, completed, failed, cancelled |
Configuration
Tell Firecrawl where to deliver events by including awebhook object in your request. You can attach it to any supported operation, and the same object shape works across all of them.
JSON
| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Your endpoint URL (HTTPS) |
headers | object | No | Custom headers to include |
metadata | object | No | Custom data included in payloads |
events | array | No | Event types to receive (default: all) |
Usage
Crawl with Webhook
cURL
Batch Scrape with Webhook
cURL
Timeouts & Retries
Your endpoint must respond with a2xx status within 10 seconds.
If delivery fails (timeout, non-2xx, or network error), Firecrawl retries automatically:
| Retry | Delay after failure |
|---|---|
| 1st | 1 minute |
| 2nd | 5 minutes |
| 3rd | 15 minutes |

