Agent Platform

Agent Browser

Give AI agents controlled access to a real browser. Each session runs in an isolated pod with a fail-closed egress proxy, domain allowlists, and accessibility-tree navigation. Nine actions, one API.

Agent Browser hero - isolated browser sessions for AI agents
WHY AGENT BROWSER

Built for agents, not for scraping.

WHAT'S INSIDE

Nine actions. One API. Hard boundaries.

Every action is a single API call. Every egress request is checked against your allowlist.

  • Non-root user, read-only rootfs, dropped Linux capabilities, RuntimeDefault seccomp profile.

  • Set the domains each session can reach. Anything outside the list is refused at the proxy.

  • Agents see a structured tree of roles, names, and values. No raw HTML, no raw CDP.

  • Element references expire with the session. No persistent IDs to leak across runs.

  • navigate, observe, click, fill, select, press, scroll, wait_for, screenshot. Nothing else.

  • One Telnyx API key covers Agent Browser, Web Search, and Inference. One bill.

GET STARTED

Three calls to a working session.

Create a session, navigate to a page, observe the result. The full API surface fits in a few hundred lines.

cURL

# Create an isolated browser session
curl -X POST "http://telnyx-agent-browser.query.dev.telnyx.io:8080/v2/browser_sessions" \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "policy": {
      "allowed_domains": ["acme.com", "example.com"]
    }
  }'

# Navigate to a page
curl -X POST "http://telnyx-agent-browser.query.dev.telnyx.io:8080/v2/browser_sessions/{session_id}/actions" \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "navigate", "url": "https://acme.com/about"}'

# Observe the rendered page
curl -X POST "http://telnyx-agent-browser.query.dev.telnyx.io:8080/v2/browser_sessions/{session_id}/actions" \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "observe"}'

Python

import os
import requests

API_KEY = os.environ["TELNYX_API_KEY"]
BASE = "http://telnyx-agent-browser.query.dev.telnyx.io:8080"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

# Create an isolated browser session
session = requests.post(f"{BASE}/v2/browser_sessions",
    headers=HEADERS,
    json={"policy": {"allowed_domains": ["acme.com"]}}
).json()["data"]

session_id = session["id"]

# Navigate and observe
requests.post(f"{BASE}/v2/browser_sessions/{session_id}/actions",
    headers=HEADERS,
    json={"type": "navigate", "url": "https://acme.com/about"}
)

observation = requests.post(f"{BASE}/v2/browser_sessions/{session_id}/actions",
    headers=HEADERS,
    json={"type": "observe"}
).json()["data"]["result"]["observation"]

print(f"Page title: {observation['title']}")
print(f"Element refs: {len(observation['refs'])}")

TypeScript

// Agent Browser: isolated browser sessions for AI agents
const BASE = "http://telnyx-agent-browser.query.dev.telnyx.io:8080";

// Create a session with a domain allowlist
const session = await fetch(`${BASE}/v2/browser_sessions`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.TELNYX_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    policy: { allowed_domains: ["acme.com"] },
  }),
}).then(r => r.json());

// Navigate, observe, and act
const sessionId = session.data.id;
await fetch(`${BASE}/v2/browser_sessions/${sessionId}/actions`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.TELNYX_API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ type: "navigate", url: "https://acme.com/about" }),
});

const observation = await fetch(`${BASE}/v2/browser_sessions/${sessionId}/actions`, {
  method: "POST",
  headers: { "Authorization": `Bearer ${process.env.TELNYX_API_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ type: "observe" }),
}).then(r => r.json());
PRODUCTS

One platform for agent infrastructure.

Get on the developer preview.

Agent Browser is in active development. Request access to start building with isolated browser sessions today.

FAQ

Agent Browser is a developer preview API that gives AI agents controlled access to a real browser. Each session runs in an isolated Kubernetes pod with a fail-closed egress proxy that enforces a per-session domain allowlist.