# Crear sesión de Interact (/es/api-reference/endpoint/browser-create)

<!-- agent-signals: reading_time_min: 4 · est_tokens: 1989 · updated: 2026-07-30 -->
Related: [Búsqueda](/es/api-reference/endpoint/search.md), [Comentarios sobre la búsqueda](/es/api-reference/endpoint/search-feedback.md), [Scrape](/es/api-reference/endpoint/scrape.md), [Raspado en lote](/es/api-reference/endpoint/batch-scrape.md), [Obtener el estado de la captura por lotes](/es/api-reference/endpoint/batch-scrape-get.md), [Cancelar extracción en lote](/es/api-reference/endpoint/batch-scrape-delete.md)

<div id="headers">
  ## Cabeceras [#cabeceras]
</div>

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

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

| Parámetro             | Tipo    | Obligatorio | Valor predeterminado | Descripción                                                                                                                                                                                                 |
| --------------------- | ------- | ----------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ttl`                 | number  | No          | 600                  | Duración total de la sesión en segundos (30-3600)                                                                                                                                                           |
| `activityTtl`         | number  | No          | 300                  | Segundos de inactividad antes de que la sesión se elimine (10-3600)                                                                                                                                         |
| `profile`             | object  | No          | —                    | Habilita el almacenamiento persistente entre sesiones. Consulta más abajo.                                                                                                                                  |
| `profile.name`        | string  | Sí\*        | —                    | Nombre del perfil (1-128 caracteres). Las sesiones con el mismo nombre comparten almacenamiento.                                                                                                            |
| `profile.saveChanges` | boolean | No          | `true`               | Cuando es `true`, el estado del navegador se guarda de nuevo en el perfil al cerrar. Establécelo en `false` para cargar los datos existentes sin escribir. Solo se permite un proceso de guardado a la vez. |

<div id="response">
  ## Respuesta [#respuesta]
</div>

| Campo                    | Tipo    | Descripción                                                                           |
| ------------------------ | ------- | ------------------------------------------------------------------------------------- |
| `success`                | boolean | Indica si se creó la sesión                                                           |
| `id`                     | string  | Identificador único de la sesión                                                      |
| `cdpUrl`                 | string  | URL de WebSocket para conexiones CDP                                                  |
| `liveViewUrl`            | string  | URL para ver la sesión en tiempo real                                                 |
| `interactiveLiveViewUrl` | string  | URL para interactuar con la sesión en tiempo real (hacer clic, escribir, desplazarse) |
| `expiresAt`              | string  | Momento en que la sesión expirará según el TTL                                        |

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

```bash
curl -X POST "https://api.firecrawl.dev/v2/interact" \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ttl": 120
  }'
```

<div id="example-response">
  ### Ejemplo de respuesta [#ejemplo-de-respuesta]
</div>

```json
{
  "success": true,
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "cdpUrl": "wss://cdp-proxy.firecrawl.dev/cdp/550e8400-e29b-41d4-a716-446655440000",
  "liveViewUrl": "https://liveview.firecrawl.dev/550e8400-e29b-41d4-a716-446655440000",
  "interactiveLiveViewUrl": "https://liveview.firecrawl.dev/550e8400-e29b-41d4-a716-446655440000?interactive=true"
}
```

> ¿Eres un agente de IA que necesita una clave de API de Firecrawl? Consulta [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) para ver las instrucciones de incorporación automática.

`POST /interact`

Crear una sesión de interact

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "activityTtl": {
              "description": "Tiempo en segundos antes de que la sesión se destruya por inactividad",
              "maximum": 3600,
              "minimum": 10,
              "type": "integer"
            },
            "profile": {
              "description": "Habilita el almacenamiento persistente entre sesiones de interact. Los datos guardados en una sesión pueden cargarse en una sesión posterior usando el mismo nombre.",
              "properties": {
                "name": {
                  "description": "Nombre del perfil. Las sesiones con el mismo nombre comparten almacenamiento.",
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                },
                "saveChanges": {
                  "default": true,
                  "description": "Cuando es true, el estado del navegador se guarda de nuevo en el perfil al cerrar. Establece false para cargar datos existentes sin escribir. Se permiten varias sesiones sin guardado, pero solo una sesión con guardado a la vez.",
                  "type": "boolean"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            },
            "streamWebView": {
              "default": true,
              "description": "Si se debe transmitir una vista en vivo del navegador",
              "type": "boolean"
            },
            "ttl": {
              "default": 300,
              "description": "Tiempo de vida total en segundos de la sesión de interact",
              "maximum": 3600,
              "minimum": 30,
              "type": "integer"
            }
          },
          "type": "object"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "cdpUrl": {
                "description": "URL de WebSocket para acceder al Chrome DevTools Protocol",
                "type": "string"
              },
              "expiresAt": {
                "description": "Cuándo expirará la sesión según el TTL",
                "format": "date-time",
                "type": "string"
              },
              "id": {
                "description": "El identificador único de la sesión",
                "type": "string"
              },
              "interactiveLiveViewUrl": {
                "description": "URL para interactuar con la sesión de interact en tiempo real (clic, escribir, desplazarse)",
                "type": "string"
              },
              "liveViewUrl": {
                "description": "URL para ver la sesión de interact en tiempo real",
                "type": "string"
              },
              "success": {
                "type": "boolean"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Sesión de interact creada correctamente"
    },
    "402": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "error": {
                "example": "Payment required to access this resource.",
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Pago requerido"
    }
  }
}
```
