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
| Method | Path | Permission | Price |
|---|---|---|---|
| /api/v1/browser/session | browser.session.create | 1 credit | |
| /api/v1/browser/session/{session_id} | browser.connect | 0 credits | |
| /api/v1/browser/session/{session_id} | browser.session.delete | 0 credits | |
| /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.