> ## 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.

# Scrape

> Remarque : une nouvelle [version v2 de cette API](/fr/api-reference/endpoint/scrape) est désormais disponible avec des fonctionnalités et des performances améliorées.


## OpenAPI

````yaml fr/api-reference/v1-openapi.json POST /scrape
openapi: 3.0.0
info:
  contact:
    email: support@firecrawl.dev
    name: Firecrawl Support
    url: https://firecrawl.dev/support
  description: >-
    API permettant d’interagir avec les services Firecrawl pour réaliser des
    tâches de scraping et de crawling web.
  title: Firecrawl API
  version: v1
servers:
  - url: https://api.firecrawl.dev/v1
security:
  - bearerAuth: []
paths:
  /scrape:
    post:
      tags:
        - Scraping
      summary: >-
        Récupérez le contenu d’une seule URL et, éventuellement, extrayez des
        informations à l’aide d’un LLM
      operationId: scrapeAndExtractFromUrl
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - properties:
                    url:
                      description: L’URL à explorer
                      format: uri
                      type: string
                  required:
                    - url
                  type: object
                - $ref: '#/components/schemas/ScrapeOptions'
                - properties:
                    zeroDataRetention:
                      default: false
                      description: >-
                        Si cette valeur est définie sur true, cela activera
                        l’absence de conservation des données pour cette
                        opération de scraping. Pour activer cette
                        fonctionnalité, veuillez contacter help@firecrawl.dev
                      type: boolean
                  type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScrapeResponse'
          description: Réponse réussie
        '402':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Payment required to access this resource.
                    type: string
                type: object
          description: Paiement requis
        '429':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: >-
                      Request rate limit exceeded. Please wait and try again
                      later.
                    type: string
                type: object
          description: Trop de requêtes
        '500':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: An unexpected error occurred on the server.
                    type: string
                type: object
          description: Erreur du serveur
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      allOf:
        - $ref: '#/components/schemas/BaseScrapeOptions'
        - properties:
            changeTrackingOptions:
              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:
                  description: >-
                    Le mode à utiliser pour le suivi des modifications. «
                    git-diff » fournit un diff détaillé, et « json » compare les
                    données JSON extraites.
                  items:
                    enum:
                      - git-diff
                      - json
                    type: string
                  type: array
                prompt:
                  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é.
                  type: string
                schema:
                  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/).
                  type: object
                tag:
                  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é.
                  nullable: true
                  type: string
              type: object
            formats:
              default:
                - markdown
              description: Formats à inclure dans le résultat.
              items:
                enum:
                  - markdown
                  - html
                  - rawHtml
                  - links
                  - screenshot
                  - screenshot@fullPage
                  - json
                  - changeTracking
                type: string
              type: array
          type: object
    ScrapeResponse:
      properties:
        data:
          properties:
            actions:
              description: >-
                Résultats des actions spécifiées dans le paramètre `actions`.
                Uniquement présent si le paramètre `actions` a été fourni dans
                la requête
              nullable: true
              properties:
                javascriptReturns:
                  description: >-
                    Valeurs de retour JavaScript, dans le même ordre que les
                    actions executeJavascript spécifiées.
                  items:
                    properties:
                      type:
                        type: string
                      value: {}
                    type: object
                  type: array
                pdfs:
                  description: >-
                    PDF générés, dans le même ordre que les actions PDF
                    fournies.
                  items:
                    type: string
                  type: array
                scrapes:
                  description: >-
                    Extraire le contenu dans le même ordre que les actions de
                    scraping fournies.
                  items:
                    properties:
                      html:
                        type: string
                      url:
                        type: string
                    type: object
                  type: array
                screenshots:
                  description: >-
                    URLs des captures d’écran, dans le même ordre que les
                    actions de capture d’écran fournies. Les captures d’écran
                    expirent après 24 heures et ne sont alors plus
                    téléchargeables.
                  items:
                    format: url
                    type: string
                  type: array
              type: object
            changeTracking:
              description: >-
                Informations de suivi des modifications si `changeTracking`
                figure dans `formats`. Ces informations ne sont présentes que
                lorsque le format `changeTracking` est demandé.
              nullable: true
              properties:
                changeStatus:
                  description: >-
                    Le résultat de la comparaison entre les deux versions de la
                    page. « new » signifie que cette page n’existait pas
                    auparavant, « same » signifie que le contenu est inchangé, «
                    changed » signifie que le contenu a changé, « removed »
                    signifie que la page a été supprimée.
                  enum:
                    - new
                    - same
                    - changed
                    - removed
                  type: string
                diff:
                  description: >-
                    Diff au format Git des modifications lors de l’utilisation
                    du mode « git-diff ». Présent uniquement lorsque le mode est
                    défini sur « git-diff ».
                  nullable: true
                  type: string
                json:
                  description: >-
                    Résultats de comparaison JSON lors de l’utilisation du mode
                    `json`. Uniquement disponible lorsque le mode est défini sur
                    `json`. Retourne une liste de toutes les clés et de leurs
                    valeurs issues des extractions `previous` et `current`, en
                    fonction du type défini dans le `schema`. Exemple
                    [ici](/features/change-tracking)
                  nullable: true
                  type: object
                previousScrapeAt:
                  description: >-
                    L’horodatage du scraping précédent auquel la page actuelle
                    est comparée. Null s’il n’existe aucun scraping précédent.
                  format: date-time
                  nullable: true
                  type: string
                visibility:
                  description: >-
                    La visibilité de la page/URL actuelle. « visible » signifie
                    que l’URL a été découverte de manière organique (liens ou
                    sitemap), « hidden » signifie que l’URL a été découverte
                    grâce à la mémoire de crawls précédents.
                  enum:
                    - visible
                    - hidden
                  type: string
              type: object
            html:
              description: >-
                HTML nettoyé de la page, si `html` est inclus dans `formats`.
                Supprime les balises `<script>`, `<style>`, `<noscript>`,
                `<meta>` et `<head>` ; convertit les URL relatives en URL
                absolues ; résout les images responsives définies avec `srcset`
                vers leur version la plus grande. Tient compte des filtres
                `onlyMainContent`, `includeTags` et `excludeTags`.
              nullable: true
              type: string
            links:
              description: >-
                Liste des liens présents sur la page si `links` figure dans
                `formats`
              items:
                type: string
              type: array
            llm_extraction:
              description: >-
                Affiché lors de l’utilisation de l’extraction LLM. Données
                extraites de la page selon le schéma défini.
              nullable: true
              type: object
            markdown:
              type: string
            metadata:
              properties:
                '<any other metadata> ':
                  type: string
                description:
                  type: string
                error:
                  description: Le message d’erreur de la page
                  nullable: true
                  type: string
                keywords:
                  description: >-
                    Mots-clés extraits de la page, peuvent être représentés sous
                    forme de chaîne ou de tableau de chaînes de caractères
                  oneOf:
                    - type: string
                    - items:
                        type: string
                      type: array
                language:
                  nullable: true
                  type: string
                numPages:
                  description: >-
                    Pour les fichiers PDF en entrée, le nombre de pages
                    analysées (limité par l’option maxPages des parseurs).
                  type: integer
                ogLocaleAlternate:
                  description: Autres paramètres régionaux de la page
                  items:
                    type: string
                  type: array
                sourceURL:
                  format: uri
                  type: string
                statusCode:
                  description: Le code d’état HTTP de la page
                  type: integer
                title:
                  type: string
                totalPages:
                  description: "Pour les fichiers PDF en entrée, le nombre réel de pages du document avant toute limitation par maxPages. Ce champ est omis lorsqu’il ne peut pas être déterminé\_; une valeur totalPages supérieure à numPages indique que le résultat a été tronqué."
                  type: integer
              type: object
            rawHtml:
              description: >-
                Le code HTML exact et non modifié tel que reçu de la page si
                `rawHtml` est inclus dans `formats`. Aucun nettoyage ni filtrage
                n’est appliqué.
              nullable: true
              type: string
            screenshot:
              description: >-
                Capture d’écran de la page si `screenshot` fait partie de
                `formats`. Les captures d’écran expirent après 24 heures et ne
                peuvent plus être téléchargées.
              nullable: true
              type: string
            warning:
              description: >-
                Peut s’afficher lors de l’utilisation de l’extraction LLM. Un
                message d’avertissement vous signalera tout problème lié à
                l’extraction.
              nullable: true
              type: string
          type: object
        success:
          type: boolean
      type: object
    BaseScrapeOptions:
      properties:
        actions:
          description: Actions à effectuer sur la page avant de récupérer le contenu
          items:
            oneOf:
              - properties:
                  milliseconds:
                    description: Nombre de millisecondes d'attente
                    minimum: 1
                    type: integer
                  selector:
                    description: Sélecteur de requête permettant de trouver l’élément par
                    example: '#my-element'
                    type: string
                  type:
                    description: Attendre un nombre donné de millisecondes
                    enum:
                      - wait
                    type: string
                required:
                  - type
                title: Wait
                type: object
              - properties:
                  fullPage:
                    default: false
                    description: >-
                      Indique s’il faut effectuer une capture d’écran de la page
                      entière ou la limiter à la zone d’affichage actuelle
                      (viewport).
                    type: boolean
                  quality:
                    description: >-
                      La qualité de la capture d’écran, allant de 1 à 100. 100
                      correspond à la qualité la plus élevée.
                    type: integer
                  type:
                    description: >-
                      Prenez une capture d’écran. Les liens seront disponibles
                      dans le tableau `actions.screenshots` de la réponse.
                    enum:
                      - screenshot
                    type: string
                required:
                  - type
                title: Screenshot
                type: object
              - properties:
                  all:
                    default: false
                    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.
                    type: boolean
                  selector:
                    description: Sélecteur CSS pour trouver l’élément par
                    example: '#load-more-button'
                    type: string
                  type:
                    description: Cliquez sur un élément
                    enum:
                      - click
                    type: string
                required:
                  - type
                  - selector
                title: Click
                type: object
              - properties:
                  text:
                    description: Texte à saisir
                    example: Hello, world!
                    type: string
                  type:
                    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.
                    enum:
                      - write
                    type: string
                required:
                  - type
                  - text
                title: Write text
                type: object
              - 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:
                  key:
                    description: Touche à presser
                    example: Enter
                    type: string
                  type:
                    description: Appuyez sur une touche du clavier
                    enum:
                      - press
                    type: string
                required:
                  - type
                  - key
                title: Press a key
                type: object
              - properties:
                  direction:
                    default: down
                    description: Sens de défilement
                    enum:
                      - up
                      - down
                    type: string
                  selector:
                    description: Sélecteur CSS de l’élément à faire défiler
                    example: '#my-element'
                    type: string
                  type:
                    description: Faire défiler la page ou un élément spécifique
                    enum:
                      - scroll
                    type: string
                required:
                  - type
                title: Scroll
                type: object
              - properties:
                  type:
                    description: >-
                      Extrait le contenu de la page actuelle et renvoie l’URL et
                      le HTML.
                    enum:
                      - scrape
                    type: string
                required:
                  - type
                title: Scrape
                type: object
              - properties:
                  script:
                    description: Code JavaScript à exécuter
                    example: document.querySelector('.button').click();
                    type: string
                  type:
                    description: Exécuter du code JavaScript sur la page
                    enum:
                      - executeJavascript
                    type: string
                required:
                  - type
                  - script
                title: Execute JavaScript
                type: object
              - properties:
                  format:
                    default: Letter
                    description: Le format de page du PDF généré
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    type: string
                  landscape:
                    default: false
                    description: Indique s’il faut générer le PDF au format paysage
                    type: boolean
                  scale:
                    default: 1
                    description: Le facteur d’échelle du PDF généré
                    type: number
                  type:
                    description: >-
                      Générer un PDF de la page actuelle. Le PDF sera renvoyé
                      dans le tableau `actions.pdfs` de la réponse.
                    enum:
                      - pdf
                    type: string
                required:
                  - type
                title: Generate PDF
                type: object
          type: array
        blockAds:
          default: true
          description: Active le blocage des publicités et des bannières de cookies.
          type: boolean
        excludeTags:
          description: Balises à exclure du résultat.
          items:
            type: string
          type: array
        headers:
          description: >-
            En-têtes à envoyer avec la requête. Peuvent servir à envoyer des
            cookies, l’en-tête User-Agent, etc.
          type: object
        includeTags:
          description: Balises à inclure dans la sortie.
          items:
            type: string
          type: array
        jsonOptions:
          description: Objet JSON d’options
          properties:
            prompt:
              description: Le prompt à utiliser pour l’extraction sans schéma (optionnel)
              type: string
            schema:
              description: >-
                Le schéma d’extraction à utiliser (facultatif). Doit être
                conforme à la spécification [JSON
                Schema](https://json-schema.org/).
              type: object
            systemPrompt:
              description: Le prompt système à utiliser pour l'extraction (optionnel)
              type: string
          type: object
        location:
          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:
              default: US
              description: >-
                Code de pays ISO 3166-1 alpha-2 (par ex. « US », « AU », « DE »,
                « JP »)
              pattern: ^[A-Z]{2}$
              type: string
            languages:
              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:
                example: en-US
                type: string
              type: array
          type: object
        maxAge:
          default: 0
          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.
          type: integer
        mobile:
          default: false
          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.
          type: boolean
        onlyMainContent:
          default: true
          description: >-
            Renvoyer uniquement le contenu principal de la page, en excluant les
            en-têtes, éléments de navigation, pieds de page, etc.
          type: boolean
        parsePDF:
          default: true
          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.
          type: boolean
        proxy:
          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."
          enum:
            - basic
            - enhanced
            - auto
          type: string
        removeBase64Images:
          default: true
          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.
          type: boolean
        skipTlsVerification:
          default: false
          description: >-
            Ignorer la vérification des certificats TLS lors de l’envoi de
            requêtes
          type: boolean
        storeInCache:
          default: true
          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.
          type: boolean
        threatProtection:
          $ref: '#/components/schemas/ThreatProtectionOverride'
        timeout:
          default: 30000
          description: Délai d'attente de la requête en millisecondes
          type: integer
        waitFor:
          default: 0
          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.
          type: integer
      type: object
    ThreatProtectionOverride:
      description: >-
        Dérogation par requête à la [Protection contre les
        menaces](https://docs.firecrawl.dev/features/threat-protection). Les
        champs que vous fournissez remplacent les champs correspondants de la
        politique de votre organisation pour cette requête uniquement ; les
        champs omis conservent leurs valeurs définies au niveau de
        l’organisation. La Protection contre les menaces doit être activée pour
        votre équipe (fonctionnalité Enterprise) — sinon, la requête est rejetée
        avec un code 403. Si votre organisation a désactivé les dérogations par
        requête, toute requête incluant cet objet est rejetée avec un code 403.
        Si la Protection contre les menaces est imposée pour votre équipe,
        `mode` ne peut pas être défini sur `off`.
      properties:
        blacklist:
          description: >-
            Domaines à toujours bloquer, sous forme de domaines simples
            (`example.com`) ou de jokers (`*.example.com`). Sans protocole,
            chemin ni port.
          items:
            type: string
          maxItems: 1000
          type: array
        blockedTlds:
          description: >-
            Domaines de premier niveau à bloquer systématiquement, en minuscules
            et sans le point initial (par ex. `zip`).
          items:
            type: string
          maxItems: 1000
          type: array
        failurePolicy:
          description: >-
            Comportement à adopter lorsque le classifier est inaccessible :
            `closed` bloque la requête, `open` l’autorise.
          enum:
            - open
            - closed
          type: string
        mode:
          description: >-
            Mode d’analyse des URL pour cette requête. `normal` vérifie les URL
            via Google Web Risk (+2 crédits par URL vérifiée).
          enum:
            - 'off'
            - normal
          type: string
        riskScoreThreshold:
          description: >-
            Score de risque normalisé (0–100) à partir duquel le verdict d’un
            classificateur bloque l’URL. Plus il est faible, plus le seuil est
            strict.
          example: 75
          maximum: 100
          minimum: 0
          type: integer
        whitelist:
          description: >-
            Domaines à toujours autoriser, sous forme de domaines simples ou de
            jokers. Cette règle prévaut sur toutes les autres.
          items:
            type: string
          maxItems: 1000
          type: array
      title: Threat Protection Override
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````