You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Agent Browser Protocol (ABP) exposes a REST API on localhost:8222 for AI agent browser control. All endpoints use JSON request/response bodies and operate directly at the browser engine level for low latency and high capability.
Quick Start
1. Start ABP
macOS:
./ABP.app/Contents/MacOS/ABP
Linux:
./abp
2. Verify the browser is ready
curl http://localhost:8222/api/v1/browser/status
3. Full walkthrough
# List open tabs
curl http://localhost:8222/api/v1/tabs
# Create a new tab
curl -X POST http://localhost:8222/api/v1/tabs \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'# Navigate an existing tab (replace {tab_id} with actual ID from above)
curl -X POST http://localhost:8222/api/v1/tabs/{tab_id}/navigate \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'# Click at coordinates
curl -X POST http://localhost:8222/api/v1/tabs/{tab_id}/click \
-H "Content-Type: application/json" \
-d '{"x":100,"y":200}'# Type text
curl -X POST http://localhost:8222/api/v1/tabs/{tab_id}/type \
-H "Content-Type: application/json" \
-d '{"text":"hello world"}'# Take a screenshot with interactive element markup
curl -X POST http://localhost:8222/api/v1/tabs/{tab_id}/screenshot \
-H "Content-Type: application/json" \
-d '{"screenshot":{"markup":"interactive","format":"webp"}}'# Get page text
curl -X POST http://localhost:8222/api/v1/tabs/{tab_id}/text \
-H "Content-Type: application/json" \
-d '{}'# Execute JavaScript (note: parameter is "script", not "expression")
curl -X POST http://localhost:8222/api/v1/tabs/{tab_id}/execute \
-H "Content-Type: application/json" \
-d '{"script":"document.title"}'# Binary screenshot (returns image/webp directly)
curl http://localhost:8222/api/v1/tabs/{tab_id}/screenshot?markup=interactive -o screenshot.webp
# Close the tab
curl -X DELETE http://localhost:8222/api/v1/tabs/{tab_id}
Standard Response Envelope
Every action endpoint returns a standard response envelope with the following fields: