High-performance browser automation bridge for AI agents. 12MB Go binary. Zero config. Accessibility-first approach for low-token page understanding and interaction.
Pinchtab is a browser automation tool optimized for AI agents, exposing browser control capabilities through HTTP API.
Core Features#
HTTP API Design#
- Language-agnostic RESTful interface (default port 9867)
- Callable by any agent, script, or even curl
- No framework lock-in
Accessibility-First#
- Leverages Chrome DevTools Protocol to extract a11y tree
- 4x token cost savings vs. screenshots
- ~800 tokens per page
- Stable element reference system (e0, e1, e2...)
Stealth & Anti-Detection#
- Built-in navigator.webdriver patching
- User Agent spoofing
- Supports light/full stealth levels
Session Persistence#
- Cookies, auth states, and tabs persist across restarts
- Profiles stored in
~/.pinchtab/chrome-profile/ - Login once, automate forever
Token Optimization#
- Interactive filter: ~75% token reduction
- Compact format: 56-64% reduction
- Smart diff detection: returns only changes
Installation#
Go Install (Recommended)
go install github.com/pinchtab/pinchtab@latest
Docker
docker run -d -p 9867:9867 --security-opt seccomp=unconfined pinchtab/pinchtab
Quick Start#
# Start server
./pinchtab
# Headed mode
BRIDGE_HEADLESS=false ./pinchtab
# Read page text
curl localhost:9867/text
# Click button
curl -X POST localhost:9867/action -d '{"kind":"click","ref":"e5"}'
Core API Endpoints#
| Endpoint | Description |
|---|---|
GET /health | Connection status |
GET /snapshot | Accessibility tree (primary interface) |
GET /text | Readable text |
GET /screenshot | JPEG screenshot |
POST /navigate | Navigate to URL |
POST /action | Click, input, etc. |
POST /evaluate | Execute JavaScript |
Use Cases#
- AI agent browser control
- Web scraping & monitoring
- Automated testing
- Multi-agent resource sharing
- Human-agent collaboration (humans handle 2FA/CAPTCHA, agents take over sessions)
Key Configuration#
| Variable | Default | Description |
|---|---|---|
BRIDGE_PORT | 9867 | HTTP port |
BRIDGE_TOKEN | none | Bearer auth |
BRIDGE_HEADLESS | true | Headless mode |
BRIDGE_STEALTH | light | Stealth level |
BRIDGE_MAX_TABS | 20 | Max tabs |
MIT licensed. Current version: v0.7.0. Actively maintained.