---
name: browser.camelai.io
description: browser.camelai.io provides a managed browser AI session service. Agents submit an initialization configuration and a starter task, receiving a session ID and creation timestamp in return. The service abstracts headless browser lifecycle management for web fetch, summarization, and interaction tasks.
host: browser.camelai.io
---

# browser.camelai.io

CamelAI Browser Session is a single-skill host that handles browser session initialization for AI agents. It serves agents that need to programmatically open, track, and reuse browser sessions against web pages. Its distinguishing characteristic is returning a session ID tied to a configurable engine and viewport, enabling downstream session reuse — though real-time or WebSocket-based browser interaction is explicitly out of scope.

## When to use this host

Use this host when an agent needs to initialize a headless or interactive browser session to fetch or interact with a web page and requires a session ID for lifecycle tracking. Do not use it for real-time browser event streaming or WebSocket-based interaction — ws_endpoint is not populated in responses. Do not use it for any non-browser AI tasks. If an agent needs to consume live browser events or maintain a persistent bidirectional channel with a running browser, a WebSocket-capable browser automation service (e.g., Playwright server, Browserless.io) would be more appropriate.

## Capabilities

### Browser Session Initialization

Creates and tracks managed browser sessions with configurable engine, viewport, and an initial task, returning a session ID and creation timestamp for downstream reuse.

- **`create-browser-session`** — Creates a managed browser AI session with configurable engine, viewport, and a starter task, returning a session ID and creation timestamp.

## Skill reference

### `create-browser-session`

**CamelAI Browser Session** — Creates a managed browser AI session with configurable engine, viewport, and a starter task, returning a session ID and creation timestamp.

*Use when:* Use when an agent needs to initialize a headless or interactive browser session to fetch, summarize, or interact with a web page, and requires a session ID to track or reuse that session lifecycle.

*Not for:* Do not use for streaming real-time browser events or WebSocket-based interaction — ws_endpoint is not populated in the response. Not suitable for non-browser AI tasks.

**Inputs:**

- `init` (object, required) — Session initialization config including mode, browser engine settings (engine, headless, viewport, user_agent), a starter_task (url, type, output format), and optional client_metadata.
- `tokens` (object, required) — Token context for the session request, including request_id, use_existing flag, and optional refresh_token and session_token for reuse.
- `session_id` (string) — Existing session ID to resume; pass null to create a new session.

**Returns:** Returns a 64-char hex session_id, an ISO 8601 created_at timestamp, and a ws_endpoint string (empty if WebSocket transport is not yet assigned).

**Example:** `{"init":{"mode":"interactive","browser":{"engine":"chromium","headless":true,"viewport":{"width":1280,"height":720},"user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"},"starter_task":{"url":"https://example.com/","type":"url_fetch_and_summarize","output":{"format":"short_summary","max_chars":600}},"client_metadata":{"capabilities":["navigation","dom_interaction","network_inspection"]}},"tokens":{"request_id":"test-lifecycle-001","use_existing":false,"refresh_token":null,"session_token":null},"session_id":null}`

---
