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

# Interactuar con una página extraída

> Ejecuta código o un `prompt` de IA en la sesión del navegador asociada a un trabajo de scrape.

Usa este endpoint para seguir interactuando con el mismo estado del navegador inicializado a partir de un scrape anterior. Debes proporcionar `code` o `prompt`, pero no ambos.

`POST /v2/scrape/{jobId}/interact` gestiona el ciclo de vida completo:

1. Si todavía no existe una sesión del navegador para este trabajo de scrape, Firecrawl crea una con el mismo estado de la página que el scrape original.
2. Cuando se proporciona `code`, Firecrawl lo ejecuta en el sandbox del navegador. Cuando se proporciona `prompt`, un agente de IA automatiza la tarea al utilizar lenguaje natural.
3. Las llamadas posteriores a `POST /interact` con el mismo `jobId` reutilizan el mismo estado activo del navegador.

Cuando hayas terminado, llama a `DELETE /v2/scrape/{jobId}/interact` para detener la sesión.

<div id="path-parameters">
  ## Parámetros de ruta
</div>

| Parámetro | Tipo          | Obligatorio | Descripción                                                                       |
| --------- | ------------- | ----------- | --------------------------------------------------------------------------------- |
| `jobId`   | string (UUID) | Sí          | El ID del trabajo de scrape de `data.metadata.scrapeId` en la respuesta de scrape |

<div id="request-body">
  ## Request Body
</div>

| parámetro  | tipo   | Required | Default  | descripción                                                                                                          |
| ---------- | ------ | -------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
| `code`     | string | No       | —        | Código que se ejecutará en el sandbox del navegador (1–100,000 caracteres). Obligatorio si no se establece `prompt`. |
| `prompt`   | string | No       | —        | Tarea en lenguaje natural para el agente de IA (1–10,000 caracteres). Obligatorio si no se establece `code`.         |
| `language` | string | No       | `"node"` | Uno de `"python"`, `"node"` o `"bash"`. Solo se usa con `code`.                                                      |
| `timeout`  | number | No       | `30`     | Tiempo de espera de ejecución en segundos (1–300).                                                                   |
| `origin`   | string | No       | —        | Etiqueta de origen opcional que se usa para telemetría.                                                              |

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

| Field                    | tipo    | descripción                                                                                                                                                             |
| ------------------------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `success`                | boolean | Si la ejecución se completó sin errores                                                                                                                                 |
| `cdpUrl`                 | string  | URL de WebSocket sin procesar del Chrome DevTools Protocol (CDP) para la sesión del navegador. Conéctate directamente con Playwright, Puppeteer o cualquier cliente CDP |
| `liveViewUrl`            | string  | URL de vista en vivo de solo lectura para la sesión del navegador                                                                                                       |
| `interactiveLiveViewUrl` | string  | URL de vista en vivo interactiva (los espectadores pueden controlar el navegador)                                                                                       |
| `output`                 | string  | Respuesta final del agente de IA (solo presente al utilizar `prompt`)                                                                                                   |
| `stdout`                 | string  | Salida estándar de la ejecución del código                                                                                                                              |
| `result`                 | string  | Valor de retorno — valor de la última expresión para Node.js, instantánea final de la página para `prompt`                                                              |
| `stderr`                 | string  | Salida de error estándar                                                                                                                                                |
| `exitCode`               | number  | Código de salida de la ejecución (`0` = éxito)                                                                                                                          |
| `killed`                 | boolean | Si la ejecución se terminó debido al tiempo de espera                                                                                                                   |
| `error`                  | string  | Mensaje de error (solo presente en caso de fallo)                                                                                                                       |

<div id="example-request-code">
  ### solicitud de ejemplo (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">
  ### Respuesta de ejemplo (código)
</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">
  ### Solicitud de ejemplo (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">
  ### respuesta de ejemplo (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">
  ### Códigos de error
</div>

| Status | descripción                                                                             |
| ------ | --------------------------------------------------------------------------------------- |
| `402`  | Créditos insuficientes para una sesión del navegador                                    |
| `403`  | El trabajo de scrape pertenece a otro equipo                                            |
| `404`  | No se encontró el trabajo de scrape                                                     |
| `409`  | Contexto de repetición no disponible — vuelve a ejecutar el scrape e inténtalo de nuevo |
| `410`  | La sesión del navegador ya ha sido destruida                                            |
| `429`  | Se alcanzó el número máximo de sesiones simultáneas del navegador                       |
| `502`  | Falló el servicio del navegador o la ejecución del agente de IA                         |
| `503`  | La función del navegador no está configurada (solo autogestionado)                      |

Para obtener información detallada sobre el uso con ejemplos, consulta la [guía de la función Interact](/es/features/interact).


## OpenAPI

````yaml es/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 para interactuar con los servicios de Firecrawl y realizar tareas de
    scraping y rastreo web.
  title: Firecrawl API
  version: v2
servers:
  - url: https://api.firecrawl.dev/v2
security:
  - bearerAuth: []
paths:
  /scrape/{jobId}/interact:
    post:
      tags:
        - Scraping
      summary: Interactúa con la sesión del navegador asociada a un trabajo de scrape
      operationId: interactWithScrapeBrowserSession
      parameters:
        - description: El ID de trabajo de scrape
          in: path
          name: jobId
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                code:
                  description: >-
                    Código que se ejecutará en el entorno aislado del navegador
                    vinculado al scrape
                  maxLength: 100000
                  minLength: 1
                  type: string
                language:
                  default: node
                  description: >-
                    Lenguaje del código que se ejecutará. Usa `node` para
                    JavaScript o `bash` para comandos de CLI de agent-browser.
                  enum:
                    - python
                    - node
                    - bash
                  type: string
                origin:
                  description: >-
                    Etiqueta de origen opcional usada para la telemetría de
                    ejecución
                  type: string
                timeout:
                  default: 30
                  description: timeout de ejecución en segundos
                  maximum: 300
                  minimum: 1
                  type: integer
              required:
                - code
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  cdpUrl:
                    description: >-
                      URL WebSocket sin procesar del protocolo Chrome DevTools
                      (CDP) para la sesión del navegador. Úsala para conectarte
                      directamente con Playwright, Puppeteer o cualquier cliente
                      CDP.
                    nullable: true
                    type: string
                  error:
                    description: Mensaje de error si el código generó una excepción
                    nullable: true
                    type: string
                  exitCode:
                    description: Código de salida del proceso ejecutado
                    nullable: true
                    type: integer
                  interactiveLiveViewUrl:
                    description: >-
                      URL de la vista en vivo interactiva (los espectadores
                      pueden controlar el navegador)
                    nullable: true
                    type: string
                  killed:
                    description: Indica si el proceso se finalizó debido a un timeout
                    type: boolean
                  liveViewUrl:
                    description: >-
                      URL de la vista en vivo de solo lectura para la sesión del
                      navegador
                    nullable: true
                    type: string
                  output:
                    description: >-
                      Respuesta final del agente de IA (solo está presente
                      cuando se utiliza prompt)
                    nullable: true
                    type: string
                  result:
                    description: salida estándar (alias de stdout)
                    nullable: true
                    type: string
                  stderr:
                    description: salida de error estándar de la ejecución del código
                    nullable: true
                    type: string
                  stdout:
                    description: salida estándar de la ejecución del código
                    nullable: true
                    type: string
                  success:
                    type: boolean
                type: object
          description: Código ejecutado correctamente
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Invalid job ID format.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: ID de trabajo no válido
        '402':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Payment required to access this resource.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Pago requerido
        '403':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Forbidden.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Prohibido
        '404':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Job not found.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: No se encontró el trabajo de scrape
        '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: >-
            El contexto de reproducción del scrape no está disponible o no se
            pudo inicializar la sesión
        '410':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Browser session has been destroyed.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: La sesión del navegador de scrape ya se ha destruido
        '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: Demasiadas sesiones activas del navegador
        '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: No se pudo establecer comunicación con el servicio del navegador
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````