# AkaPhone documentation

> Cloud Android phones for AI agents and people. Create a device, tell it what to do in plain English, and watch it work.

Source: https://akaphone-docs.pages.dev/

AkaPhone runs real Android 14 systems in the cloud and hands them to you, or to your coding agent, as a tool. Each device is a full Android phone in its own container. You can watch its screen live in the browser, tap and type on it, install your own APKs, save its state as a snapshot, and give it plain-English tasks such as *“Open Settings and turn on dark mode”*.

Tasks are carried out by [ARTEMIS](https://github.com/google/artemis), Google's open-source Android agent, running unmodified on the device host. It uses **your own** Gemini, Claude or OpenAI key. AkaPhone bills device time, not tokens.

## Three ways to use it

- [Claude Code, Cursor, Codex](https://akaphone-docs.pages.dev/quickstart/claude-code/): Add the MCP server and ask your agent to create a phone and test your app.
- [In the browser](https://akaphone-docs.pages.dev/quickstart/dashboard/): Sign in with Google, create a device, watch it live and drag in an APK.
- [From code and CI](https://akaphone-docs.pages.dev/api/rest/): Plain JSON over HTTPS with a Bearer key. Works from curl, scripts and GitHub Actions.


## Five-minute tour

1. **Sign in** at [https://akaphone.abhgnx-417.workers.dev](https://akaphone.abhgnx-417.workers.dev) with Google. New accounts get **60 free credit minutes**, which is 60 minutes of one running device. No card needed.
2. **Create an API key** on the *API keys* page. It starts with `ak_live_` and is shown once.
3. **Connect your agent.** For Claude Code that is one command:

   ```bash
   claude mcp add akaphone \
     -e AKAPHONE_API_KEY=ak_live_... \
        -e MODEL_API_KEY=AIza... \
     -- npx -y akaphone-mcp
   ```

4. **Ask for something.** *“Create a phone, open Settings > About phone and tell me the Android version. Then terminate it.”*
5. **Watch it** in the dashboard while it runs, and check *Usage* afterwards to see the minutes it used.

Or skip the agent and do the same thing over HTTP:

```bash title="curl"
curl -X POST https://akaphone.abhgnx-417.workers.dev/v1/devices \
  -H "Authorization: Bearer $AKAPHONE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "first-phone", "wait": true}'
```
```typescript title="TypeScript"
const res = await fetch("https://akaphone.abhgnx-417.workers.dev/v1/devices", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.AKAPHONE_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "first-phone", wait: true }),
});
const device = await res.json();
console.log(device.id, device.status); // dev_s6zr7mr4f2f1 running
```
```python title="Python"
import os, requests

r = requests.post(
    "https://akaphone.abhgnx-417.workers.dev/v1/devices",
    headers={"Authorization": f"Bearer {os.environ['AKAPHONE_API_KEY']}"},
    json={"name": "first-phone", "wait": True},
)
device = r.json()
print(device["id"], device["status"])  # dev_s6zr7mr4f2f1 running
```

> **Devices bill until you stop them**
>
> A running device costs 1 credit per started minute. Stop it with `DELETE /v1/devices/:id` (or *Stop* in the dashboard) when you are done. Devices with no activity for 30 minutes are stopped for you.

## What you get

| | |
|---|---|
| **Devices** | Android 14 (`pixel_8` profile, 720×1560) in an isolated container. Up to 1, 3 or 5 at once depending on your plan. [Devices →](https://akaphone-docs.pages.dev/concepts/devices/) |
| **Tasks** | Plain-English instructions carried out by ARTEMIS with your model key, with step-by-step progress, a screen recording, before/after screenshots, a trace and a log. [Tasks →](https://akaphone-docs.pages.dev/concepts/tasks/) |
| **Live view** | The screen streamed to your browser at 2–5 fps, with tap, swipe, type and hardware keys. [Streaming →](https://akaphone-docs.pages.dev/concepts/streaming/) |
| **APKs** | Drag an APK onto the device in the dashboard, or upload it over the API. Up to 300 MB. [Install an APK →](https://akaphone-docs.pages.dev/guides/install-apk/) |
| **Snapshots** | Save a configured device (apps, logins, settings) and boot new devices from it. [Snapshots →](https://akaphone-docs.pages.dev/concepts/snapshots/) |
| **Credits** | Prepaid packs from $10. One credit is one device-minute. No subscription. [Credits and plans →](https://akaphone-docs.pages.dev/concepts/credits-and-plans/) |

## For agents

This site is also published as plain text for language models: [/llms.txt](https://akaphone-docs.pages.dev/llms.txt) is an index of every page with a one-line summary, and [/llms-full.txt](https://akaphone-docs.pages.dev/llms-full.txt) is the whole site in one file. Every page is available as Markdown by adding `.md` to its path, for example [/api/devices.md](https://akaphone-docs.pages.dev/api/devices.md).
