Documentation
REST API, MCP tools, and client libraries for Airbrowser
v1.13.0
🔌 REST API
All endpoints are prefixed with /api/v1. Base URL: http://localhost:18080/api/v1
browser
| POST | /browser/browsers |
Admin: list all, get info, or close all browsers |
| POST | /browser/create_browser |
Create browser instance with optional persistent profile |
| GET | /browser/{browser_id}/check_element |
Check if element exists or is visible |
| POST | /browser/{browser_id}/click |
Click element |
| DELETE | /browser/{browser_id}/close_browser |
Close browser instance |
| POST | /browser/{browser_id}/console_logs |
Console logs: get or clear |
| POST | /browser/{browser_id}/cookies |
Manage browser cookies |
| POST | /browser/{browser_id}/detect_coordinates |
Detect element coordinates using vision |
| POST | /browser/{browser_id}/dialog |
Dialogs: get, accept, dismiss |
| POST | /browser/{browser_id}/emulate |
Emulation: set, clear, list_devices |
| POST | /browser/{browser_id}/execute_cdp |
Execute a Chrome DevTools Protocol command |
| POST | /browser/{browser_id}/execute_script |
Execute JavaScript |
| POST | /browser/{browser_id}/fill_form |
Fill multiple form fields |
| GET | /browser/{browser_id}/get_cdp_endpoint |
Get Chrome DevTools Protocol WebSocket URL for direct CDP access |
| GET | /browser/{browser_id}/get_content |
Get page HTML |
| GET | /browser/{browser_id}/get_element_data |
Get element text, attribute, or property |
| GET | /browser/{browser_id}/get_url |
Get current URL |
| POST | /browser/{browser_id}/gui_click |
GUI click by selector or coordinates |
| POST | /browser/{browser_id}/gui_hover_xy |
GUI hover at coordinates |
| POST | /browser/{browser_id}/gui_press_keys_xy |
Press keys at coordinates (click to focus, then send keys) |
| POST | /browser/{browser_id}/gui_type_xy |
GUI type at coordinates - clicks then types text |
| POST | /browser/{browser_id}/history |
History: back, forward, or refresh |
| POST | /browser/{browser_id}/mouse |
Mouse: hover or drag |
| POST | /browser/{browser_id}/navigate |
Navigate to URL |
| POST | /browser/{browser_id}/network_logs |
Network logs: get or clear |
| POST | /browser/{browser_id}/performance |
Performance: start_trace, stop_trace, metrics, analyze |
| POST | /browser/{browser_id}/press_keys |
Press keyboard keys |
| POST | /browser/{browser_id}/resize |
Resize viewport |
| POST | /browser/{browser_id}/screenshot |
Take screenshot |
| POST | /browser/{browser_id}/scroll |
Scroll to element/coords or by delta |
| POST | /browser/{browser_id}/select |
Select dropdown: select option or get options |
| POST | /browser/{browser_id}/snapshot |
DOM or accessibility snapshot |
| POST | /browser/{browser_id}/tabs |
Tabs: list, new, switch, close, current |
| POST | /browser/{browser_id}/type |
Type text into element |
| POST | /browser/{browser_id}/upload_file |
Upload file to input |
| POST | /browser/{browser_id}/wait_element |
Wait for element to be visible or hidden |
| POST | /browser/{browser_id}/what_is_visible |
AI page analysis - what's visible |
health
| GET | /health/ |
Check the health status of the browser pool |
| GET | /health/metrics |
Get Prometheus-style metrics for monitoring |
pool
| POST | /pool/scale |
Scale the browser pool to a new maximum size |
| POST | /pool/shutdown |
Gracefully shutdown the browser pool server |
profiles
| POST | /profiles/ |
Create a new browser profile |
| GET | /profiles/ |
List all browser profiles |
| DELETE | /profiles/{profile_name} |
Delete a browser profile |
| GET | /profiles/{profile_name} |
Get profile information |
🤖 MCP Tools
Model Context Protocol tools for AI agents. Connect via http://localhost:18080/mcp
MCP Tools Reference
39 tools
❯
⌘K
No tools match your search
Try a different keyword
📦 Client Libraries
Auto-generated from OpenAPI spec. Install and start automating in minutes.
# Install pip install airbrowser-client # Usage from airbrowser_client import ApiClient, Configuration, BrowserApi config = Configuration(host="http://localhost:18080/api/v1") with ApiClient(config) as client: api = BrowserApi(client) # Create browser response = api.create_browser() browser_id = response.data.browser_id # Navigate api.navigate_browser(browser_id, {"url": "https://example.com"}) # Screenshot screenshot = api.take_screenshot(browser_id) # Cleanup api.close_browser(browser_id)