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

# Recherche

L'endpoint de recherche combine la recherche web avec les capacités de scraping de Firecrawl pour renvoyer le contenu complet des pages pour n'importe quelle requête.

Incluez `scrapeOptions` avec `formats: [{"type": "markdown"}]` pour obtenir le contenu markdown complet pour chaque résultat de recherche ; sinon, vous recevrez par défaut les résultats (URL, title, description). Vous pouvez également utiliser d'autres formats comme `{"type": "summary"}` pour un contenu condensé.

<div id="supported-query-operators">
  ## Opérateurs de requête pris en charge
</div>

Nous prenons en charge une variété d’opérateurs de requête qui vous permettent de mieux filtrer vos recherches.

| Opérateur     | Fonctionnalité                                                                    | Exemples                          |
| ------------- | --------------------------------------------------------------------------------- | --------------------------------- |
| `""`          | Correspondance exacte (non floue) d’une chaîne de texte                           | `"Firecrawl"`                     |
| `-`           | Exclut certains mots-clés ou annule d’autres opérateurs                           | `-bad`, `-site:firecrawl.dev`     |
| `site:`       | Ne renvoie que les résultats d’un site web spécifié                               | `site:firecrawl.dev`              |
| `filetype:`   | Ne renvoie que les résultats avec une extension de fichier spécifique             | `filetype:pdf`, `-filetype:pdf`   |
| `inurl:`      | Ne renvoie que les résultats qui incluent un mot dans l’URL                       | `inurl:firecrawl`                 |
| `allinurl:`   | Ne renvoie que les résultats qui incluent plusieurs mots dans l’URL               | `allinurl:git firecrawl`          |
| `intitle:`    | Ne renvoie que les résultats qui incluent un mot dans le titre de la page         | `intitle:Firecrawl`               |
| `allintitle:` | Ne renvoie que les résultats qui incluent plusieurs mots dans le titre de la page | `allintitle:firecrawl playground` |
| `related:`    | Ne renvoie que les résultats liés à un domaine spécifique                         | `related:firecrawl.dev`           |
| `imagesize:`  | Ne renvoie que les images avec des dimensions exactes                             | `imagesize:1920x1080`             |
| `larger:`     | Ne renvoie que les images plus grandes que les dimensions spécifiées              | `larger:1920x1080`                |

<div id="location-parameter">
  ## Paramètre location
</div>

Utilisez le paramètre `location` pour obtenir des résultats de recherche géociblés. Format : `"string"`. Exemples : `"Germany"`, `"San Francisco,California,United States"`.

Consultez la [liste complète des emplacements pris en charge](https://firecrawl.dev/search_locations.json) pour tous les pays et langues disponibles.

<div id="country-parameter">
  ## Paramètre country
</div>

Utilisez le paramètre `country` pour définir le pays des résultats de recherche à l’aide des codes de pays ISO. Valeur par défaut : `"US"`.

Exemples : `"US"`, `"DE"`, `"FR"`, `"JP"`, `"UK"`, `"CA"`.

```json theme={null}
{
  "query": "restaurants",
  "country": "DE"
}
```

<div id="categories-parameter">
  ## Paramètre `categories`
</div>

Filtrez les résultats de recherche par catégories spécifiques à l’aide du paramètre `categories` :

* **`github`** : Rechercher dans les dépôts GitHub, le code, les tickets et la documentation
* **`research`** : Rechercher sur des sites académiques et de recherche (arXiv, Nature, IEEE, PubMed, etc.)
* **`pdf`** : Rechercher des fichiers PDF

<div id="example-usage">
  ### Exemple d’utilisation
</div>

```json theme={null}
{
  "query": "apprentissage automatique",
  "categories": ["github", "recherche"],
  "limit": 10
}
```

<div id="domain-filters">
  ## Filtres de domaine
</div>

Utilisez `includeDomains` pour limiter les résultats à des domaines spécifiques, ou `excludeDomains` pour exclure certains domaines de la recherche. Les domaines doivent être uniquement des noms d’hôte, sans protocole ni chemin.

`includeDomains` et `excludeDomains` sont mutuellement exclusifs.

<div id="include-domains-example">
  ### Exemple de domaines à inclure
</div>

```json theme={null}
{
  "query": "web scraping",
  "includeDomains": ["firecrawl.dev", "docs.firecrawl.dev"],
  "limit": 10
}
```

<div id="exclude-domains-example">
  ### Exemple de domaines à exclure
</div>

```json theme={null}
{
  "query": "web scraping tools",
  "excludeDomains": ["example.com"],
  "limit": 10
}
```

<div id="category-response">
  ### Catégories de la réponse
</div>

Chaque résultat inclut un champ `category` indiquant sa source :

```json theme={null}
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/ml-project",
        "title": "Machine Learning Project",
        "description": "Implementation of ML algorithms",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "ML Research Paper",
        "description": "Latest advances in machine learning",
        "category": "research"
      }
    ]
  }
}
```

<div id="time-based-search">
  ## Recherche basée sur le temps
</div>

Utilisez le paramètre `tbs` pour filtrer les résultats par périodes, y compris avec des intervalles de dates personnalisés. Consultez la [documentation de la fonctionnalité de recherche](https://docs.firecrawl.dev/features/search#time-based-search) pour des exemples détaillés et les formats pris en charge.

> Êtes-vous un agent IA ayant besoin d’une clé API Firecrawl ? Consultez [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) pour obtenir des instructions d’intégration automatisée.


## OpenAPI

````yaml fr/api-reference/v2-openapi.json POST /search
openapi: 3.0.0
info:
  contact:
    email: support@firecrawl.dev
    name: Firecrawl Support
    url: https://firecrawl.dev/support
  description: >-
    API pour interagir avec les services Firecrawl afin d’effectuer des tâches
    de scraping et de crawling web.
  title: Firecrawl API
  version: v2
servers:
  - url: https://api.firecrawl.dev/v2
security:
  - bearerAuth: []
paths:
  /search:
    post:
      tags:
        - Search
      summary: Rechercher et éventuellement scraper les résultats de recherche
      operationId: searchAndScrape
      requestBody:
        content:
          application/json:
            schema:
              properties:
                categories:
                  description: >-
                    Catégories utilisées pour filtrer les résultats. Par défaut,
                    la valeur est [], ce qui signifie qu’aucun filtre de
                    catégorie ne sera appliqué aux résultats.
                  items:
                    oneOf:
                      - properties:
                          type:
                            enum:
                              - github
                            type: string
                        required:
                          - type
                        title: GitHub
                        type: object
                      - properties:
                          type:
                            enum:
                              - research
                            type: string
                        required:
                          - type
                        title: Research
                        type: object
                      - properties:
                          type:
                            enum:
                              - pdf
                            type: string
                        required:
                          - type
                        title: PDF
                        type: object
                  type: array
                country:
                  default: US
                  description: >-
                    Code pays ISO pour le ciblage géographique des résultats de
                    recherche (par exemple `US`). Pour de meilleurs résultats,
                    définissez ce paramètre ainsi que le paramètre `location`.
                  type: string
                enterprise:
                  description: >-
                    Options de search Enterprise pour la rétention zéro des
                    données (ZDR). Utilisez `["zdr"]` pour un ZDR de bout en
                    bout (10 credits / 10 résultats) ou `["anon"]` pour un ZDR
                    anonymisé (2 credits / 10 résultats). Doit être activé pour
                    votre équipe.
                  items:
                    enum:
                      - anon
                      - zdr
                    type: string
                  type: array
                excludeDomains:
                  description: >-
                    Exclut les résultats de recherche des domaines indiqués. Les
                    domaines doivent être uniquement des noms d’hôte, sans
                    protocole ni chemin. Ne peut pas être utilisé avec
                    includeDomains.
                  items:
                    format: hostname
                    type: string
                  type: array
                ignoreInvalidURLs:
                  default: false
                  description: >-
                    Exclut des résultats de recherche les URL qui ne sont pas
                    valides pour d’autres endpoints Firecrawl. Cela permet de
                    réduire les erreurs si vous transmettez les données issues
                    de la recherche vers d’autres endpoints de l’API Firecrawl.
                  type: boolean
                includeDomains:
                  description: >-
                    Limite les résultats de recherche aux domaines indiqués. Les
                    domaines doivent être uniquement des noms d’hôte, sans
                    protocole ni chemin. Ne peut pas être utilisé avec
                    excludeDomains.
                  items:
                    format: hostname
                    type: string
                  type: array
                limit:
                  default: 10
                  description: >-
                    Nombre maximal de résultats à renvoyer (par type de source
                    en cas d’utilisation de plusieurs sources)
                  maximum: 100
                  minimum: 1
                  type: integer
                location:
                  description: >-
                    Paramètre de localisation pour les résultats de recherche
                    (par ex. `San Francisco,California,United States`). Pour de
                    meilleurs résultats, définissez ce paramètre ainsi que le
                    paramètre `country`.
                  type: string
                query:
                  description: La requête de recherche
                  maxLength: 500
                  type: string
                scrapeOptions:
                  allOf:
                    - $ref: '#/components/schemas/ScrapeOptions'
                  default: {}
                  description: Options pour extraire les résultats de recherche
                sources:
                  default:
                    - web
                  description: >-
                    Sources à interroger. Déterminera les tableaux disponibles
                    dans la réponse. Valeur par défaut : ['web'].
                  items:
                    oneOf:
                      - properties:
                          location:
                            description: >-
                              Paramètre de localisation pour les résultats de
                              recherche
                            type: string
                          tbs:
                            description: "Paramètre de recherche temporel. Accepte des intervalles prédéfinis (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`), des plages de dates personnalisées (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`) ainsi que le tri par date (`sbd:1`). Les valeurs peuvent être combinées, par exemple\_: `sbd:1,qdr:w`."
                            type: string
                          type:
                            enum:
                              - web
                            type: string
                        required:
                          - type
                        title: Web
                        type: object
                      - properties:
                          type:
                            enum:
                              - images
                            type: string
                        required:
                          - type
                        title: Images
                        type: object
                      - properties:
                          type:
                            enum:
                              - news
                            type: string
                        required:
                          - type
                        title: News
                        type: object
                  type: array
                tbs:
                  description: "Paramètre de recherche temporel. Accepte des intervalles prédéfinis (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`), des plages de dates personnalisées (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`) ainsi que le tri par date (`sbd:1`). Les valeurs peuvent être combinées, par exemple\_: `sbd:1,qdr:w`."
                  type: string
                threatProtection:
                  $ref: '#/components/schemas/ThreatProtectionOverride'
                timeout:
                  default: 60000
                  description: Délai d'expiration en millisecondes
                  type: integer
              required:
                - query
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  creditsUsed:
                    description: Nombre de crédits utilisés pour la recherche
                    type: integer
                  data:
                    description: >-
                      Les résultats de la recherche. Les tableaux disponibles
                      dépendront des sources que vous avez spécifiées dans la
                      requête. Par défaut, le tableau `web` sera renvoyé.
                    properties:
                      images:
                        items:
                          properties:
                            imageHeight:
                              description: Hauteur de l’image
                              type: integer
                            imageUrl:
                              description: URL de l’image
                              type: string
                            imageWidth:
                              description: Largeur de l'image
                              type: integer
                            position:
                              description: Position du résultat de recherche
                              type: integer
                            title:
                              description: Titre du résultat de recherche
                              type: string
                            url:
                              description: URL du résultat de la recherche
                              type: string
                          type: object
                        type: array
                      news:
                        items:
                          properties:
                            audio:
                              description: >-
                                URL signée du fichier audio MP3 extrait si
                                `audio` est présent dans `formats`. L’URL signée
                                expire au bout d’une heure.
                              nullable: true
                              type: string
                            date:
                              description: Date de l’article
                              type: string
                            html:
                              description: Contenu HTML si inclus dans les formats demandés
                              nullable: true
                              type: string
                            imageUrl:
                              description: URL de l’image de l’article
                              type: string
                            links:
                              description: Liens trouvés si demandés dans les formats
                              items:
                                type: string
                              type: array
                            markdown:
                              description: Contenu Markdown si un scraping a été demandé
                              nullable: true
                              type: string
                            metadata:
                              properties:
                                description:
                                  type: string
                                error:
                                  nullable: true
                                  type: string
                                numPages:
                                  description: >-
                                    Pour les fichiers PDF, le nombre de pages
                                    traitées (limité par l’option maxPages du
                                    parser).
                                  type: integer
                                sourceURL:
                                  description: >-
                                    L’URL initialement demandée. Elle peut
                                    différer de l’URL finale de la page si des
                                    redirections ont été appliquées.
                                  type: string
                                statusCode:
                                  type: integer
                                title:
                                  type: string
                                totalPages:
                                  description: >-
                                    Pour les fichiers PDF, 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é ; si totalPages est
                                    supérieur à numPages, cela indique que le
                                    résultat a été tronqué.
                                  type: integer
                                url:
                                  description: >-
                                    L’URL finale de la page après application de
                                    l’ensemble des redirections.
                                  type: string
                              type: object
                            position:
                              description: Position de l’article
                              type: integer
                            rawHtml:
                              description: Contenu HTML brut si ce format est demandé
                              nullable: true
                              type: string
                            screenshot:
                              description: >-
                                URL de la capture d’écran si demandé dans les
                                formats. Les captures d’écran expirent après 24
                                heures et ne sont alors plus téléchargeables.
                              nullable: true
                              type: string
                            snippet:
                              description: Extrait de l’article
                              type: string
                            title:
                              description: Titre de l’article
                              type: string
                            url:
                              description: URL de l’article
                              type: string
                            video:
                              description: >-
                                URL signée du fichier vidéo extrait si `video`
                                figure dans `formats`. L'URL signée expire au
                                bout d'1 heure.
                              nullable: true
                              type: string
                          type: object
                        type: array
                      web:
                        items:
                          properties:
                            audio:
                              description: >-
                                URL signée du fichier audio MP3 extrait si
                                `audio` est présent dans `formats`. L’URL signée
                                expire au bout d’une heure.
                              nullable: true
                              type: string
                            description:
                              description: Description du résultat de la recherche
                              type: string
                            html:
                              description: >-
                                Contenu HTML si demandé dans les formats de
                                sortie
                              nullable: true
                              type: string
                            links:
                              description: >-
                                Liens trouvés lorsqu’ils sont demandés dans les
                                formats
                              items:
                                type: string
                              type: array
                            markdown:
                              description: >-
                                Contenu en Markdown si une opération de scraping
                                a été demandée
                              nullable: true
                              type: string
                            metadata:
                              properties:
                                description:
                                  type: string
                                error:
                                  nullable: true
                                  type: string
                                numPages:
                                  description: >-
                                    Pour les fichiers PDF, le nombre de pages
                                    traitées (limité par l’option maxPages du
                                    parser).
                                  type: integer
                                sourceURL:
                                  description: >-
                                    L’URL initialement demandée. Elle peut
                                    différer de l’URL finale de la page si des
                                    redirections ont été appliquées.
                                  type: string
                                statusCode:
                                  type: integer
                                title:
                                  type: string
                                totalPages:
                                  description: >-
                                    Pour les fichiers PDF, 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é ; si totalPages est
                                    supérieur à numPages, cela indique que le
                                    résultat a été tronqué.
                                  type: integer
                                url:
                                  description: >-
                                    L’URL finale de la page après application de
                                    l’ensemble des redirections.
                                  type: string
                              type: object
                            rawHtml:
                              description: >-
                                Contenu HTML brut si ce format est demandé dans
                                formats
                              nullable: true
                              type: string
                            screenshot:
                              description: >-
                                URL de capture d’écran si elle est demandée dans
                                les formats. Les captures d’écran expirent au
                                bout de 24 heures et ne peuvent alors plus être
                                téléchargées.
                              nullable: true
                              type: string
                            title:
                              description: Titre du résultat de recherche
                              type: string
                            url:
                              description: URL du résultat de la recherche
                              type: string
                            video:
                              description: >-
                                URL signée du fichier vidéo extrait si `video`
                                figure dans `formats`. L'URL signée expire au
                                bout d'1 heure.
                              nullable: true
                              type: string
                          type: object
                        type: array
                    type: object
                  id:
                    description: L’ID de la tâche de recherche
                    type: string
                  success:
                    type: boolean
                  warning:
                    description: Message d’avertissement si des problèmes surviennent
                    nullable: true
                    type: string
                type: object
          description: Réponse en cas de succès
        '408':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Request timed out
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Délai d'attente dépassé
        '500':
          content:
            application/json:
              schema:
                properties:
                  code:
                    example: UNKNOWN_ERROR
                    type: string
                  error:
                    example: An unexpected error occurred on the server.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Erreur du serveur
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      properties:
        actions:
          description: Actions à effectuer sur la page avant de récupérer le contenu
          items:
            oneOf:
              - oneOf:
                  - additionalProperties: false
                    properties:
                      milliseconds:
                        description: Nombre de millisecondes à attendre
                        minimum: 1
                        type: integer
                      type:
                        description: Attendre un nombre spécifié de millisecondes
                        enum:
                          - wait
                        type: string
                    required:
                      - type
                      - milliseconds
                    title: Wait by Duration
                    type: object
                  - additionalProperties: false
                    properties:
                      selector:
                        description: Sélecteur CSS à surveiller
                        example: '#my-element'
                        type: string
                      type:
                        description: Attendre l’apparition d’un élément spécifique
                        enum:
                          - wait
                        type: string
                    required:
                      - type
                      - selector
                    title: Wait for Element
                    type: object
                title: Wait
              - properties:
                  fullPage:
                    default: false
                    description: >-
                      Indique s’il faut prendre une capture d’écran de la page
                      entière (en ignorant viewport.height) ou seulement de la
                      zone actuellement visible (viewport).
                    type: boolean
                  quality:
                    description: >-
                      Qualité de la capture d’écran, de 1 à 100, 100 étant la
                      meilleure qualité.
                    type: integer
                  type:
                    description: >-
                      Prenez une capture d’écran. Les liens se trouveront dans
                      le tableau `actions.screenshots` de la réponse.
                    enum:
                      - screenshot
                    type: string
                  viewport:
                    properties:
                      height:
                        description: Hauteur du viewport en pixels
                        type: integer
                      width:
                        description: La largeur de la fenêtre d’affichage, en pixels
                        type: integer
                    required:
                      - width
                      - height
                    type: object
                required:
                  - type
                title: Screenshot
                type: object
              - properties:
                  all:
                    default: false
                    description: >-
                      Clique sur tous les éléments correspondant au sélecteur,
                      et pas seulement sur le premier. Ne lève pas d’erreur si
                      aucun élément ne correspond au sélecteur.
                    type: boolean
                  selector:
                    description: Sélecteur 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: >-
                      Écrivez 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 « click » avant d’écrire. Le texte sera saisi
                      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 du clavier. Reportez-vous à
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  pour la liste des codes de touches.
                properties:
                  key:
                    description: Touche sur laquelle appuyer
                    example: Enter
                    type: string
                  type:
                    description: Appuyez sur une touche de la page
                    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: Faites 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 obtenu
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    type: string
                  landscape:
                    default: false
                    description: Détermine s’il faut générer le PDF au format paysage
                    type: boolean
                  scale:
                    default: 1
                    description: Facteur d’échelle du PDF généré
                    type: number
                  type:
                    description: >-
                      Génère un PDF de la page en cours. 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 fenêtres contextuelles de
            cookies.
          type: boolean
        excludeTags:
          description: Balises à exclure du résultat.
          items:
            type: string
          type: array
        formats:
          $ref: '#/components/schemas/Formats'
        headers:
          description: >-
            En-têtes à inclure dans la requête. Peuvent être utilisés pour
            envoyer des cookies, un user-agent, etc.
          type: object
        includeTags:
          description: Balises à inclure dans le résultat.
          items:
            type: string
          type: array
        location:
          description: >-
            Paramètres de localisation pour la requête. Lorsqu’ils sont définis,
            un proxy approprié sera utilisé si disponible et les paramètres de
            langue et de fuseau horaire correspondants seront simulés. La valeur
            par défaut est « US » si aucun n’est spécifié.
          properties:
            country:
              default: US
              description: >-
                Code de pays ISO 3166-1 alpha-2 (p. 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é. Utilise par défaut la langue de l’emplacement
                spécifié. Voir
                https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
              items:
                example: en-US
                type: string
              type: array
          type: object
        lockdown:
          default: false
          description: >-
            Si défini sur true, la requête est traitée uniquement à partir du
            cache de Firecrawl et n’effectue jamais de requête sortante vers
            l’URL cible. Conçu pour les environnements soumis à des contraintes
            de conformité ou isolés du réseau, où la requête de scrape elle-même
            pourrait divulguer des informations sensibles. En cas d’absence dans
            le cache, renvoie une 404 avec le code d’erreur
            SCRAPE_LOCKDOWN_CACHE_MISS (l’URL n’est jamais journalisée en cas
            d’absence dans le cache). Les requêtes Lockdown sont traitées en
            mode zero data retention. La valeur maxAge par défaut est portée à 2
            ans afin que les pages déjà mises en cache restent éligibles.
            Facturé 5 crédits en cas de hit, 1 crédit en cas d’absence dans le
            cache.
          type: boolean
        maxAge:
          default: 172800000
          description: "Retourne une version mise en cache de la page si elle est plus récente que cette durée (en millisecondes). Si une version mise en cache de la page est plus ancienne que cette valeur, la page sera à nouveau explorée (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 de 500 %. Par défaut\_: 2\_jours."
          type: integer
        minAge:
          description: >-
            Lorsqu’elle est définie, la requête vérifie uniquement le cache et
            ne déclenche jamais une nouvelle opération de scraping. La valeur
            est exprimée en millisecondes et indique l’âge minimal que doivent
            avoir les données en cache. Si des données en cache correspondantes
            existent, elles sont renvoyées instantanément. Si aucune donnée en
            cache n’est trouvée, une réponse 404 avec le code d’erreur
            SCRAPE_NO_CACHED_DATA est renvoyée. Définissez-la sur 1 pour
            accepter n’importe quelle donnée en cache, quel que soit son âge.
          type: integer
        mobile:
          default: false
          description: >-
            Définissez cette option sur true pour simuler le scraping depuis un
            appareil mobile. Utile pour tester des pages responsives et prendre
            des captures d’écran en mode mobile.
          type: boolean
        onlyCleanContent:
          default: false
          description: >-
            Bêta. Exécute un passage supplémentaire basé sur un LLM sur le
            markdown généré afin de supprimer les éléments parasites résiduels
            que `onlyMainContent` peut manquer (bannières de cookies, blocs
            publicitaires, widgets de partage sur les réseaux sociaux, fils
            d’Ariane, inscriptions à la newsletter, sections de commentaires,
            listes d’articles similaires). Les titres, listes, tableaux, blocs
            de code, références d’images et liens intégrés sont conservés. Peut
            être combiné avec `onlyMainContent` (la configuration la plus
            courante) ou utilisé seul. Ignoré avec un avertissement lorsque le
            markdown dépasse la limite de jetons de sortie du modèle de
            nettoyage (le markdown d’origine est conservé). Non pris en charge
            pour les requêtes sans conservation des données.
          type: boolean
        onlyMainContent:
          default: true
          description: >-
            Retourne uniquement le contenu principal de la page, à l’exclusion
            des en-têtes, menus de navigation, pieds de page, etc. Il s’agit
            d’un filtre déterministe appliqué au niveau HTML avant la génération
            du markdown ; aucun LLM n’intervient.
          type: boolean
        parsers:
          default:
            - pdf
          description: >-
            Contrôle la façon dont les fichiers sont traités lors du scraping.
            Lorsque « pdf » est inclus (valeur par défaut), 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). Lorsqu’un tableau
            vide est envoyé, le fichier PDF est renvoyé en encodage base64 avec
            un tarif fixe de 1 crédit pour l’ensemble du PDF.
          items:
            oneOf:
              - additionalProperties: false
                properties:
                  maxPages:
                    description: >-
                      Nombre maximal de pages du PDF à analyser. Doit être un
                      entier positif inférieur ou égal à 10 000.
                    maximum: 10000
                    minimum: 1
                    type: integer
                  mode:
                    default: auto
                    description: >-
                      Mode d’analyse des PDF. « fast » : extraction basée
                      uniquement sur le texte (texte intégré, la plus rapide). «
                      auto » (par défaut) : tente d’abord une extraction rapide,
                      puis bascule vers l’OCR si nécessaire. « ocr » : impose
                      une analyse OCR (reconnaissance optique de caractères) sur
                      chaque page.
                    enum:
                      - fast
                      - auto
                      - ocr
                    type: string
                  type:
                    enum:
                      - pdf
                    type: string
                required:
                  - type
                type: object
          type: array
        profile:
          description: >-
            Active le stockage persistant du navigateur entre les sessions de
            scrape et d’Interact. Transmettez un profil lors du scraping pour
            conserver les cookies, le localStorage et les données de session.
            Les sessions portant le même nom de profil partagent l’état du
            navigateur.
          properties:
            name:
              description: >-
                Nom du profil. Les scrapes portant le même nom partagent l’état
                du navigateur (cookies, localStorage, sessions).
              maxLength: 128
              minLength: 1
              type: string
            saveChanges:
              default: true
              description: >-
                Si la valeur est true, l’état du navigateur est enregistré dans
                le profil lorsque la session Interact s’arrête. Définissez la
                valeur sur false pour charger les données existantes sans les
                écrire. Une seule session d’enregistrement est autorisée à la
                fois.
              type: boolean
          required:
            - name
          type: object
        proxy:
          default: auto
          description: "Spécifie le type de proxy à utiliser.\n\n - **basic**\_: Proxies pour le scraping de sites avec des solutions anti‑bots inexistantes ou basiques. Rapides et généralement efficaces.\n - **enhanced**\_: Proxies renforcés pour le scraping de sites avec des solutions anti‑bots avancées. Plus lents, mais plus fiables sur certains sites. Peut coûter jusqu’à 5 crédits par requête.\n - **auto**\_: Firecrawl réessaiera automatiquement le scraping avec des proxies renforcés si le proxy basic échoue. Si la nouvelle tentative avec le proxy renforcé réussit, 5 crédits seront facturés pour l’opération de scraping. Si la première tentative avec le proxy basic réussit, seul le coût standard sera facturé."
          enum:
            - basic
            - enhanced
            - auto
          type: string
        redactPII:
          default: false
          description: >-
            Masquez les données personnelles identifiables dans le markdown
            renvoyé. Passez `true` pour utiliser les valeurs par défaut, ou un
            objet pour ajuster le mode, les entités et le style de remplacement.
          oneOf:
            - type: boolean
            - $ref: '#/components/schemas/RedactPIIOptions'
        removeBase64Images:
          default: true
          description: |-
            <[
              {
                "key": "0",
                "translation": "Supprime toutes les images encodées en base64 de la sortie markdown, qui peut devenir excessivement longue. Cela n’affecte pas les formats html ou rawHtml. Le texte alternatif de l’image reste dans la sortie, mais l’URL est remplacée par un espace réservé."
              }
            ]</>
          type: boolean
        skipTlsVerification:
          default: true
          description: Ignorer la vérification du certificat TLS lors des 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 problèmes de protection
            des données. L’utilisation de certains paramètres associés à un
            scraping sensible (par ex. actions, headers) forcera ce paramètre à
            false.
          type: boolean
        threatProtection:
          $ref: '#/components/schemas/ThreatProtectionOverride'
        timeout:
          default: 60000
          description: >-
            Délai d’expiration de la requête en millisecondes. La valeur
            minimale est de 1000 (1 seconde). La valeur par défaut est de 60000
            (60 secondes). La valeur maximale est de 300000 (300 secondes).
          maximum: 300000
          minimum: 1000
          type: integer
        waitFor:
          default: 0
          description: >-
            Indiquez un délai en millisecondes avant de récupérer le contenu,
            afin de laisser à la page suffisamment de temps pour se charger. Ce
            temps d’attente s’ajoute à la fonction d’attente intelligente de
            Firecrawl.
          type: integer
      type: object
    ThreatProtectionOverride:
      description: >-
        Dérogation [Protection contre les
        menaces](https://docs.firecrawl.dev/features/threat-protection) au
        niveau de la requête. 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 qui inclut cet objet est
        rejetée avec un code 403. Si la Protection contre les menaces est
        appliquée à 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 motifs avec joker (`*.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 classifieur est injoignable :
            `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 analysée).
          enum:
            - 'off'
            - normal
          type: string
        riskScoreThreshold:
          description: >-
            Score de risque normalisé (0–100) à partir duquel une décision du
            classifieur bloque l’URL. Plus il est faible, plus le filtrage est
            strict.
          example: 75
          maximum: 100
          minimum: 0
          type: integer
        whitelist:
          description: >-
            Domaines à toujours autoriser, sous forme de domaines simples ou de
            motifs avec joker. Prend le pas sur toutes les autres règles.
          items:
            type: string
          maxItems: 1000
          type: array
      title: Threat Protection Override
      type: object
    Formats:
      default:
        - markdown
      description: >-
        Formats de sortie à inclure dans la réponse. Vous pouvez spécifier un ou
        plusieurs formats, soit sous forme de chaînes (par ex. `'markdown'`),
        soit sous forme d’objets avec des options supplémentaires (par ex. `{
        type: 'json', schema: {...} }`). Certains formats requièrent la
        définition d’options spécifiques. Exemple : `['markdown', { type:
        'json', schema: {...} }]`.
      items:
        oneOf:
          - properties:
              type:
                enum:
                  - markdown
                type: string
            required:
              - type
            title: Markdown
            type: object
          - properties:
              type:
                enum:
                  - summary
                type: string
            required:
              - type
            title: Summary
            type: object
          - properties:
              type:
                enum:
                  - html
                type: string
            required:
              - type
            title: HTML
            type: object
          - properties:
              type:
                enum:
                  - rawHtml
                type: string
            required:
              - type
            title: Raw HTML
            type: object
          - properties:
              type:
                enum:
                  - links
                type: string
            required:
              - type
            title: Links
            type: object
          - properties:
              type:
                enum:
                  - images
                type: string
            required:
              - type
            title: Images
            type: object
          - properties:
              fullPage:
                default: false
                description: >-
                  Indique s’il faut prendre une capture d’écran de la page
                  entière (en ignorant viewport.height) ou seulement de la zone
                  actuellement visible (viewport).
                type: boolean
              quality:
                description: >-
                  La qualité de la capture d’écran, sur une échelle de 1 à 100.
                  100 correspond à la qualité maximale.
                type: integer
              type:
                enum:
                  - screenshot
                type: string
              viewport:
                properties:
                  height:
                    description: La hauteur du viewport en pixels
                    type: integer
                  width:
                    description: Largeur du viewport en pixels
                    type: integer
                required:
                  - width
                  - height
                type: object
            required:
              - type
            title: Screenshot
            type: object
          - properties:
              prompt:
                description: L’invite à utiliser pour la sortie au format JSON
                type: string
              schema:
                description: >-
                  Le schéma à utiliser pour la sortie JSON. Doit être conforme à
                  [JSON Schema](https://json-schema.org/).
                type: object
              type:
                enum:
                  - json
                type: string
            required:
              - type
            title: JSON
            type: object
          - properties:
              modes:
                description: >-
                  Le mode de suivi des modifications à utiliser. « git-diff »
                  fournit un diff détaillé, tandis que « json » compare les
                  données JSON extraites.
                items:
                  enum:
                    - git-diff
                    - json
                  type: string
                type: array
              prompt:
                description: >-
                  Invite (prompt) à utiliser pour le suivi des modifications en
                  mode « json ». S’il n’est pas fourni, l’invite (prompt) par
                  défaut sera utilisée.
                type: string
              schema:
                description: >-
                  Schéma JSON pour l’extraction en 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 du suivi des modifications en «
                  branches » distinctes, où le suivi avec un tag spécifique ne
                  sera comparé qu’aux extractions effectuées avec ce même tag.
                  S’il n’est pas fourni, le tag par défaut (null) sera utilisé.
                nullable: true
                type: string
              type:
                enum:
                  - changeTracking
                type: string
            required:
              - type
            title: Change Tracking
            type: object
          - properties:
              type:
                enum:
                  - branding
                type: string
            required:
              - type
            title: Branding
            type: object
          - properties:
              type:
                enum:
                  - product
                type: string
            required:
              - type
            title: Product
            type: object
          - properties:
              type:
                enum:
                  - menu
                type: string
            required:
              - type
            title: Menu
            type: object
          - description: >-
              Extrait l’audio (MP3) depuis des URL vidéo prises en charge, par
              ex. YouTube. Renvoie une URL GCS signée.
            properties:
              type:
                enum:
                  - audio
                type: string
            required:
              - type
            title: Audio
            type: object
          - description: >-
              Extrait la vidéo dans la meilleure qualité depuis des URL vidéo
              prises en charge, par ex. YouTube. Renvoie une URL GCS signée.
            properties:
              type:
                enum:
                  - video
                type: string
            required:
              - type
            title: Video
            type: object
          - description: >-
              Pose une question en langage naturel sur la page. Renvoie la
              réponse dans le champ `answer` de la réponse.
            properties:
              question:
                description: >-
                  La question à laquelle répondre sur la page. Maximum 10 000
                  caractères.
                maxLength: 10000
                type: string
              type:
                enum:
                  - question
                type: string
            required:
              - type
              - question
            title: Question
            type: object
          - description: >-
              Trouve le texte source pertinent sur la page. Renvoie le texte
              sélectionné dans le champ `highlights` de la réponse.
            properties:
              query:
                description: >-
                  La requête de sélection de texte à exécuter sur la page.
                  Maximum 10 000 caractères.
                maxLength: 10000
                type: string
              type:
                enum:
                  - highlights
                type: string
            required:
              - type
              - query
            title: Highlights
            type: object
      type: array
    RedactPIIOptions:
      additionalProperties: false
      description: Options de réglage du masquage des PII.
      properties:
        entities:
          description: >-
            Limitez le masquage à ces groupes d'entités. Si ce champ est omis,
            toutes les entités prises en charge sont masquées.
          items:
            $ref: '#/components/schemas/RedactPIIEntity'
          type: array
        mode:
          default: accurate
          description: >-
            Stratégie de masquage. `accurate` utilise uniquement le modèle et
            est optimisée pour la précision, `aggressive` augmente le rappel
            grâce à des heuristiques supplémentaires, et `fast` utilise des
            heuristiques sans appel au modèle.
          enum:
            - accurate
            - aggressive
            - fast
          type: string
        replaceStyle:
          default: tag
          description: >-
            `tag` remplace les portions de texte par des marqueurs comme
            `<EMAIL>`, `mask` remplace les caractères par `*`, et `remove`
            supprime le texte de la portion.
          enum:
            - tag
            - mask
            - remove
          type: string
      type: object
    RedactPIIEntity:
      description: >-
        Groupes d'entités PII publiques pris en charge par le masquage de
        Firecrawl.
      enum:
        - PERSON
        - EMAIL
        - PHONE
        - LOCATION
        - FINANCIAL
        - SECRET
      type: string
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````