Control real Android cloud phones via REST API, MCP server, or Python SDK. Natural language in — real actions out.
Send a natural language task via REST API, Python SDK, or MCP. Specify region and optional BYOK model credentials.
PhoneBase captures screenshots, routes to the optimal vision model, and executes ADB actions — up to 15 steps with 120s circuit breaker.
Poll for completion or stream events. Tasks persist for 24 hours with step count, duration, and full action log.
# Create a task curl -X POST https://api.phonebase.cloud/v1/tasks \ -H "X-API-Key: pb_live_xxxxx" \ -H "Content-Type: application/json" \ -d '{"instruction": "Open TikTok, like the first video, follow the creator"}' # → 202 Accepted { "task_id": "task_01jk...", "status": "pending" } curl https://api.phonebase.cloud/v1/tasks/task_01jk... \ -H "X-API-Key: pb_live_xxxxx" { "status": "completed", "result": "Liked video and followed @creator.", "steps_taken": 6, "model": "gemini-2.5-flash" }
from phonebase_client import PhoneBase client = PhoneBase(api_key="pb_live_xxxxx") result = client.run( instruction="Open WeChat, find Alice, send hello", region="us", timeout=300, ) print(result["result"]) # "Message sent to Alice. Steps: 7, 4.2s" # BYOK — use your own model key result = client.run( instruction="Screenshot the current screen", byok_model="gpt-4o", byok_api_key="sk-...", )
// ~/.claude/claude_desktop_config.json { "mcpServers": { "phonebase": { "command": "python", "args": ["-m", "phonebase.mcp.server"], "env": { "LLM_API_KEY": "pb_live_xxxxx" } } } } // run_phone_task(instruction, region?, byok_model?) // take_phone_screenshot(region?) // Claude calls run_phone_task automatically.
Routes tasks to Gemini Flash, GPT-4o, or Gemini Pro based on complexity — optimizing cost and latency automatically. ~$0.018 per task average.
First-class MCP server with run_phone_task and take_screenshot. Works with Claude Desktop and Cursor out of the box.
Build and test without real cloud phones. Mock devices return synthetic screenshots and simulate all ADB interactions locally.
Allocate sessions in US, Singapore, Japan, or EU. Each phone binds to a residential IP in your target region for authentic local app behavior.
Override model routing with your own API key on any task. Compatible with any OpenAI-format endpoint, including locally hosted models.
Hard limits of 15 steps and 120s prevent runaway agents. All tasks include step count, duration, model used, and a full action log.
No credit card required. Start building with mock mode in minutes — no real phone needed.
Used by AI teams building production phone automation workflows.