AXILIO
ProductFeaturesUse CasesIntegrationPricingDocs
Login
ProductFeaturesUse CasesIntegrationPricingDocs
Login

//Guide

How to use any Android app from code

When an app has no API, your code can use the app itself. Axilio runs real Android phones in the cloud: your script reads the screen, finds what it needs by its text or a plain description, and taps, types and swipes the way a person would.

It works in any app on the phone and in its browser, from your own signed-in accounts: research on LinkedIn, Reddit and X, read prices and availability, buy, book and message. You write it in Python or Go.

Updated October 5, 2026. Code checked against the Python SDK, axilio 0.20.0.

What people automate

Anything a person can do in an app, a script can repeat.

1.0Use cases

01

Research and engagement

Search LinkedIn, Reddit and X from your own signed-in accounts, read what comes back, and act on it.

02

Data that lives in apps

Prices, listings, stock and availability that only show inside an app.

03

Real transactions

Search, compare, check out, book, check in and answer messages.

Observe, find, act, verify

Every script repeats the same four steps, the way a person uses a phone.

2.0The loop→
01

Observe

Read every line of text and every icon on the screen.

02

Find

Point at a target by its visible text, or describe it in plain words.

03

Act

Tap, type, swipe or press Enter on what you found.

04

Verify

Wait for the next screen before the next step, instead of sleeping.

Search X and read the results

A read-only script: it opens X on a signed-in phone, searches, and prints the text on the results screen. It doesn't post, follow or like.

3.0Example→
Python
from axilio.platform import Client
client = Client() # reads AXILIO_API_KEY
# A dedicated phone with X installed and signed in. The phone is
# released when the block exits, even on an error.
with client.session("android", phone_id="ph_123") as driver:
driver.locator(query="the X app icon").tap()
driver.locator(query="the search icon").tap()
driver.locator(query="the Search field").fill("agentic infrastructure")
driver.key_press("enter")
driver.get_by_text("Top").wait_for(timeout=15)
# Print every line of text on the results screen.
for item in driver.observe().texts:
print(item.text)
01

client.session()

Reserves the phone and connects to it, then releases it when the block exits, even on an error.

02

locator() and get_by_text()

Find the target on the live screen every time the script runs, then wait until it can be tapped.

03

wait_for()

Holds the next step until the results appear, for up to 15 seconds.

Find things by what they are

A script runs later, on a phone that may not match the one you wrote it on. Targets found on the live screen survive that; fixed screen positions don't.

4.0Targets

Three ways to point at something on the screen, and what each costs
Compared onCodeUse it forCost
Visible textget_by_text("Continue")Buttons, labels and fields with words on them.Read by OCR. The default reader is free.
A descriptionlocator(query="the heart icon")Icons, images and anything text can't pin down.A vision-language model, billed per call.
Coordinatesswipe(start, end)Whole-screen gestures such as scrolling, where there's nothing to point at.No model call.

Run it without you

Save the script in Axilio and run it on demand, on one phone or many, with nobody watching.

5.0Workflows→
01

Save it as a workflow

Axilio keeps every revision of your Python, so you can restore an old one.

02

Run it on many phones

Queue a run on one phone or several at once.

03

See what happened

Watch a run live, replay its recording, and trace every step with its cost.

Before you start

What you need to run the example.

6.0Setup

What you need to drive an Android app from code with Axilio
Compared onDetails
LanguagesPython 3.10 or newer (pip install axilio), or Go 1.23 or newer (platform-go).
Sign-inAn organization API key in AXILIO_API_KEY.
PhonesReal Android phones dedicated to your organization. Android only; no iPhone.
Explore firstThe axilio CLI runs the same steps one command at a time, from a terminal.
PricingA flat rental per dedicated phone: $15 a day, $75 a week or $180 a month, unlimited hours.

Questions

Short answers to what people ask first.

7.0FAQ

No. The script drives the installed app through its screen, the way a person does.

Use the API. It's faster and cheaper than driving a screen.

Yes. Targets are found from the screen itself, by OCR and vision models, not from the app's accessibility tree.

Yes. Run axilio init, and Claude Code, Codex or Cursor works the task out on a phone through the CLI, then hands you the script. Give your coding agent a phone →

Either. The Go SDK has the same locators: GetByText, Locator, Tap, Fill and WaitFor.

Yes, including payments and other flows emulators can't run. For a test suite on every commit, an emulator is cheaper. Real phones vs emulators →

$15 a day, $75 a week or $180 a month per dedicated phone, with unlimited hours. Reading text with the default model is free; describing a target uses a vision model, billed per call. Pricing →

//Sources

  • Axilio docs: SDK quickstart↗
  • Axilio docs: how the driver works↗
  • Axilio docs: explore with the CLI↗
  • Axilio docs: models and pricing↗
  • Axilio docs: workflows and runs↗
  • Python SDK on GitHub↗
  • Go SDK on GitHub↗

//Keep reading

//GuideGive your coding agent a real Android phone→//GuideWhat is a phone cloud for agents?→//PricingAxilio pricing→

Put your agent on a real phone

Tell us about your use case and we'll get you onboarded.

Site

  • Product
  • Features
  • Use Cases
  • Integration
  • Pricing
  • Docs
  • Developers

Guides

  • Phone Cloud Guide
  • Apps from Code
  • Coding Agents

Compare

  • vs Emulators
  • vs Mobilerun
  • vs Browserbase

Company

  • About
  • Contact
  • Talk to a Founder
  • Privacy Policy
  • Terms of Service

Social

  • X
  • GitHub
Designed and deployed in SF
© 2026 Axilio Corporation