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

# Executar Código em uma Sessão

> Execute código do Playwright ou do agent-browser em uma sessão autônoma do Interact.

<div id="headers">
  ## Cabeçalhos
</div>

| Cabeçalho       | Valor              |
| --------------- | ------------------ |
| `Authorization` | `Bearer <API_KEY>` |
| `Content-Type`  | `application/json` |

<div id="request-body">
  ## Corpo da requisição
</div>

| Parâmetro  | Tipo   | Obrigatório | Padrão   | Descrição                                                                                  |
| ---------- | ------ | ----------- | -------- | ------------------------------------------------------------------------------------------ |
| `code`     | string | Sim         | -        | Código a ser executado (1-100.000 caracteres)                                              |
| `language` | string | Não         | `"node"` | Idioma do código: `"python"`, `"node"` ou `"bash"` (para comandos de CLI do agent-browser) |
| `timeout`  | number | Não         | -        | Tempo máximo de execução em segundos (1-300)                                               |

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

| Campo      | Tipo    | Descrição                                                        |
| ---------- | ------- | ---------------------------------------------------------------- |
| `success`  | boolean | Indica se o código foi executado com sucesso                     |
| `stdout`   | string  | Saída padrão da execução do código                               |
| `result`   | string  | Saída padrão da execução do código                               |
| `stderr`   | string  | Saída de erro padrão da execução do código                       |
| `exitCode` | number  | Código de saída do processo executado                            |
| `killed`   | boolean | Indica se o processo foi finalizado por tempo limite (timeout)   |
| `error`    | string  | Mensagem de erro caso a execução falhe (apenas em caso de falha) |

<div id="example-request">
  ### Exemplo de requisição
</div>

```bash theme={null}
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">
  ### Exemplo de resposta (sucesso)
</div>

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

<div id="example-response-error">
  ### Exemplo de resposta (erro)
</div>

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

> Você é um agente de IA que precisa de uma Firecrawl API key? Veja [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) para instruções de onboarding automatizado.


## OpenAPI

````yaml pt-BR/api-reference/v2-openapi.json POST /interact/{sessionId}/execute
openapi: 3.0.0
info:
  contact:
    email: support@firecrawl.dev
    name: Firecrawl Support
    url: https://firecrawl.dev/support
  description: >-
    API para interagir com os serviços do Firecrawl e executar tarefas de web
    scraping e crawling.
  title: Firecrawl API
  version: v2
servers:
  - url: https://api.firecrawl.dev/v2
security:
  - bearerAuth: []
paths:
  /interact/{sessionId}/execute:
    post:
      tags:
        - Interact
      summary: Executar código em uma sessão de interação
      operationId: executeBrowserCode
      parameters:
        - description: O ID da sessão de interação
          in: path
          name: sessionId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                code:
                  description: Código a ser executado no browser sandbox
                  maxLength: 100000
                  minLength: 1
                  type: string
                language:
                  default: node
                  description: >-
                    Linguagem do código a ser executado. Use `node` para
                    JavaScript ou `bash` para comandos de CLI do agent-browser.
                  enum:
                    - python
                    - node
                    - bash
                  type: string
                timeout:
                  description: Tempo limite de execução em segundos
                  maximum: 300
                  minimum: 1
                  type: integer
              required:
                - code
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: Mensagem de erro caso o código gere uma exceção
                    nullable: true
                    type: string
                  exitCode:
                    description: Código de saída do processo executado
                    nullable: true
                    type: integer
                  killed:
                    description: Se o processo foi encerrado devido ao tempo limite
                    type: boolean
                  result:
                    description: Saída padrão (alias de stdout)
                    nullable: true
                    type: string
                  stderr:
                    description: Saída de erro padrão da execução do código
                    nullable: true
                    type: string
                  stdout:
                    description: Saída padrão da execução do código
                    nullable: true
                    type: string
                  success:
                    type: boolean
                type: object
          description: Código executado com sucesso
        '402':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Payment required to access this resource.
                    type: string
                type: object
          description: Pagamento necessário
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````