Stream telemetry events via SSE

Streams browser telemetry events as a server-sent events (SSE) stream. The stream closes when the browser session terminates. Each event frame includes an id: field containing a monotonically increasing sequence number; pass it as Last-Event-ID on reconnect to resume without gaps. The event: field is never set; all frames carry JSON in the data: field. A keepalive comment frame is sent every 15 seconds when no events arrive. Returns 404 if the browser session does not exist. If telemetry was not enabled on the session, the stream opens but no events are delivered. Fresh connections only see new events; pass replay=all to start from the oldest retained event instead.

GET/browsers/{id}/telemetry/stream

Streams browser telemetry events as a server-sent events (SSE) stream. The stream closes when the browser session terminates. Each event frame includes an id: field containing a monotonically increasing sequence number; pass it as Last-Event-ID on reconnect to resume without gaps. The event: field is never set; all frames carry JSON in the data: field. A keepalive comment frame is sent every 15 seconds when no events arrive. Returns 404 if the browser session does not exist. If telemetry was not enabled on the session, the stream opens but no events are delivered. Fresh connections only see new events; pass replay=all to start from the oldest retained event instead.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Browser session ID

Query Parameters

replay?string

Pass all to start from the oldest retained event instead of only new events; any other value is treated as from-now. The buffer is bounded, so the first event id may be greater than 1 if older events were evicted.

Header Parameters

Last-Event-ID?string

Last event sequence number for SSE reconnection (sent by SSE clients on reconnect). Takes precedence over replay when both are present, so reconnect resumes instead of re-replaying.

Response

text/event-stream

SSE stream of telemetry events

Envelope wrapping a browser telemetry event with its monotonic sequence number. Each SSE data: frame carries one envelope as JSON. The seq value is also emitted as the SSE id: field so clients can pass it as Last-Event-ID on reconnect.

curl -X GET "https://example.com/browsers/string/telemetry/stream"
{  "seq": 1,  "event": {    "ts": 0,    "type": "console_log",    "category": "console",    "source": {      "kind": "cdp",      "event": "string",      "metadata": {        "property1": "string",        "property2": "string"      }    },    "data": {      "session_id": "string",      "target_id": "string",      "target_type": "page",      "frame_id": "string",      "loader_id": "string",      "url": "string",      "nav_seq": 0,      "level": "string",      "text": "string",      "args": [        "string"      ],      "stack_trace": {        "description": "string",        "callFrames": [          {            "functionName": "string",            "scriptId": "string",            "url": "string",            "lineNumber": 0,            "columnNumber": 0          }        ],        "parent": {}      }    },    "truncated": true  }}