Cloud phones for AI agents: what they are and how to choose one.
Why agents need a phone
Agents got good at the web and the terminal. Then they hit the apps. A huge part of real work lives inside Android apps that have no public API and no web version: banking and delivery apps, internal field tools, messaging apps, and the mobile app you are building yourself.
A cloud phone closes that gap. The agent gets the same device a person would use, with a real app store, real sign-ins and real touch input, and it gets it on demand, from wherever the agent runs.
- Test your own app. Install the APK your agent just built and have it walk the screens it changed.
- Work in apps with no API. Read a status, fill a form or check a notification inside a mobile-only app.
- Keep signed-in state. Sign in once; the phone keeps the account between sessions.
- Give every customer a phone. Products built on agents can give each end user their own persistent device.
How an agent uses a cloud phone
The loop is the same in every interface: observe → act → verify → park → resume. Phonebox returns the screen as a short numbered list of what is on it, so a model can choose an element by its label instead of guessing pixels. Screenshots are there when the agent wants one.
snapshot snp_4f2k7m3q6z3a
app com.android.launcher3
keyboard hidden
screen 1080x2400
[1] EditText "Search apps" #search clickable editable (540,250)
[2] TextView "Chrome" #icon clickable (200,1900)
[3] TextView "Settings" #icon clickable (500,1900)
[4] TextView "Play Store" #icon clickable (800,1900)The agent taps "Search apps" by its text, types, and reads the screen again to confirm the result. When it finishes, it parks the phone: billing stops, and the apps, files and signed-in accounts stay for next time.
import { Phonebox } from "phonebox";
const pb = new Phonebox(); // reads PHONEBOX_API_KEY
const phone = await pb.phones.create({ name: "signup-test", idempotencyKey: `signup-${Date.now()}` });
try {
if (phone.status !== "ready") await phone.waitUntil("ready");
console.log(await phone.look());
await phone.tap({ text: "Sign in" });
await phone.waitFor({ text: "Welcome" }, { timeoutMs: 20_000 });
} finally {
await phone.park(); // parked phones cost nothing and keep their apps
}Three kinds of cloud phone
Search for “cloud phone” and you will find very different products under one name. Pick the one built for your job.
| Kind | Built for | How you control it | Typical pricing |
|---|---|---|---|
| Agent-native cloud phones | AI agents operating Android apps | MCP, API, CLI and SDK with a text view of the screen | Per minute or per second of use |
| Multi-account cloud phones | Running many social and marketplace accounts | A dashboard, browser profiles, proxies, RPA scripts | Monthly plan per device |
| Device farms | QA teams running test suites | Appium, Espresso and test frameworks | Per device-minute, or plans with parallel slots |
Multi-account tools such as GeeLark and Multilogin's cloud phones are designed around profiles, proxies and social media management. Device farms such as BrowserStack, AWS Device Farm and Firebase Test Lab are designed around scripted test runs. Both can be wired to an agent, but neither was designed around an LLM reading a screen and deciding what to do next.
Phonebox is agent-native: the interfaces, the screen format, the billing and the safety rules all assume the driver is a model. For a vendor-by-vendor view, read the best cloud phones for AI agents.
What to look for
- Agent interfaces. A hosted MCP server and a CLI your coding agent can run, plus an SDK and REST for your product.
- A screen the model can read. Structured text with element labels beats screenshots alone: fewer tokens and fewer mis-taps.
- Persistence. Apps, files and sign-ins should survive between sessions, or every task starts with a login.
- Pay for use, not for idle. Per-second billing, an idle timeout and free parking keep a forgotten phone from billing all night.
- Human handoff. A link that lets a person finish a one-time code or a payment, then hand the phone back.
- Safe writes. An agent should not repeat a tap because a response was slow. Phonebox never retries a write to a phone automatically.
- Honest scope. Android device control is not telephony. If you need calls or SMS, you need a phone-number provider as well.
Phonebox at a glance
| Phonebox | |
|---|---|
| Device | Persistent cloud Android phone |
| Interfaces | Hosted MCP, CLI, TypeScript SDK, REST, agent skill |
| Screen | Numbered text view of the screen, optional JPEG or PNG screenshot |
| Actions | Tap, type, swipe and scroll, back, open apps, wait for elements |
| Apps | Install from the app library or upload your own APK up to 500 MiB |
| Device settings | Clipboard, location, locale, timezone, screen recording |
| Human handoff | Live view link |
| Price | $0.06 per phone-minute, billed per second, one-minute minimum |
| Parked phones | Free, with apps, files and sign-ins kept |
| Start | $2 free credit, no card |
Give your agent a phone in two minutes
Paste this into Claude Code, Codex or Cursor. You do not need an account first; your agent signs you up from the terminal.
Read https://phonebox.dev/setup.md and set me up with Phonebox from here: get me signed in and ready, then find out what I want to use phones for and help me with that.Next: give your coding agent an Android device, connect the Android MCP server, or test your Android app with an AI agent.
Questions
What is a cloud phone for AI agents?
A cloud phone for AI agents is a real Android device hosted in the cloud that software agents control through an API or MCP server. The agent reads the screen, taps, types, installs apps and moves files, with no phone on your desk and no local emulator. Phonebox is a cloud phone built for this: one API call starts an Android phone your agent can see and control.
Can Claude Code, Codex or Cursor control an Android phone?
Yes. With Phonebox, you paste one setup prompt into Claude Code, Codex or Cursor. The agent installs the Phonebox CLI, signs you in, and can then read an Android screen, tap, type and install APKs. MCP clients can also connect to the hosted server at https://phonebox.dev/mcp.
How much does a cloud phone for an AI agent cost?
Phonebox costs $0.06 per phone-minute, billed per second with a one-minute minimum per session. A parked phone costs nothing and keeps its apps and signed-in accounts. New accounts get $2 of free credit, about 33 phone-minutes, with no card required. Multi-account cloud phones are usually sold as monthly plans per device instead.
Is a cloud phone the same as a virtual phone number?
No. A virtual phone number gives you calls and SMS. A cloud phone gives an agent an Android device: the screen, the apps and touch input. Phonebox is a cloud phone and does not include a phone number, voice calls or SMS.
Do I need an Android emulator on my machine?
No. The phone runs in Phonebox's cloud, so your agent can drive it from a laptop, a CI runner or a sandbox that cannot run an emulator. The agent only needs network access and an API key.
Can a human take over the phone?
Yes. A live view link opens the phone in a browser so a person can watch and control it, for example to enter a one-time code or approve a payment, and then hand it back to the agent.
Does Phonebox support iPhone or iOS?
No. Phonebox provides Android devices only.