Skip to content
Trusted by Tinder, Peloton and Careem

Every change, fully tested in 15 minutes

We run your full Android and iOS UI test suite on every change, from a pull request or your laptop, across as many devices as it takes. Flaky tests are retried automatically, every failure comes back with video and logs, and there is no device lab to own or run.

50 free device hours · No credit card required

0 rewrites
your tests, our devices
Direct line
to the engineers who built it

Trusted by mobile teams at

TinderCareemPelotonLTKSafetyCulturePlata
1B+
end users on code verified by Marathon
5M+
tests every week
Since 2018
open-source test runner
Since 2022
bootstrapped and profitable

ROI

See the ROI on your own numbers

See what your current setup costs in engineering time and infrastructure, and what Marathon Cloud would cost instead. Conservative defaults, every assumption editable.

15
3 100
55 min
Engineers start context-switching and losing focus
15 min 3 hrs
Platform
We pay for test devices today (our own lab or a device cloud)
Team of 15 · 55 min CI today · Android · 300 tests
Test gate on every change
55 min → ~15 min
Focus time recovered
210 h / month ≈ 1.3 FTE of capacity · 9% of team
+$25,200/mo
Flaky failures handled off the critical path
27 false failures / month × 15 min · the test still needs fixing, just not while CI is red
+$810/mo
Marathon Cloud bill
900 runs / month · 3,544 device-hours
−$7,100/mo
= Net each month
3.7× return
$18,900
Share this estimate

A directional estimate, not an accounting statement. Every assumption is editable above.

What teams say

Tinder went from 3-hour test cycles to 20 minutes

Tinder

1,400 Android and 1,300 iOS UI tests a day. Thirty self-hosted emulators and sixteen Mac instances replaced with on-demand devices; setup took each engineer a few minutes.

Read the case study
Test cycle 3 hours < 20 min
iOS stability 80% 98%
DevOps time on infra 10+ hrs / wk ~0
Infrastructure cost −60%
Release cadence irregular bi-weekly

The floor here was outside the tests: distributing multi-gigabyte builds to every device takes time the tests themselves do not.

“We use it as a solution for flaky tests. We haven't had a PR fail in ages due to a flaky UI test that wasn't an actual failure.”
Zak Taccardi
Android Engineer · Capital One
Capital One
“I'm genuinely impressed with how fast the test runs are — the parallelization is incredibly effective. The platform has been stable overall, and our engineers are really happy with the experience.”
Nikolai Kasyanov
Staff Software Engineer · Careem
Careem
“Marathon Cloud streamlines test execution, cutting overhead and allowing us to focus on development. Thanks to its highly scalable infrastructure, we've rapidly expanded our test coverage.”
Alex Apriamashvili
Staff Software Engineer · SafetyCulture
SafetyCulture
“The most valuable aspect of Marathon Labs for us is the excellent support — it's great that we can simply reach out and always get help when needed.”
Vsevolod Koshmiakov
Android Automation Tech Lead · Plata
Plata

Pricing

Pay for device time, nothing else

One rate, metered by the hour a device is actually running your tests. No seats, no parallel-slot licences, no minimum.

Starter
Free
50 device hours, no credit card
Get started
Try it on your real suite
Same product, same speed
Upgrade when you are ready
Most popular
Cloud
$2 / device hour · Android
$3 / device hour · iOS
Pay as you go, billed monthly
Get started
Monthly invoice, itemised per run
Billed to the second
Cancel any time
Enterprise
Custom
For larger mobile teams with security and procurement requirements
Talk to us
Volume pricing and annual terms
SAML SSO and IP allowlisting
Security questionnaire support
Dedicated support channel
Every plan includes
The full product
Automatic retries of flaky tests
Video, logs and screenshots for every failure
Devices scaled to finish in 15 minutes
Android and iOS
Support from the engineers who built it
What that looks like

A 300-test suite uses about 3.8 device-hours per run, so one full check of one change costs roughly $8 on Android. Three checks per engineer per day:

Team of 5 ~300 runs / mo ≈ $2,400 / mo
Team of 15 ~900 runs / mo ≈ $7,100 / mo
Team of 40 ~2,400 runs / mo volume pricing

Billing runs from the first test starting to the last test finishing on each device, to the second. Device boot, app install and artifact upload are not billed. Retries are billed as normal device time: a retry is one test on one device, not a rerun of the job. iOS runs are billed at $3 per device-hour.

The same device-hours elsewhere

Public list prices per device-hour.

Real devices cost more per hour, and they earn it for hardware you cannot emulate yet: a physical camera, fingerprint and face sensors, NFC. For the rest of your UI suite, virtual devices give the same verdict faster and for less. Firebase virtual devices are cheaper per hour; what you pay for here is finishing in 15 minutes on however many devices that takes, and retrying single tests instead of whole jobs.

List prices as of September 2026.

Virtual devices (emulators and simulators)
Marathon Cloud Android – iOS, billed per second $2 – $3
Firebase Test Lab Android virtual devices, per minute rounded up $1
Maestro Cloud per concurrent device, unlimited runs from $250 / mo
Real devices
Firebase Test Lab physical devices, per minute $5
AWS Device Farm $0.17 per device-minute $10.20
BrowserStack App Automate per parallel test, billed annually from $199 / mo

How it works

Connected in an afternoon, running on every change after that

01

Your engineers add one line to the build

The build pipeline hands us the app and its tests, the same files it already produces. Nothing to install, no devices to configure.

build 4m 10s
unit tests 2m 05s
ui tests · marathon cloud 11m 42s
See the command
marathon-cloud run android \
  --application app.apk \
  --test-application appTest.apk
02

We supply and scale the devices

From your test history we work out how many devices it takes to finish in under 15 minutes, spin them up, and tear them down when the run ends. You never buy or maintain one.

2 → 12 devices · finishes in 11m 42s
03

Every change gets a verdict with evidence

Pass or fail, back in the pull request before anyone merges. Failures come with video, logs and screenshots so they are fixed in minutes, not argued about.

LoginTest.signIn 1.2s
CartTest.addItem 0.9s
CheckoutTest.pay 2.1s
CheckoutTest.applyCoupon 3.4s
videologsscreenshot

Who you are buying from

The team behind Marathon, the open-source mobile test runner

Marathon has been open source since 2018 and runs mobile tests at some of the largest consumer apps in the world. Marathon Cloud, launched in 2022, is the hosted version: the same engine, with the devices, scaling and retries handled for you, and no lock-in because the runner stays open source. MarathonLabs, the trading name of TestWise Pte. Ltd. registered in Singapore, is bootstrapped and profitable, so the product is funded by customers rather than by a runway. Every customer has renewed, every year since launch. Your tests stay in the frameworks you already use, and the open-source runner is there if you ever need to bring execution back in-house.

Security and data

App binaries are kept for 7 days and test results for 30 days, then permanently deleted. Every run gets freshly provisioned devices that are destroyed afterwards, and nothing is shared between customers. Runs are processed across several cloud providers and regions, sized to the load. Enterprise plans add SAML SSO and IP allowlisting.

Support from the people who built it

Questions go to the engineers who wrote the runner, and they answer in minutes, not days. That includes help with your testing strategy, not just the buttons.

Questions

What buyers ask before they say yes

Are these real devices?

No. Marathon Cloud runs Android emulators and iOS simulators, provisioned fresh for every run and destroyed when it ends. That is what makes "any suite in 15 minutes" and pay-per-second pricing possible, and it is the same environment your engineers already use to run UI tests locally. Physical hardware still matters for what cannot be emulated yet: a real camera, fingerprint and face sensors, NFC and Bluetooth radios, manufacturer skins, and real-hardware performance numbers. Most teams keep a small physical lab for those and move the rest to Marathon Cloud.

Is it always under 15 minutes?

For most suites, yes. We add devices until the run is as parallel as it can be, so the number of tests is not the limit. The 15 minutes comes from the defaults: a single test may take up to 5 minutes, and a failing test gets two more attempts, so the slowest path is three attempts of five minutes. Three things stretch it: a concurrency cap set because your backend cannot take the load, a custom retry policy, and very large binaries. Distributing a 100 MB app to every device is quick; a 4 GB one is not.

Retries and timeouts
Which OS versions and devices are covered?

Android 8 and newer across phone, watch and TV form factors, with plain AOSP, Google APIs or Play Store system images. On iOS, the three latest major versions on current iPhone models; new major releases are added once Apple has stabilised them. The live list is one command away in the CLI.

Do our engineers have to rewrite the tests?

No. Marathon Cloud runs what you already have: Espresso, UI Automator, Kakao and Kaspresso, Cucumber and Patrol on Android; XCTest, XCUITest and KIF on iOS; Maestro flows on both. You upload the same app and test binaries your build already produces.

How does it fit into our CI?

There is an official GitHub Action, and a single-binary CLI for every other CI system. One step in the pipeline uploads the build, waits for the verdict and pulls the report back. Nothing to host.

CI/CD integration
What exactly is a device-hour?

Time on a virtual device from the moment the first test starts until the last one finishes, billed to the second. Device boot, app installation and artifact upload are not billed. A retry of a flaky test is billed as normal test time for that one test; the run is never restarted.

How billing works
What happens with flaky tests?

A test that fails is re-run on its own, on a fresh device, within the same run. The rest of the suite is untouched, so a single flaky test never costs your team another full cycle, and a green result means the code is green.

Retries
Where does our data go, and for how long?

Test runs are processed across several cloud providers and regions, sized to the spiky load of CI, and everything travels over HTTPS. App binaries are kept for 7 days and test results for 30 days, then permanently deleted. Every run gets freshly provisioned devices that are destroyed afterwards; nothing is shared between customers. Enterprise organisations can add SAML SSO and IP allowlisting. Marathon Cloud does not hold a SOC 2 certification today; if your procurement needs one, talk to us before you start.

Security and data
How long until we are running?

Minutes per engineer. There is no infrastructure to provision, so the first run is an upload and a command. Tinder reported two to three minutes of setup per engineer.

Start with 50 free
device hours

Run your real suite today. No credit card, no sales call required.