> ## Documentation Index
> Fetch the complete documentation index at: https://student-213fb9fc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Crawl

> Remarque : Une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/crawl-post) est désormais disponible avec de nouvelles fonctionnalités et de meilleures performances.


## OpenAPI

````yaml fr/api-reference/v1-openapi.json post /crawl
openapi: 3.0.0
info:
  title: Firecrawl API
  version: v1
  description: >-
    API permettant d’interagir avec les services Firecrawl pour réaliser des
    tâches de scraping et de crawling web.
  contact:
    name: Firecrawl Support
    url: https://firecrawl.dev/support
    email: support@firecrawl.dev
servers:
  - url: https://api.firecrawl.dev/v1
security:
  - bearerAuth: []
paths:
  /crawl:
    post:
      tags:
        - Crawling
      summary: Explorer plusieurs URL en fonction des options
      operationId: crawlUrls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  format: uri
                  description: L’URL de base à partir de laquelle démarrer le crawl
                excludePaths:
                  type: array
                  items:
                    type: string
                  description: >-
                    Motifs d’expressions régulières pour les chemins d’URL qui
                    excluent de l’exploration les URL correspondantes. Par
                    exemple, si vous définissez `"excludePaths": ["blog/.*"]`
                    pour l’URL de base firecrawl.dev, tous les résultats
                    correspondant à ce motif seront exclus, comme
                    https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap.
                includePaths:
                  type: array
                  items:
                    type: string
                  description: >-
                    Expressions régulières (regex) pour les chemins d’URL à
                    inclure dans le crawl. Seuls les chemins qui correspondent
                    aux motifs spécifiés seront inclus dans la réponse. Par
                    exemple, si vous définissez `"includePaths": ["blog/.*"]`
                    pour l’URL de base firecrawl.dev, seuls les résultats
                    correspondant à ce motif seront inclus, comme
                    `https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap`.
                regexOnFullURL:
                  type: boolean
                  description: >-
                    Lorsque cette option est définie sur true, les expressions
                    régulières includePaths et excludePaths sont évaluées par
                    rapport à l’URL complète (y compris les paramètres de
                    requête), et non uniquement au chemin de l’URL. Pratique
                    lorsque vous devez filtrer des URL en fonction des chaînes
                    de requête.
                  default: false
                maxDepth:
                  type: integer
                  description: >-
                    Profondeur absolue maximale à explorer à partir de la base
                    de l’URL saisie. En pratique, il s’agit du nombre maximal de
                    barres obliques que peut contenir le chemin (pathname) d’une
                    URL explorée.
                  default: 10
                maxDiscoveryDepth:
                  type: integer
                  description: >-
                    Profondeur maximale d’exploration basée sur l’ordre de
                    découverte. Le site racine et les pages issues du sitemap
                    ont une profondeur de découverte de 0. Par exemple, si vous
                    la définissez à 1 et que vous activez ignoreSitemap, seules
                    l’URL saisie et toutes les URL liées depuis cette page
                    seront explorées.
                ignoreSitemap:
                  type: boolean
                  description: Ignorer le sitemap du site lors du crawl
                  default: false
                ignoreQueryParameters:
                  type: boolean
                  description: >-
                    Ne relancez pas le scraping du même chemin avec des
                    paramètres de requête différents (ou sans aucun paramètre)
                  default: false
                limit:
                  type: integer
                  description: >-
                    Nombre maximal de pages à explorer. La limite par défaut est
                    de 10 000.
                  default: 10000
                allowBackwardLinks:
                  type: boolean
                  description: >-
                    ⚠️ OBSOLÈTE : utilisez plutôt « crawlEntireDomain ». Permet
                    au robot d'exploration de suivre les liens internes vers des
                    URL au même niveau ou parentes, et pas seulement vers des
                    chemins enfants.
                  default: false
                  deprecated: true
                crawlEntireDomain:
                  type: boolean
                  description: >-
                    Permet au crawler de suivre les liens internes vers des URL
                    au même niveau ou de niveau supérieur, et pas seulement des
                    chemins enfants.


                    false : Explore uniquement les URL plus profondes (enfants).

                    → ex. /features/feature-1 → /features/feature-1/tips ✅

                    → Ne suivra pas /pricing ou / ❌


                    true : Explore tous les liens internes, y compris les URL au
                    même niveau et de niveau supérieur.

                    → ex. /features/feature-1 → /pricing, /, etc. ✅


                    Utilisez true pour une couverture interne plus large,
                    au‑delà des chemins imbriqués.
                  default: false
                allowExternalLinks:
                  type: boolean
                  description: >-
                    Permet au crawler de suivre des liens pointant vers des
                    sites web externes.
                  default: false
                allowSubdomains:
                  type: boolean
                  description: >-
                    Permet au crawler de suivre les liens vers les sous-domaines
                    du domaine principal.
                  default: false
                delay:
                  type: number
                  description: >-
                    Intervalle en secondes entre deux opérations de scraping.
                    Cela permet de respecter les limites de fréquence des sites
                    web.
                maxConcurrency:
                  type: integer
                  description: >-
                    Nombre maximal d’opérations de scraping simultanées. Ce
                    paramètre vous permet de définir une limite de parallélisme
                    pour ce crawl. S’il n’est pas spécifié, le crawl respecte la
                    limite de parallélisme de votre équipe.
                webhook:
                  type: object
                  description: Objet de spécification de webhook.
                  properties:
                    url:
                      type: string
                      description: >-
                        L’URL à laquelle envoyer le webhook. Il sera déclenché
                        au démarrage du crawl (crawl.started), pour chaque page
                        explorée (crawl.page) et lorsque le crawl est terminé
                        (crawl.completed ou crawl.failed). La réponse sera
                        identique à celle de l’endpoint `/scrape`.
                    headers:
                      type: object
                      description: En-têtes à envoyer à l’URL du webhook.
                      additionalProperties:
                        type: string
                    metadata:
                      type: object
                      description: >-
                        Métadonnées personnalisées qui seront incluses dans tous
                        les payloads de webhook de ce crawl
                      additionalProperties: true
                    events:
                      type: array
                      description: >-
                        Type d’événements à envoyer à l’URL du webhook. (par
                        défaut : tous)
                      items:
                        type: string
                        enum:
                          - completed
                          - page
                          - failed
                          - started
                  required:
                    - url
                scrapeOptions:
                  $ref: '#/components/schemas/ScrapeOptions'
                zeroDataRetention:
                  type: boolean
                  default: false
                  description: >-
                    Si cette valeur est définie sur true, aucune donnée ne sera
                    conservée pour ce crawl. Pour activer cette fonctionnalité,
                    veuillez contacter help@firecrawl.dev.
              required:
                - url
      responses:
        '200':
          description: Réponse en cas de succès
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CrawlResponse'
        '402':
          description: Paiement requis
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
        '429':
          description: Trop de requêtes
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Request rate limit exceeded. Please wait and try again
                      later.
        '500':
          description: Erreur du serveur
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: An unexpected error occurred on the server.
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      allOf:
        - $ref: '#/components/schemas/BaseScrapeOptions'
        - type: object
          properties:
            formats:
              type: array
              items:
                type: string
                enum:
                  - markdown
                  - html
                  - rawHtml
                  - links
                  - screenshot
                  - screenshot@fullPage
                  - json
                  - changeTracking
              description: Formats à inclure dans le résultat.
              default:
                - markdown
            changeTrackingOptions:
              type: object
              description: >-
                Options de suivi des modifications (bêta). Applicable uniquement
                lorsque « changeTracking » est inclus dans les formats. Le
                format « markdown » doit également être spécifié lors de
                l’utilisation du suivi des modifications.
              properties:
                modes:
                  type: array
                  items:
                    type: string
                    enum:
                      - git-diff
                      - json
                  description: >-
                    Le mode à utiliser pour le suivi des modifications. «
                    git-diff » fournit un diff détaillé, et « json » compare les
                    données JSON extraites.
                schema:
                  type: object
                  description: >-
                    Schéma pour l’extraction JSON lors de l’utilisation du mode
                    « json ». Définit la structure des données à extraire et à
                    comparer. Doit être conforme à [JSON
                    Schema](https://json-schema.org/).
                prompt:
                  type: string
                  description: >-
                    Prompt à utiliser pour le suivi des modifications lors de
                    l’utilisation du mode « json ». S’il n’est pas renseigné, le
                    prompt par défaut sera utilisé.
                tag:
                  type: string
                  nullable: true
                  default: null
                  description: >-
                    Tag à utiliser pour le suivi des modifications. Les tags
                    peuvent séparer l’historique de suivi des modifications en «
                    branches » distinctes, où le suivi des modifications avec un
                    tag spécifique ne comparera qu’avec les scrapes effectués
                    avec le même tag. Si aucun tag n’est fourni, le tag par
                    défaut (null) sera utilisé.
    CrawlResponse:
      type: object
      properties:
        success:
          type: boolean
        id:
          type: string
        url:
          type: string
          format: uri
    BaseScrapeOptions:
      type: object
      properties:
        onlyMainContent:
          type: boolean
          description: >-
            Renvoyer uniquement le contenu principal de la page, en excluant les
            en-têtes, éléments de navigation, pieds de page, etc.
          default: true
        includeTags:
          type: array
          items:
            type: string
          description: Balises à inclure dans la sortie.
        excludeTags:
          type: array
          items:
            type: string
          description: Balises à exclure du résultat.
        maxAge:
          type: integer
          description: >-
            Renvoie une version mise en cache de la page si elle a moins que
            cette ancienneté (en millisecondes). Si une version mise en cache de
            la page est plus ancienne que cette valeur, la page sera à nouveau
            scrapée. Si vous n’avez pas besoin de données extrêmement récentes,
            activer cette option peut accélérer vos opérations de scraping
            jusqu’à 500 %. La valeur par défaut est 0, ce qui désactive la mise
            en cache.
          default: 0
        headers:
          type: object
          description: >-
            En-têtes à envoyer avec la requête. Peuvent servir à envoyer des
            cookies, l’en-tête User-Agent, etc.
        waitFor:
          type: integer
          description: >-
            Spécifiez un délai, en millisecondes, avant de récupérer le contenu,
            afin de laisser à la page suffisamment de temps pour se charger.
          default: 0
        mobile:
          type: boolean
          description: >-
            Mettez cette option à true si vous souhaitez simuler le scraping
            depuis un appareil mobile. Utile pour tester les pages responsive et
            prendre des captures d’écran mobiles.
          default: false
        skipTlsVerification:
          type: boolean
          description: >-
            Ignorer la vérification des certificats TLS lors de l’envoi de
            requêtes
          default: false
        timeout:
          type: integer
          description: Délai d'attente de la requête en millisecondes
          default: 30000
        parsePDF:
          type: boolean
          description: >-
            Contrôle la façon dont les fichiers PDF sont traités lors du
            scraping. Lorsque cette option est activée (true), le contenu du PDF
            est extrait et converti au format markdown, avec une facturation
            basée sur le nombre de pages (1 crédit par page). Lorsque cette
            option est désactivée (false), le fichier PDF est renvoyé sous forme
            de base64 avec un tarif forfaitaire de 1 crédit au total.
          default: true
        jsonOptions:
          type: object
          description: Objet JSON d’options
          properties:
            schema:
              type: object
              description: >-
                Le schéma d’extraction à utiliser (facultatif). Doit être
                conforme à la spécification [JSON
                Schema](https://json-schema.org/).
            systemPrompt:
              type: string
              description: Le prompt système à utiliser pour l'extraction (optionnel)
            prompt:
              type: string
              description: Le prompt à utiliser pour l’extraction sans schéma (optionnel)
        actions:
          type: array
          description: Actions à effectuer sur la page avant de récupérer le contenu
          items:
            oneOf:
              - type: object
                title: Wait
                properties:
                  type:
                    type: string
                    enum:
                      - wait
                    description: Attendre un nombre donné de millisecondes
                  milliseconds:
                    type: integer
                    minimum: 1
                    description: Nombre de millisecondes d'attente
                  selector:
                    type: string
                    description: Sélecteur de requête permettant de trouver l’élément par
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Screenshot
                properties:
                  type:
                    type: string
                    enum:
                      - screenshot
                    description: >-
                      Prenez une capture d’écran. Les liens seront disponibles
                      dans le tableau `actions.screenshots` de la réponse.
                  fullPage:
                    type: boolean
                    description: >-
                      Indique s’il faut effectuer une capture d’écran de la page
                      entière ou la limiter à la zone d’affichage actuelle
                      (viewport).
                    default: false
                  quality:
                    type: integer
                    description: >-
                      La qualité de la capture d’écran, allant de 1 à 100. 100
                      correspond à la qualité la plus élevée.
                required:
                  - type
              - type: object
                title: Click
                properties:
                  type:
                    type: string
                    enum:
                      - click
                    description: Cliquez sur un élément
                  selector:
                    type: string
                    description: Sélecteur CSS pour trouver l’élément par
                    example: '#load-more-button'
                  all:
                    type: boolean
                    description: >-
                      Clique sur tous les éléments correspondant au sélecteur,
                      et pas uniquement le premier. Ne génère pas d’erreur si
                      aucun élément ne correspond au sélecteur.
                    default: false
                required:
                  - type
                  - selector
              - type: object
                title: Write text
                properties:
                  type:
                    type: string
                    enum:
                      - write
                    description: >-
                      Saisir du texte dans un champ de saisie, une zone de texte
                      ou un élément contenteditable. Remarque : vous devez
                      d’abord placer le focus sur l’élément à l’aide d’une
                      action de « clic » avant de saisir le texte. Le texte sera
                      entré caractère par caractère pour simuler une saisie au
                      clavier.
                  text:
                    type: string
                    description: Texte à saisir
                    example: Hello, world!
                required:
                  - type
                  - text
              - type: object
                title: Press a key
                description: >-
                  Appuyez sur une touche sur cette page. Voir
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  pour la liste des codes de touches.
                properties:
                  type:
                    type: string
                    enum:
                      - press
                    description: Appuyez sur une touche du clavier
                  key:
                    type: string
                    description: Touche à presser
                    example: Enter
                required:
                  - type
                  - key
              - type: object
                title: Scroll
                properties:
                  type:
                    type: string
                    enum:
                      - scroll
                    description: Faire défiler la page ou un élément spécifique
                  direction:
                    type: string
                    enum:
                      - up
                      - down
                    description: Sens de défilement
                    default: down
                  selector:
                    type: string
                    description: Sélecteur CSS de l’élément à faire défiler
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Scrape
                properties:
                  type:
                    type: string
                    enum:
                      - scrape
                    description: >-
                      Extrait le contenu de la page actuelle et renvoie l’URL et
                      le HTML.
                required:
                  - type
              - type: object
                title: Execute JavaScript
                properties:
                  type:
                    type: string
                    enum:
                      - executeJavascript
                    description: Exécuter du code JavaScript sur la page
                  script:
                    type: string
                    description: Code JavaScript à exécuter
                    example: document.querySelector('.button').click();
                required:
                  - type
                  - script
              - type: object
                title: Generate PDF
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                    description: >-
                      Générer un PDF de la page actuelle. Le PDF sera renvoyé
                      dans le tableau `actions.pdfs` de la réponse.
                  format:
                    type: string
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    description: Le format de page du PDF généré
                    default: Letter
                  landscape:
                    type: boolean
                    description: Indique s’il faut générer le PDF au format paysage
                    default: false
                  scale:
                    type: number
                    description: Le facteur d’échelle du PDF généré
                    default: 1
                required:
                  - type
        location:
          type: object
          description: >-
            Paramètre de localisation de la requête. Lorsqu’il est spécifié, un
            proxy approprié est utilisé si disponible et la langue ainsi que le
            fuseau horaire correspondants sont émulés. Par défaut, « US » est
            utilisé si aucun paramètre n’est spécifié.
          properties:
            country:
              type: string
              description: >-
                Code de pays ISO 3166-1 alpha-2 (par ex. « US », « AU », « DE »,
                « JP »)
              pattern: ^[A-Z]{2}$
              default: US
            languages:
              type: array
              description: >-
                Langues et paramètres régionaux préférés pour la requête, par
                ordre de priorité. Par défaut, la langue de l’emplacement
                spécifié est utilisée. Voir
                https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
              items:
                type: string
                example: en-US
        removeBase64Images:
          type: boolean
          description: >-
            Supprime toutes les images encodées en base64 de la sortie, qui
            peuvent être extrêmement longues. Le texte alternatif de l’image est
            conservé dans la sortie, mais l’URL est remplacée par un
            placeholder.
          default: true
        blockAds:
          type: boolean
          description: Active le blocage des publicités et des bannières de cookies.
          default: true
        proxy:
          type: string
          enum:
            - basic
            - enhanced
            - auto
          description: "Spécifie le type de proxy à utiliser.\n\n - **basic**\0a0: Proxys pour le scraping de sites sans protection anti-bot ou avec des protections basiques. Rapide et généralement fiable.\n - **enhanced**\0a0: Proxys avancés pour le scraping de sites avec des solutions anti-bot sophistiquées. Plus lents, mais plus fiables sur certains sites. Coût pouvant aller jusqu’à 5 crédits par requête.\n - **auto**\0a0: Firecrawl réessaie automatiquement le scraping avec des proxys enhanced si le proxy basic échoue. Si le nouvel essai avec enhanced réussit, 5 crédits seront facturés pour l’opération de scraping. Si la première tentative avec basic réussit, seul le coût normal sera facturé.\n\nSi vous ne spécifiez pas de proxy, Firecrawl utilisera basic par défaut."
        storeInCache:
          type: boolean
          description: >-
            Si ce paramètre est défini sur true, la page sera stockée dans
            l’index et le cache de Firecrawl. Le définir sur false est utile si
            votre activité de scraping peut soulever des enjeux de protection
            des données. L’utilisation de certains paramètres associés à un
            scraping sensible (actions, en-têtes) forcera ce paramètre à false.
          default: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````