Passer au contenu principal
Les webhooks vous permettent de recevoir des notifications en temps réel sur la progression de vos opérations, plutôt que de sonder l’état.

Opérations prises en charge

OpérationÉvénements
Crawlstarted, page, completed
Batch Scrapestarted, page, completed
Extractstarted, completed, failed

Configuration

Ajoutez un objet webhook à votre requête :
JSON
{
  "webhook": {
    "url": "https://your-domain.com/webhook",
    "metadata": {
      "any_key": "any_value"
    },
    "events": ["start", "page", "completed", "failed"]
  }
}
ChampTypeRequisDescription
urlstringOuiL’URL de votre endpoint (HTTPS)
headersobjectNonEn-têtes personnalisés à inclure dans les requêtes du webhook
metadataobjectNonDonnées personnalisées incluses dans toutes les charges utiles du webhook
eventsarrayNonTypes d’événements à recevoir (par défaut : tous les événements)

Utilisation

Exploration avec webhook

cURL
curl -X POST https://api.firecrawl.dev/v2/crawl \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -d '{
      "url": "https://docs.firecrawl.dev",
      "limit": 100,
      "webhook": {
        "url": "https://your-domain.com/webhook",
        "metadata": {
          "any_key": "any_value"
        },
        "events": ["started", "page", "completed"]
      }
    }'

Scrape par lots avec webhook

cURL
curl -X POST https://api.firecrawl.dev/v2/batch/scrape \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_API_KEY' \
    -d '{
      "urls": [
        "https://example.com/page1",
        "https://example.com/page2",
        "https://example.com/page3"
      ],
      "webhook": {
        "url": "https://your-domain.com/webhook",
        "metadata": {
          "any_key": "any_value"
        },
        "events": ["started", "page", "completed"]
      }
    }'

Expirations & Réessais

Votre endpoint doit répondre avec un statut 2xx en 10 secondes maximum. Si la livraison échoue (expiration, statut non-2xx ou erreur réseau), Firecrawl réessaie automatiquement :
RéessaiDélai après l’échec
1er1 minute
2e5 minutes
3e15 minutes
Après 3 réessais infructueux, le webhook est marqué comme échoué et aucune autre tentative n’est effectuée.