Skip to content

Browser API

Fresh

Source: BIBLE.md (Desktop V1 routes plus V2 routes plus Mobile ADB routes)

Browser endpoints: launch, navigate, click, type, scroll, vision, cookies, geolocation.

V1 routes (desktop)

MethodRouteBodyNotes
POST/browser/launch{ url, proxy?, geo?, fingerprint?, mode?, platform?, vision?, backend? }Launch with optional router config
GET/browser-List active instances
GET/browser/:id-Instance info (includes router session)
POST/browser/:id/navigate{ url, waitUntil? }Navigate
POST/browser/:id/screenshot{ fullPage? }Capture screenshot
POST/browser/:id/evaluate{ expression }Evaluate JS
POST/browser/:id/click{ selector?, x?, y? }Humanized click
POST/browser/:id/click-text{ text }Click by visible text
POST/browser/:id/type{ selector?, text, speed?, typos? }Humanized typing
POST/browser/:id/scroll{ direction?, distance? }Humanized scroll
GET/browser/:id/cookies-Get cookies
POST/browser/:id/cookies{ cookies }Set cookies
POST/browser/:id/geolocation{ geo }Set geolocation
POST/browser/:id/close-Close instance
GET/browser/:id/ws-endpoint-WebSocket endpoint

V2 routes (desktop ghost mode)

MethodRouteBodyNotes
POST/browser/:id/vision-click{ instruction }Screenshot to VLM to find to humanized click
POST/browser/:id/vision-type{ instruction, text, speed?, typos?, clear? }Find input to click to type
POST/browser/:id/vision-find{ instruction }Find element, return coords
POST/browser/:id/vision-verify{ description }Check if page matches
POST/browser/:id/set-mode{ mode }Switch ghost/hybrid/speed
GET/browser/:id/router-Current router session info
GET/browser/:id/vision-history-Screenshot history

Mobile routes (ADB)

MethodRouteBodyNotes
GET/mobile/devices-List connected ADB devices
POST/mobile/connect{ serial, mode?, platform? }Connect, create ghost session
GET/mobile-List active mobile sessions
GET/mobile/:id-Session info
POST/mobile/:id/tap{ x, y, instruction? }Humanized tap
POST/mobile/:id/type{ text, speed?, instruction? }Humanized typing
POST/mobile/:id/scroll{ direction?, distance? }Humanized scroll
POST/mobile/:id/scroll-feed{ count?, dwellMin?, dwellMax? }Feed browsing
POST/mobile/:id/keyevent{ keycode }Android key event
POST/mobile/:id/screenshot-Device screenshot
POST/mobile/:id/vision-find{ instruction }Vision find on device
POST/mobile/:id/vision-verify{ description }Verify device state
POST/mobile/:id/close-Close session

Launch examples

Default speed mode

bash
curl -X POST http://localhost:4700/browser/launch \
  -H "Content-Type: application/json" \
  -H "x-api-key: ghost-engine-key" \
  -d '{"headless":false}'

Ghost mode for Reddit

bash
curl -X POST http://localhost:4700/browser/launch \
  -H "Content-Type: application/json" \
  -H "x-api-key: ghost-engine-key" \
  -d '{"email":"someone@gmail.com","mode":"ghost","platform":"reddit","headless":false}'

Hybrid mode for Yelp

bash
curl -X POST http://localhost:4700/browser/launch \
  -H "Content-Type: application/json" \
  -H "x-api-key: ghost-engine-key" \
  -d '{"email":"someone@gmail.com","mode":"hybrid","platform":"yelp","headless":false}'

Mobile

bash
# List devices
curl http://localhost:4700/mobile/devices

# Connect
curl -X POST http://localhost:4700/mobile/connect \
  -H "Content-Type: application/json" \
  -d '{"serial":"192.168.1.100:5555"}'

# Tap
curl -X POST http://localhost:4700/mobile/mob-abc123/tap \
  -H "Content-Type: application/json" \
  -d '{"x":540,"y":960}'