Phonebox / Docs
Billing

Limits

Every limit on phones, requests, batches, files, links and spending, what happens when you reach one, and how to ask for more.

View as Markdown

Project limits

Each project has these limits:

LimitDefaultWhen you reach it
Phones in the project, not counting deleted or failed ones10409 phone_limit_reached
Phones running at once2, which you can lower in Settings409 running_limit_reached
Requests600 a minute for each API key429 rate_limited with Retry-After
Lifecycle requests: creates, starts and renewals, parks and deletes60 a minute for each project429 rate_limited with Retry-After
Actions in one batch20, with at most 60 seconds of waiting in all400 validation_failed
File uploads and downloads4 MB, which is 4,000,000 bytes413 payload_too_large
An APK upload524,288,000 bytes (500 MiB), sent within 2 minutesThe upload ends as too_large
Uploads a project holds, processing or ready524,288,000 bytes (500 MiB)409 storage_limit_reached
New uploads50 a day for each project, in UTC days429 rate_limited with Retry-After
Live link lifetime60 seconds to 24 hours, 1 hour by default400 validation_failed
Monthly spending$100, which you change in Settings. $0 pauses new spending.402 spend_limit_reached
  • A failed phone holds no device, so it doesn't count toward the phone limit. Neither does a deleted one.
  • A phone counts as running while it is creating, starting or ready.
  • The running limit counts all of your projects together, so a second project doesn't add to it. To run more phones at once, email team@phonebox.dev.
  • Phonebox counts the request limit on each of its servers, so treat 600 as approximate. The lifecycle limit is exact, and a replayed create with the same Idempotency-Key doesn't count toward it.
  • GET /v1/account shows the project's phone and running limits, and how many phones it has and runs.

Across all projects, Phonebox can run only so many phones at once. When none are free, a create or a start fails with 503 capacity_unavailable. When it is retryable, send the same request again after its Retry-After: a refused create made no phone, and a start whose phone parked again starts the same phone again. When a few tries in a row are refused, stop and try again later. When it isn't retryable, a new phone has failed, so its status is failed: create another one with a new key.

Other limits

WhatLimit
Projects per account10
Active API keys per project50
Phones a limited key may use1 to 20
idle_timeout60 to 3600 seconds, 300 by default
max_duration60 to 10800 seconds, 900 by default
Phone name80 characters
Metadata20 pairs, with keys of up to 40 characters and values of up to 256
JSON request body100 KB, or 200 KB for an action batch
A long poll's timeout55 seconds, 50 by default
A list page100 items, 50 by default
Reboots1 every 10 minutes for each phone
Text in one type action5,000 characters
One wait action10 seconds
One wait_for action30 seconds, 10 by default
A batch's running timeNo new action starts after 90 seconds.
Clipboard text10,000 characters
Elements in one observation250
A screenshot's max_width160 to 2000 pixels
A screenshot, or an observation with oneUnder 4 MB
Snapshots, for acting by ref15 minutes
An Idempotency-KeyRemembered for 24 hours
Activity recordsKept for 30 days

Ask for more

To keep more phones in a project, or to run more at once, email team@phonebox.dev. Include your project ID, which the console's Settings page shows, how many phones you need, and what your agents do with them. The spending limit is yours to change in Settings at any time.

On this page