> ## Documentation Index
> Fetch the complete documentation index at: https://student-213fb9fc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Ejecutar código en el navegador

> Ejecuta código en un entorno de navegador aislado (sandbox).

<div id="headers">
  ## Cabeceras
</div>

| Cabecera        | Valor              |
| --------------- | ------------------ |
| `Authorization` | `Bearer <API_KEY>` |
| `Content-Type`  | `application/json` |

<div id="request-body">
  ## Cuerpo de la solicitud
</div>

| Parámetro  | Tipo   | Obligatorio | Predeterminado | Descripción                                                                             |
| ---------- | ------ | ----------- | -------------- | --------------------------------------------------------------------------------------- |
| `code`     | string | Sí          | -              | Código a ejecutar (1-100,000 caracteres)                                                |
| `language` | string | No          | `"node"`       | Idioma del código: `"python"`, `"node"` o `"bash"` (para comandos CLI de agent-browser) |
| `timeout`  | number | No          | -              | Tiempo máximo de ejecución en segundos (1-300)                                          |

<div id="response">
  ## Respuesta
</div>

| Campo      | Tipo    | Descripción                                                             |
| ---------- | ------- | ----------------------------------------------------------------------- |
| `success`  | boolean | Indica si el código se ejecutó correctamente                            |
| `stdout`   | string  | Salida estándar de la ejecución del código                              |
| `result`   | string  | Resultado estándar de la ejecución del código                           |
| `stderr`   | string  | Salida de error estándar de la ejecución del código                     |
| `exitCode` | number  | Código de salida del proceso ejecutado                                  |
| `killed`   | boolean | Indica si el proceso se terminó por exceder el tiempo de espera         |
| `error`    | string  | Mensaje de error si la ejecución falló (solo presente en caso de error) |

<div id="example-request">
  ### Ejemplo de solicitud
</div>

```bash theme={null}
curl -X POST "https://api.firecrawl.dev/v2/browser/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">
  ### Ejemplo de respuesta (Éxito)
</div>

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

<div id="example-response-error">
  ### Ejemplo de respuesta (error)
</div>

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


## OpenAPI

````yaml es/api-reference/v2-openapi.json post /browser/{sessionId}/execute
openapi: 3.0.0
info:
  title: Firecrawl API
  version: v2
  description: >-
    API para interactuar con los servicios de Firecrawl y realizar tareas de
    scraping y rastreo web.
  contact:
    name: Firecrawl Support
    url: https://firecrawl.dev/support
    email: support@firecrawl.dev
servers:
  - url: https://api.firecrawl.dev/v2
security:
  - bearerAuth: []
paths:
  /browser/{sessionId}/execute:
    post:
      tags:
        - Browser
      summary: Ejecutar código en una sesión de navegador
      operationId: executeBrowserCode
      parameters:
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
          description: ID de la sesión del navegador
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - code
              properties:
                code:
                  type: string
                  minLength: 1
                  maxLength: 100000
                  description: Código que se ejecutará en el entorno aislado del navegador
                language:
                  type: string
                  enum:
                    - python
                    - node
                    - bash
                  default: node
                  description: >-
                    Lenguaje del código que se va a ejecutar. Usa `node` para
                    JavaScript o `bash` para comandos CLI de agent-browser.
                timeout:
                  type: integer
                  minimum: 1
                  maximum: 300
                  description: Tiempo máximo de ejecución en segundos
      responses:
        '200':
          description: Código ejecutado con éxito
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  stdout:
                    type: string
                    nullable: true
                    description: Salida estándar de la ejecución del código
                  result:
                    type: string
                    nullable: true
                    description: Salida estándar (stdout)
                  stderr:
                    type: string
                    nullable: true
                    description: Salida de error estándar de la ejecución del código
                  exitCode:
                    type: integer
                    nullable: true
                    description: Código de salida del proceso ejecutado
                  killed:
                    type: boolean
                    description: >-
                      Indica si el proceso terminó por tiempo de espera
                      (timeout)
                  error:
                    type: string
                    nullable: true
                    description: Mensaje de error si el código generó una excepción
        '402':
          description: Se requiere pago
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````