# Exécuter du code dans une session (/fr/api-reference/endpoint/browser-execute)

<!-- agent-signals: reading_time_min: 3 · est_tokens: 1579 · updated: 2026-07-30 -->
Related: [Recherche](/fr/api-reference/endpoint/search.md), [Retour sur la recherche](/fr/api-reference/endpoint/search-feedback.md), [Scrape](/fr/api-reference/endpoint/scrape.md), [Scrape par lot](/fr/api-reference/endpoint/batch-scrape.md), [Obtenir l’état d’une extraction par lot](/fr/api-reference/endpoint/batch-scrape-get.md), [Annuler une extraction par lots](/fr/api-reference/endpoint/batch-scrape-delete.md)

<div id="headers">
  ## En-têtes [#en-têtes]
</div>

| En-tête         | Valeur             |
| --------------- | ------------------ |
| `Authorization` | `Bearer <API_KEY>` |
| `Content-Type`  | `application/json` |

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

| Paramètre  | Type   | Obligatoire | Valeur par défaut | Description                                                                                 |
| ---------- | ------ | ----------- | ----------------- | ------------------------------------------------------------------------------------------- |
| `code`     | string | Oui         | -                 | Code à exécuter (1-100 000 caractères)                                                      |
| `language` | string | Non         | `"node"`          | Langage du code : `"python"`, `"node"` ou `"bash"` (pour les commandes CLI d’agent-browser) |
| `timeout`  | number | Non         | -                 | Durée maximale d’exécution en secondes (1-300)                                              |

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

| Champ      | Type    | Description                                                                  |
| ---------- | ------- | ---------------------------------------------------------------------------- |
| `success`  | boolean | Indique si le code s’est exécuté avec succès                                 |
| `stdout`   | string  | Sortie standard de l’exécution du code                                       |
| `result`   | string  | Sortie standard de l’exécution du code                                       |
| `stderr`   | string  | Sortie d’erreur standard de l’exécution du code                              |
| `exitCode` | number  | Code de sortie du processus exécuté                                          |
| `killed`   | boolean | Indique si le processus a été interrompu en raison d’un dépassement de délai |
| `error`    | string  | Message d’erreur si l’exécution a échoué (présent uniquement en cas d’échec) |

<div id="example-request">
  ### Exemple de requête [#exemple-de-requête]
</div>

```bash
curl -X POST "https://api.firecrawl.dev/v2/interact/550e8400-e29b-41d4-a716-446655440000/execute" \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "code": "await page.goto(\"https://example.com\")\ntitle = await page.title()\nprint(title)",
    "language": "python"
  }'
```

<div id="example-response-success">
  ### Exemple de réponse (réussite) [#exemple-de-réponse-réussite]
</div>

```json
{
  "success": true,
  "result": "Example Domain"
}
```

<div id="example-response-error">
  ### Exemple de réponse (erreur) [#exemple-de-réponse-erreur]
</div>

```json
{
  "success": true,
  "error": "TimeoutError: page.goto: Timeout 30000ms exceeded."
}
```

> Êtes-vous un agent d’IA qui a 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.

`POST /interact/{sessionId}/execute`

Exécuter du code dans une session Interact

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "description": "ID de la session Interact",
      "in": "path",
      "name": "sessionId",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "code": {
              "description": "Code à exécuter dans le browser sandbox",
              "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 agent-browser.",
              "enum": [
                "python",
                "node",
                "bash"
              ],
              "type": "string"
            },
            "timeout": {
              "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": {
              "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"
              },
              "killed": {
                "description": "Indique si le processus a été interrompu en raison du délai d’expiration",
                "type": "boolean"
              },
              "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"
    },
    "402": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "error": {
                "example": "Payment required to access this resource.",
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Paiement requis"
    }
  }
}
```
