# Crawl Page (/api-reference/endpoint/webhook-crawl-page)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 1288 · updated: 2026-07-30 -->
Related: [Search](/api-reference/endpoint/search.md), [Search Feedback](/api-reference/endpoint/search-feedback.md), [Scrape](/api-reference/endpoint/scrape.md), [Batch Scrape](/api-reference/endpoint/batch-scrape.md), [Get Batch Scrape Status](/api-reference/endpoint/batch-scrape-get.md), [Cancel Batch Scrape](/api-reference/endpoint/batch-scrape-delete.md)

For payload examples, configuration, and retry behavior, see [Webhook Event Types](/webhooks/events#crawlpage) and [Webhook Overview](/webhooks/overview).

`POST` webhook `crawlPage`

Crawl Page

## OpenAPI

```json
{
  "parameters": [
    {
      "name": "X-Firecrawl-Signature",
      "in": "header",
      "required": false,
      "description": "HMAC-SHA256 signature of the raw request body, formatted as `sha256=<hex>`. Present when an HMAC secret is configured in your [account settings](https://www.firecrawl.dev/app/settings?tab=advanced). See [Webhook Security](/webhooks/security) for verification details.",
      "schema": {
        "type": "string",
        "example": "sha256=abc123def456789..."
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "required": [
            "success",
            "type",
            "id",
            "webhookId",
            "data"
          ],
          "properties": {
            "success": {
              "type": "boolean",
              "description": "`true` if the page was scraped successfully, `false` otherwise."
            },
            "type": {
              "type": "string",
              "description": "The event type.",
              "const": "crawl.page"
            },
            "id": {
              "type": "string",
              "format": "uuid",
              "description": "The crawl job ID."
            },
            "webhookId": {
              "type": "string",
              "format": "uuid",
              "description": "Unique identifier for this webhook delivery."
            },
            "data": {
              "type": "array",
              "description": "Array containing the scraped page document. Same shape as the `data` field in the `GET /scrape` response.",
              "items": {
                "type": "object",
                "description": "A scraped page document. Same shape as the `data` object in scrape responses.",
                "properties": {
                  "markdown": {
                    "type": "string",
                    "description": "The page content converted to Markdown."
                  },
                  "html": {
                    "type": "string",
                    "description": "Cleaned HTML content of the page."
                  },
                  "rawHtml": {
                    "type": "string",
                    "description": "Original HTML before any processing."
                  },
                  "links": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Outbound links discovered on the page."
                  },
                  "screenshot": {
                    "type": "string",
                    "description": "Base64-encoded screenshot, if the `screenshot` format was requested."
                  },
                  "metadata": {
                    "type": "object",
                    "description": "Page metadata.",
                    "properties": {
                      "title": {
                        "type": "string",
                        "description": "The page `<title>`."
                      },
                      "description": {
                        "type": "string",
                        "description": "The meta description."
                      },
                      "sourceURL": {
                        "type": "string",
                        "description": "The URL that was scraped."
                      },
                      "statusCode": {
                        "type": "integer",
                        "description": "HTTP status code of the response."
                      }
                    }
                  }
                }
              }
            },
            "error": {
              "type": "string",
              "description": "Error message if the page failed to scrape."
            },
            "metadata": {
              "type": "object",
              "description": "The custom metadata object you provided in the webhook configuration. Echoed back in every delivery.",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        },
        "example": {
          "success": true,
          "type": "crawl.page",
          "id": "550e8400-e29b-41d4-a716-446655440000",
          "webhookId": "a1b2c3d4-0002-0000-0000-000000000000",
          "data": [
            {
              "markdown": "# Example Page\n\nThis is the page content.",
              "metadata": {
                "title": "Example Page",
                "description": "An example page.",
                "sourceURL": "https://example.com/page",
                "statusCode": 200
              }
            }
          ],
          "metadata": {}
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Return any `2xx` status code to acknowledge receipt."
    }
  }
}
```
