> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-capy-docs-factual-copy-fixes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Interagir avec une page extraite

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

Utilisez ce point de terminaison pour continuer à interagir avec le même état de navigateur initialisé à partir d’une extraction précédente. 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 d’extraction, Firecrawl en crée une dans le même état de page que l’extraction d’origine, en naviguant depuis le pays défini par le `location.country` de l’extraction (les États-Unis si aucun n’a été défini).
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.

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

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

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

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

<h2 id="response">
  Réponse
</h2>

| 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) |

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

```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
  }'
```

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

```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
}
```

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

```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
  }'
```

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

```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
}
```

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

| É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

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.