> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Limites de débit

> Limites de débit selon les forfaits et les requêtes API

Les limites de débit plafonnent le nombre de requêtes que votre équipe peut effectuer par minute, tandis que les limites de concurrence plafonnent le nombre de jobs pouvant s’exécuter en parallèle. Les deux sont définies par votre offre. Lorsque vous dépassez une limite de débit ou de concurrence, l’API renvoie une réponse `429`. Consultez [Erreurs](/fr/api-reference/errors) pour la liste complète des erreurs et un exemple de nouvelle tentative avec backoff exponentiel.

<div id="billing-model">
  ## Modèle de facturation
</div>

Firecrawl utilise des abonnements mensuels. Il n’existe pas de modèle de paiement à l'usage, mais la **fonction de rechargement automatique** offre une mise à l’échelle flexible. Une fois que vous avez souscrit à une offre, vous pouvez acheter automatiquement des crédits supplémentaires lorsque vous passez sous un certain seuil. Les packs de rechargement automatique plus importants offrent de meilleurs tarifs. Pour tester avant de vous engager sur une offre de niveau supérieur, commencez par l’offre Free ou Hobby.

Les changements vers une offre inférieure prennent effet au prochain renouvellement. Aucun avoir correspondant au temps non utilisé n’est émis.

<div id="concurrent-browser-limits">
  ## Limites de navigateurs concurrents
</div>

Les navigateurs concurrents déterminent le nombre de pages que Firecrawl peut traiter pour vous en parallèle. Votre offre fixe la limite ; les tâches au-delà de celle-ci patienteront dans une file d’attente jusqu’à ce qu’un navigateur se libère.

Le temps passé dans la file d’attente est décompté du paramètre [`timeout`](/fr/advanced-scraping-guide#timing-and-cache) de la requête, vous pouvez donc définir un délai d’expiration plus court pour provoquer un échec rapide plutôt que d’attendre. Pour vérifier la disponibilité actuelle avant d’envoyer une tâche, appelez l’endpoint [Queue Status](/fr/api-reference/endpoint/queue-status). Les tâches en attente dans votre file d’attente de concurrence expireront au maximum après 48 heures.

### offre actuelle

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>offre</th>
        <th style={{ padding: '8px 12px' }}>Navigateurs concurrents</th>
        <th style={{ padding: '8px 12px' }}>Nombre maximal de tâches en file d’attente</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Free</td>
        <td style={{ padding: '8px 12px' }}>2</td>
        <td style={{ padding: '8px 12px' }}>50,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Hobby</td>
        <td style={{ padding: '8px 12px' }}>5</td>
        <td style={{ padding: '8px 12px' }}>50,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Standard</td>
        <td style={{ padding: '8px 12px' }}>50</td>
        <td style={{ padding: '8px 12px' }}>100,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Growth</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>200,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Scale / Enterprise</td>
        <td style={{ padding: '8px 12px' }}>150+</td>
        <td style={{ padding: '8px 12px' }}>300,000+</td>
      </tr>
    </tbody>
  </table>
</div>

Chaque équipe a un nombre maximal de tâches pouvant attendre dans la file d’attente de concurrence. Si vous dépassez cette limite, les nouvelles tâches seront rejetées avec un code d’état `429` jusqu’à ce que les tâches existantes soient terminées. Pour les offres plus élevées avec des limites de concurrence personnalisées, le nombre maximal de tâches en file d’attente est égal à 2 000 fois votre limite de concurrence, avec un plafond de 2 000 000.

Si vous avez besoin de limites de concurrence plus élevées, [contactez-nous pour les offres Enterprise](https://firecrawl.dev/enterprise).

### offre Extract (ancien)

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>offre</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>Navigateurs concurrents</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>Nombre maximal de tâches en file d’attente</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Free</td>
        <td style={{ padding: '8px 12px' }}>2</td>
        <td style={{ padding: '8px 12px' }}>50,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Starter</td>
        <td style={{ padding: '8px 12px' }}>50</td>
        <td style={{ padding: '8px 12px' }}>100,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Explorer</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>200,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Pro</td>
        <td style={{ padding: '8px 12px' }}>200</td>
        <td style={{ padding: '8px 12px' }}>400,000</td>
      </tr>
    </tbody>
  </table>
</div>

<div id="api-rate-limits">
  ## Limites de débit de l'API
</div>

Les limites de débit sont mesurées en requêtes par minute et servent principalement à prévenir les abus. Lorsqu’elles sont correctement configurées, votre véritable goulot d’étranglement sera le nombre de navigateurs concurrents. Les limites de débit s’appliquent par équipe, de sorte que toutes les clés API d’une même équipe partagent les mêmes compteurs de limite de débit.

<div id="keyless-no-api-key">
  ### Sans clé (sans clé API)
</div>

Le scrape, la recherche, Interact et parse peuvent être utilisés **sans clé API** lorsque la requête provient d’un client officiel Firecrawl — le [serveur MCP](/fr/mcp-server), la [CLI](/fr/sdks/cli) ou un SDK. Les points de terminaison de recherche peuvent également être utilisés sans clé API sur Firecrawl Cloud lorsque Research Index est activé. Aucun autre point de terminaison (crawl, extraction, cartographie, extraction par lot, etc.) n’est disponible sans clé.

L’utilisation sans clé est gratuite et limitée par adresse IP et par jour selon **deux plafonds** ; le dépassement de l’un ou l’autre renvoie un `429` :

* Un nombre maximal de **requêtes** par jour.
* Un nombre maximal de **crédits** par jour. Les opérations consomment des quantités de crédits différentes (par exemple, Interact et l’extraction JSON coûtent plus qu’un scrape simple), donc une utilisation plus intensive atteint le plafond de crédits plus rapidement.

[Inscrivez-vous pour obtenir une clé API gratuite](https://firecrawl.dev) afin d’obtenir 1 000 crédits et des limites de débit plus élevées sans frais — les clients officiels utilisent automatiquement votre clé une fois configurée.

<div id="current-plans">
  ### Offres actuelles
</div>

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>Plan</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/scrape</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/map</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/crawl</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/search</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/agent</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/crawl/status</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/agent/status</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Free</td>
        <td style={{ padding: '8px 12px' }}>10</td>
        <td style={{ padding: '8px 12px' }}>10</td>
        <td style={{ padding: '8px 12px' }}>1</td>
        <td style={{ padding: '8px 12px' }}>5</td>
        <td style={{ padding: '8px 12px' }}>10</td>
        <td style={{ padding: '8px 12px' }}>1500</td>
        <td style={{ padding: '8px 12px' }}>500</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Hobby</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>15</td>
        <td style={{ padding: '8px 12px' }}>50</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>1500</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Standard</td>
        <td style={{ padding: '8px 12px' }}>500</td>
        <td style={{ padding: '8px 12px' }}>500</td>
        <td style={{ padding: '8px 12px' }}>50</td>
        <td style={{ padding: '8px 12px' }}>250</td>
        <td style={{ padding: '8px 12px' }}>500</td>
        <td style={{ padding: '8px 12px' }}>1500</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Growth</td>
        <td style={{ padding: '8px 12px' }}>5000</td>
        <td style={{ padding: '8px 12px' }}>5000</td>
        <td style={{ padding: '8px 12px' }}>250</td>
        <td style={{ padding: '8px 12px' }}>2500</td>
        <td style={{ padding: '8px 12px' }}>1000</td>
        <td style={{ padding: '8px 12px' }}>1500</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Scale</td>
        <td style={{ padding: '8px 12px' }}>7500</td>
        <td style={{ padding: '8px 12px' }}>7500</td>
        <td style={{ padding: '8px 12px' }}>750</td>
        <td style={{ padding: '8px 12px' }}>7500</td>
        <td style={{ padding: '8px 12px' }}>1000</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>
    </tbody>
  </table>
</div>

Ces limites de débit sont appliquées afin de garantir une utilisation équitable de l'API et sa disponibilité pour tous les utilisateurs. Si vous avez besoin de limites plus élevées, veuillez nous contacter à [help@firecrawl.com](mailto:help@firecrawl.com) pour discuter d'offres personnalisées.

<div id="extract-endpoints">
  ### Points de terminaison d’extraction
</div>

Les endpoints d’extraction partagent les mêmes limites de débit que les limites de débit correspondantes de `/agent`.

<div id="batch-scrape-endpoints">
  ### Endpoints d’extraction par lots
</div>

Les endpoints d’extraction par lots partagent les mêmes limites de débit que les limites de `/crawl` correspondantes.

<div id="browser-sandbox">
  ### Browser Sandbox
</div>

Les points de terminaison du Browser Sandbox ont des limites de débit par offre, qui évoluent en fonction de votre abonnement :

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>Offre</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/interact</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/interact/\{id}/execute</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Free</td>
        <td style={{ padding: '8px 12px' }}>2</td>
        <td style={{ padding: '8px 12px' }}>10</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Hobby</td>
        <td style={{ padding: '8px 12px' }}>20</td>
        <td style={{ padding: '8px 12px' }}>100</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Standard</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>500</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Growth</td>
        <td style={{ padding: '8px 12px' }}>1,000</td>
        <td style={{ padding: '8px 12px' }}>5,000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Scale</td>
        <td style={{ padding: '8px 12px' }}>1,500</td>
        <td style={{ padding: '8px 12px' }}>7,500</td>
      </tr>
    </tbody>
  </table>
</div>

En outre, l'offre de chaque équipe détermine le nombre de sessions de navigateur pouvant être actives simultanément (voir limites de navigateurs concurrents ci-dessus). Si vous dépassez cette limite, les nouvelles demandes de session renverront un code d’état `429` jusqu’à ce que les sessions existantes soient détruites.

<div id="fire-1-agent">
  ### Agent FIRE-1
</div>

Les requêtes impliquant l'agent FIRE-1 ont des limites de débit distinctes, calculées séparément pour chaque endpoint :

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>Endpoint</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>Limite de débit (requêtes/min)</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>/scrape</td>
        <td style={{ padding: '8px 12px' }}>10</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>/extract</td>
        <td style={{ padding: '8px 12px' }}>10</td>
      </tr>
    </tbody>
  </table>
</div>

<div id="extract-plans-legacy">
  ### Offres Extract (anciennes)
</div>

<div style={{ overflowX: 'auto', maxWidth: '100%' }}>
  <table style={{ width: '100%', borderCollapse: 'collapse' }}>
    <thead>
      <tr>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>Offre</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/extract (requêtes/min)</th>
        <th style={{ padding: '8px 12px', textAlign: 'left' }}>/extract/status (requêtes/min)</th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <td style={{ padding: '8px 12px' }}>Starter</td>
        <td style={{ padding: '8px 12px' }}>100</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Explorer</td>
        <td style={{ padding: '8px 12px' }}>500</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>

      <tr>
        <td style={{ padding: '8px 12px' }}>Pro</td>
        <td style={{ padding: '8px 12px' }}>1000</td>
        <td style={{ padding: '8px 12px' }}>25000</td>
      </tr>
    </tbody>
  </table>
</div>
