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

# Interagir avec une page scrapée

> Exécutez du code ou un prompt d’IA dans la session de navigateur associée à une tâche de scraping.

Utilisez ce point de terminaison pour continuer à interagir avec le même état de navigateur initialisé à partir d’un scrape précédent. Vous devez fournir soit `code`, soit `prompt` — pas les deux.

`POST /v2/scrape/{jobId}/interact` gère l’ensemble du cycle de vie :

1. Si aucune session de navigateur n’existe encore pour cette tâche de scraping, Firecrawl en crée une dans le même état de page que le scrape d’origine.
2. Lorsque `code` est fourni, Firecrawl l’exécute dans le sandbox du navigateur. Lorsque `prompt` est fourni, un agent IA automatise la tâche en langage naturel.
3. Les appels ultérieurs à `POST /interact` sur le même `jobId` réutilisent le même état actif du navigateur.

Lorsque vous avez terminé, appelez `DELETE /v2/scrape/{jobId}/interact` pour arrêter la session.

<div id="path-parameters">
  ## Paramètres de chemin
</div>

| Paramètre | Type          | Requis | Description                                                                        |
| --------- | ------------- | ------ | ---------------------------------------------------------------------------------- |
| `jobId`   | string (UUID) | Oui    | L’ID de tâche de scrape issu de `data.metadata.scrapeId` dans la réponse de scrape |

<div id="request-body">
  ## Corps de la requête
</div>

| Paramètre  | Type   | Obligatoire | Défaut   | Description                                                                                                     |
| ---------- | ------ | ----------- | -------- | --------------------------------------------------------------------------------------------------------------- |
| `code`     | string | Non         | —        | Code à exécuter dans le sandbox du navigateur (1–100 000 caractères). Obligatoire si `prompt` n’est pas défini. |
| `prompt`   | string | Non         | —        | Tâche en langage naturel pour l’agent IA (1–10 000 caractères). Obligatoire si `code` n’est pas défini.         |
| `language` | string | Non         | `"node"` | L’une des valeurs suivantes : `"python"`, `"node"` ou `"bash"`. Utilisé uniquement avec `code`.                 |
| `timeout`  | number | Non         | `30`     | Délai d’expiration de l’exécution, en secondes (1–300).                                                         |
| `origin`   | string | Non         | —        | Libellé d’origine facultatif utilisé pour la télémétrie.                                                        |

<div id="response">
  ## Réponse
</div>

| Champ                    | Type    | Description                                                                                                                                                             |
| ------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `success`                | boolean | Indique si l’exécution s’est terminée sans erreur                                                                                                                       |
| `cdpUrl`                 | string  | URL WebSocket brute du Chrome DevTools Protocol (CDP) pour la session de navigateur. Connectez-vous directement avec Playwright, Puppeteer ou n’importe quel client CDP |
| `liveViewUrl`            | string  | URL de la vue en direct en lecture seule pour la session de navigateur                                                                                                  |
| `interactiveLiveViewUrl` | string  | URL de la vue en direct interactive (les utilisateurs peuvent contrôler le navigateur)                                                                                  |
| `output`                 | string  | Réponse finale de l’agent IA (présente uniquement lors de l’utilisation de `prompt`)                                                                                    |
| `stdout`                 | string  | Sortie standard de l’exécution du code                                                                                                                                  |
| `result`                 | string  | Valeur de retour — valeur de la dernière expression pour Node.js, instantané final de la page pour `prompt`                                                             |
| `stderr`                 | string  | Sortie d’erreur standard                                                                                                                                                |
| `exitCode`               | number  | Code de sortie de l’exécution (`0` = succès)                                                                                                                            |
| `killed`                 | boolean | Indique si l’exécution a été interrompue en raison d’un délai d’expiration                                                                                              |
| `error`                  | string  | Message d’erreur (présent uniquement en cas d’échec)                                                                                                                    |

<div id="example-request-code">
  ### Exemple de requête (Code)
</div>

```bash theme={null}
curl -X POST "https://api.firecrawl.dev/v2/scrape/550e8400-e29b-41d4-a716-446655440000/interact" \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "const title = await page.title(); JSON.stringify({ title });",
    "language": "node",
    "timeout": 30
  }'
```

<div id="example-response-code">
  ### Exemple de réponse (code)
</div>

```json theme={null}
{
  "success": true,
  "cdpUrl": "wss://browser.firecrawl.dev/...",
  "liveViewUrl": "https://liveview.firecrawl.dev/...",
  "interactiveLiveViewUrl": "https://liveview.firecrawl.dev/...",
  "stdout": "",
  "result": "{\"title\":\"Example Domain\"}",
  "stderr": "",
  "exitCode": 0,
  "killed": false
}
```

<div id="example-request-prompt">
  ### Exemple de requête (Prompt)
</div>

```bash theme={null}
curl -X POST "https://api.firecrawl.dev/v2/scrape/550e8400-e29b-41d4-a716-446655440000/interact" \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Find the pricing section and tell me the price of the Pro plan",
    "timeout": 60
  }'
```

<div id="example-response-prompt">
  ### Exemple de réponse (Prompt)
</div>

```json theme={null}
{
  "success": true,
  "cdpUrl": "wss://browser.firecrawl.dev/...",
  "liveViewUrl": "https://liveview.firecrawl.dev/...",
  "interactiveLiveViewUrl": "https://liveview.firecrawl.dev/...",
  "output": "The Pro plan costs $49/month and includes unlimited scrapes, priority support, and custom integrations.",
  "stdout": "...",
  "result": "...",
  "stderr": "",
  "exitCode": 0,
  "killed": false
}
```

<div id="error-codes">
  ### Codes d’erreur
</div>

| État  | Description                                                            |
| ----- | ---------------------------------------------------------------------- |
| `402` | Crédits insuffisants pour une session de navigateur                    |
| `403` | La tâche de scraping appartient à une autre équipe                     |
| `404` | Tâche de scraping introuvable                                          |
| `409` | Contexte de relecture indisponible — relancez le scraping et réessayez |
| `410` | La session de navigateur a déjà été détruite                           |
| `429` | Nombre maximal de sessions de navigateur simultanées atteint           |
| `502` | Échec du service de navigateur ou de l’exécution de l’agent IA         |
| `503` | Fonctionnalité de navigateur non configurée (auto-hébergé uniquement)  |

Pour des informations d’utilisation détaillées avec des exemples, consultez le [guide de la fonctionnalité Interact](/fr/features/interact).


## OpenAPI

````yaml fr/api-reference/v2-openapi.json POST /scrape/{jobId}/interact
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:
  /scrape/{jobId}/interact:
    post:
      tags:
        - Scraping
      summary: >-
        Interagissez avec la session de navigateur associée à une tâche de
        scrape
      operationId: interactWithScrapeBrowserSession
      parameters:
        - description: L’ID de tâche de scrape
          in: path
          name: jobId
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                code:
                  description: Code à exécuter dans le sandbox du navigateur lié au scrape
                  maxLength: 100000
                  minLength: 1
                  type: string
                language:
                  default: node
                  description: >-
                    Langage du code à exécuter. Utilisez `node` pour JavaScript
                    ou `bash` pour les commandes CLI de agent-browser.
                  enum:
                    - python
                    - node
                    - bash
                  type: string
                origin:
                  description: >-
                    Étiquette d’origine facultative utilisée pour la télémétrie
                    d’exécution
                  type: string
                timeout:
                  default: 30
                  description: Délai d’expiration de l’exécution, en secondes
                  maximum: 300
                  minimum: 1
                  type: integer
              required:
                - code
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  cdpUrl:
                    description: >-
                      URL WebSocket brute du protocole Chrome DevTools (CDP)
                      pour la session de navigateur. Utilisez-la pour vous
                      connecter directement avec Playwright, Puppeteer ou tout
                      autre client CDP.
                    nullable: true
                    type: string
                  error:
                    description: Message d’erreur si le code a déclenché une exception
                    nullable: true
                    type: string
                  exitCode:
                    description: Code de sortie du processus exécuté
                    nullable: true
                    type: integer
                  interactiveLiveViewUrl:
                    description: >-
                      URL de la vue en direct interactive (les utilisateurs
                      peuvent contrôler le navigateur)
                    nullable: true
                    type: string
                  killed:
                    description: >-
                      Indique si le processus a été arrêté en raison d’un délai
                      d’expiration
                    type: boolean
                  liveViewUrl:
                    description: >-
                      URL de la vue en direct en lecture seule pour la session
                      de navigateur
                    nullable: true
                    type: string
                  output:
                    description: >-
                      Réponse finale de l’agent IA (présente uniquement lors de
                      l’utilisation d’un prompt)
                    nullable: true
                    type: string
                  result:
                    description: Sortie standard (alias de stdout)
                    nullable: true
                    type: string
                  stderr:
                    description: Sortie d’erreur standard de l’exécution du code
                    nullable: true
                    type: string
                  stdout:
                    description: Sortie standard de l’exécution du code
                    nullable: true
                    type: string
                  success:
                    type: boolean
                type: object
          description: Code exécuté avec succès
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Invalid job ID format.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: ID de tâche non valide
        '402':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Payment required to access this resource.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Paiement requis
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Forbidden.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Interdit
        '404':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Job not found.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Tâche de scrape introuvable
        '409':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: >-
                      Replay context is unavailable for this scrape job. Please
                      rerun the scrape.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: >-
            Le contexte de rejeu du scrape n’est pas disponible ou la session
            n’a pas pu être initialisée
        '410':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Browser session has been destroyed.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: La session de navigateur du scrape a déjà été détruite
        '429':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: >-
                      You have reached the maximum number of active browser
                      sessions.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Trop de sessions de navigateur actives
        '502':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Failed to execute code in browser session.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Échec de la communication avec le service de navigateur
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````