Platform
Billing & Plans
Plan tiers, feature availability, usage limits, and how to manage your Banata subscription.
Banata uses plan-based billing with usage limits. Your plan determines which features you can access, how many concurrent sessions you can run, and your monthly usage quotas.
Plans
Free
| Limit | Value |
|---|---|
| Concurrent browser sessions | 1 |
| Max browser session duration | 5 minutes |
| Browser hours per month | 5 |
| Concurrent sandboxes | 1 |
| Max sandbox duration | 5 minutes |
| Sandbox hours per month | 5 |
Available features: Basic browser sessions (light and medium weight, shared isolation, shared-dc egress), standard sandboxes, CAPTCHA solving.
Builder
| Limit | Value |
|---|---|
| Concurrent browser sessions | 5 |
| Max browser session duration | 15 minutes |
| Browser hours per month | 100 |
| Concurrent sandboxes | 3 |
| Max sandbox duration | 30 minutes |
| Sandbox hours per month | 50 |
Additional features: Everything in Free, plus stealth mode.
Pro
| Limit | Value |
|---|---|
| Concurrent browser sessions | 25 |
| Max browser session duration | 30 minutes |
| Browser hours per month | 1,000 |
| Concurrent sandboxes | 10 |
| Max sandbox duration | 60 minutes |
| Sandbox hours per month | 500 |
Additional features: Everything in Builder, plus session recording, dedicated isolation, heavy-weight browser sessions (1 GB), dedicated datacenter egress, and paired Banata browser for sandboxes.
Scale
| Limit | Value |
|---|---|
| Concurrent browser sessions | 100 |
| Max browser session duration | 60 minutes |
| Browser hours per month | 5,000 |
| Concurrent sandboxes | 50 |
| Max sandbox duration | 2 hours |
| Sandbox hours per month | 5,000 |
Additional features: Everything in Pro, plus rotating residential egress and static residential egress.
Feature Availability Matrix
| Feature | Free | Builder | Pro | Scale |
|---|---|---|---|---|
| Light / medium browser sessions | Yes | Yes | Yes | Yes |
| Heavy browser sessions (1 GB) | — | — | Yes | Yes |
| Stealth mode | — | Yes | Yes | Yes |
| Session recording | — | — | Yes | Yes |
| CAPTCHA solving | Yes | Yes | Yes | Yes |
| Shared isolation | Yes | Yes | Yes | Yes |
| Dedicated isolation | — | — | Yes | Yes |
| Shared datacenter egress | Yes | Yes | Yes | Yes |
| Dedicated datacenter egress | — | — | Yes | Yes |
| Rotating residential egress | — | — | — | Yes |
| Static residential egress | — | — | — | Yes |
| BYO proxy | Yes | Yes | Yes | Yes |
| Standard sandboxes (2 vCPU, 4 GB) | Yes | Yes | Yes | Yes |
| Paired Banata browser (sandbox) | — | — | Yes | Yes |
| Sandbox recording | — | — | Yes | Yes |
How Usage Is Calculated
Browser hours
Browser hours are measured from the time a session reaches ready to when it reaches ended. A session that runs for 10 minutes consumes 1/6 of a browser hour.
Sandbox hours
Sandbox hours are measured the same way — from ready to ended. Time spent in paused state does not count toward usage.
Billing period
Usage resets on the 1st of each month.
Checking Your Usage
curl "https://api.boxes.banata.dev/v1/usage" \
-H "Authorization: Bearer br_live_..."{
"totalSessions": 42,
"totalBrowserHours": 12.5,
"weightBreakdown": {
"light": 20,
"medium": 15,
"heavy": 7
},
"periodStart": 1709251200000
}Checking Your Subscription
curl "https://api.boxes.banata.dev/v1/billing" \
-H "Authorization: Bearer br_live_..."{
"hasSubscription": true,
"plan": "pro",
"polarCustomerId": "cust_abc123",
"currentPeriod": {
"totalSessions": 42,
"totalBrowserHours": 12.5,
"weightBreakdown": { "light": 20, "medium": 15, "heavy": 7 }
}
}Upgrading Your Plan
curl -X POST "https://api.boxes.banata.dev/v1/billing/checkout" \
-H "Authorization: Bearer br_live_..." \
-H "Content-Type: application/json" \
-d '{"plan": "pro"}'This returns a checkout URL. After completing payment, your organization is immediately upgraded and the new limits take effect.
You can optionally pass a successUrl (must be HTTPS) to redirect after payment:
{
"plan": "pro",
"successUrl": "https://your-app.com/billing/success"
}What Happens When You Hit Limits
| Limit | Behavior |
|---|---|
| Monthly hours exceeded | New session creation returns 429 Monthly browser hours limit reached. Active sessions continue. |
| Concurrent sessions reached | New session creation returns 429 Concurrent browser session limit reached. Existing sessions are unaffected. |
| Max duration reached | The session is automatically ended and cleaned up. |
| Feature not in plan | Session creation returns 403 with code PLAN_FEATURE_UNAVAILABLE, including requiredPlan and currentPlan. |
Next Steps
- Rate Limits — API rate limiting per endpoint
- API Reference — Full endpoint documentation
- Browser Sessions — Session options and plan requirements