Skip to content
APIs Pricing Docs Guides Log in Start free

Browser API

Launch full (non-headless) Chrome, Chromium, Edge, Opera or Firefox in isolated cloud containers and control them over the Chrome DevTools Protocol or the Playwright protocol. Create a reconnectable session, or open a one-shot endpoint and point Playwright or a CDP client straight at it. Every browser routes all of its traffic through a dedicated proxy, so a session keeps one stable IP for its whole life. Billed per second of session time, charged once when the session ends.

Who it is for: Developers automating browsers for testing, scraping, screenshots, PDF rendering and agent workflows that need a real, full-head browser with a stable IP.

Benefits

  • Real full-head browsers, not headless shells.
  • Reconnectable sessions and one-shot ephemeral endpoints.
  • A dedicated, stable egress IP per session.
  • Pay only for the seconds a session is open.

Features and formats

  • CDP and Playwright protocols
  • Chrome, Chromium, Edge, Opera (CDP) and Chrome, Chromium, Edge, Firefox (Playwright)
  • Isolated container per session
  • All browser traffic forced through a per-session proxy
  • Warm pool for fast session start

Output formats:

Common use cases

  • End-to-end and cross-browser testing
  • Web scraping and data extraction
  • Screenshots and PDF generation
  • Browser-using AI agents

Endpoints

MethodPathPermissionPrice
POST
/api/v1/browser/session browser.session.create 1 credit
GET
/api/v1/browser/session/{session_id} browser.connect 0 credits
DELETE
/api/v1/browser/session/{session_id} browser.session.delete 0 credits
GET
/api/v1/browser/{protocol}/{browser} browser.session.create 1 credit

Authentication

Send your API key secret as a bearer token. The key's role must include the operation's permission. Authentication guide.

Authorization: Bearer YOUR_SECRET_KEY
Content-Type: application/json

Example: Create a browser session

curl -X POST https://webknx.com/api/v1/browser/session \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"browser":"chrome","protocol":"cdp"}'

Success: 200 image/png. Errors return JSON with a documented error.code, for example:

{
    "code": "insufficient_credits",
    "message": "The workspace has no remaining credits."
}

Example: Connect to a session

curl -X GET https://webknx.com/api/v1/browser/session/{session_id} \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d 'null'

Success: 200 image/png. Errors return JSON with a documented error.code, for example:

[]

Example: Close a session

curl -X DELETE https://webknx.com/api/v1/browser/session/{session_id} \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d 'null'

Success: 200 image/png. Errors return JSON with a documented error.code, for example:

[]

Example: Open an ephemeral session

curl -X GET https://webknx.com/api/v1/browser/{protocol}/{browser} \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d 'null'

Success: 200 image/png. Errors return JSON with a documented error.code, for example:

{
    "code": "insufficient_credits",
    "message": "The workspace has no remaining credits."
}

Changelog

  • v1.0.0 (2026-10-28): Initial release: reconnectable and ephemeral sessions over CDP and Playwright, eight browser/protocol combinations, per-session egress IP.