A real phone for AI agents.
Cloud-hosted Android and iOS that an agent drives over an API. Genuine device identity, its own network route, a SIM or number when the workflow needs one, and state that survives between sessions. Everything a person's phone has, without a person holding it.
Four layers, and a gap in any one shows.
The device
Cloud-hosted Android and iOS phones with persistent app state and genuine device signals. Configure its GPS, locale, language and timezone for any country or region.
The identity
One phone, one consistent identity: hardware identifiers, build, locale, timezone and app state that stay the same between sessions instead of being regenerated per run.
The network
A route out that matches the device. Choose the network country or region through mobilerun Connect, or bring your own proxy if you already have one.
The number
An eSIM or a rented number, reachable over the API, so the agent reads its own one-time code instead of stopping at the verification screen and waiting for a human.
What else an agent could run on.
| Runs on | Real phone | Virtual cloud phone | Emulator | Browser agent |
|---|---|---|---|---|
| Device identity | Real, consistent per phone | Generated | None | No device |
| Passes the checks real apps run & app trust checks | Yes | Varies | No | Not applicable |
| iOS available | Real iPhones | Android only | Simulator only | No |
| Real phone number | eSIM, OTP over API | No | No | No |
| Drives native apps | Any app | Android apps | Android apps | Web only |
| Cost profile | Free plan, paid from $20/mo | Cheapest per instance | Free, self-hosted | Cheapest overall |
Detail per provider: best Android phones · vs GeeLark · vs BrowserStack · all comparisons
When you need a real one
- The app checks real-device trust before it lets you in
- The flow sends a code to a phone number
- There is no web version, or the web version is missing the step
- The account has to look the same next week as it did today
- You need iOS, which no virtual provider offers
When something cheaper is fine
- The target has a real web app and a real API
- You are testing your own app and control the build
- Android only, no integrity checks, no phone number
- Throwaway sessions where identity does not have to hold
- Start free on your own device with
pip install mobilerun(Python 3.11 to 3.13)
Go deeper: the open framework · iOSWorld and AndroidWorld results · the network · eSIM and OTP · pricing
Give your agent a real one.
Start free in the cloud with 60 device minutes a month, or rent a dedicated phone that stays yours.