Skip to main content
Plans define monthly browser-hour and premium-egress allowances, plus a concurrent-session limit. Earlier plans also meter actions and CAPTCHA solves. Developer and Team accounts use card billing. Requests do not debit the wallet, and a zero wallet balance does not block usage. Available wallet credits cover overage before it is invoiced. Free and credit-funded accounts use per-call charges. Credit amounts in endpoint descriptions apply to those accounts. GET /v1/credits returns base credit rates, excluding the premium-egress per-MB rate.

GET /v1/usage

Month-to-date usage against the plan, the key’s throttles, and premium egress by exit type. Read remaining here rather than waiting for a 402. Auth: Bearer API key. No body.

GET /v1/credits

The wallet balance and base credit rates. Developer and Team use card billing as described above; these rates do not imply per-call wallet debits on those plans.

POST /v1/credits/redeem

Redeem a promo code into the wallet. Single use per account. Request: {"code": "..."} (promo is accepted as an alias). Codes are matched case-insensitively.
A valid code answers 200 with ok: true, granted (the credits added) and balance (the new balance); the new balance applies to the very next call. Errors:

What each route costs

The table uses the example credit rates above for Free and credit-funded accounts. Read GET /v1/credits for current base rates. Session creation, browser time, actions and egress are separate charges; an unsuccessful page read can still incur session or traffic charges. Traffic through a residential, ISP or mobile exit is billed per MB at the premium rate instead of the datacenter rate, and counted against the plan’s included premium egress.

Premium egress

Traffic through a custom proxy does not count against the Tilion premium proxy allowance. Browser time is billed as usual. Every byte a session moves through a paid exit (residential, ISP or mobile, chosen with residential: true, proxy_type, stealth: "max" or a geo target on create, or spent by self-healing on a blocked page) is metered by exit type and reported in premium_egress_usage. The plan’s included GB is shared by all types; past it, each GB is invoiced at the graduated prices in prices_usd_per_gb on a plan with overage, and refused on a plan without it. Datacenter sessions keep working either way. Refusals you can get:

premium_required

POST /v1/fetch and POST /v1/extract do not fail when a page can only be reached through a paid exit you cannot use. They answer 200 with the outcome they could reach (status challenged, hard_blocked or similar) and set premium_required to a sentence saying what would unlock it: that this month’s included premium egress is used up and the plan needs an upgrade, or that the wallet needs more credits for residential unlock and CAPTCHA solving. It is null on every other answer.

Plans

Developer and Team are the self-serve paid plans, billed by card through the dashboard; Free needs no card. Checkout and the billing portal are dashboard actions. Both paid plans allow overage: browser time, premium egress by exit type, and on the earlier plans actions and solves, are metered past the included amounts and invoiced; credits in the wallet are spent on overage first. Pro and Scale remain for customers already subscribed. Enterprise lifts every cap.