Banata

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

LimitValue
Concurrent browser sessions1
Max browser session duration5 minutes
Browser hours per month5
Concurrent sandboxes1
Max sandbox duration5 minutes
Sandbox hours per month5

Available features: Basic browser sessions (light and medium weight, shared isolation, shared-dc egress), standard sandboxes, CAPTCHA solving.

Builder

LimitValue
Concurrent browser sessions5
Max browser session duration15 minutes
Browser hours per month100
Concurrent sandboxes3
Max sandbox duration30 minutes
Sandbox hours per month50

Additional features: Everything in Free, plus stealth mode.

Pro

LimitValue
Concurrent browser sessions25
Max browser session duration30 minutes
Browser hours per month1,000
Concurrent sandboxes10
Max sandbox duration60 minutes
Sandbox hours per month500

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

LimitValue
Concurrent browser sessions100
Max browser session duration60 minutes
Browser hours per month5,000
Concurrent sandboxes50
Max sandbox duration2 hours
Sandbox hours per month5,000

Additional features: Everything in Pro, plus rotating residential egress and static residential egress.


Feature Availability Matrix

FeatureFreeBuilderProScale
Light / medium browser sessionsYesYesYesYes
Heavy browser sessions (1 GB)——YesYes
Stealth mode—YesYesYes
Session recording——YesYes
CAPTCHA solvingYesYesYesYes
Shared isolationYesYesYesYes
Dedicated isolation——YesYes
Shared datacenter egressYesYesYesYes
Dedicated datacenter egress——YesYes
Rotating residential egress———Yes
Static residential egress———Yes
BYO proxyYesYesYesYes
Standard sandboxes (2 vCPU, 4 GB)YesYesYesYes
Paired Banata browser (sandbox)——YesYes
Sandbox recording——YesYes

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

bash
curl "https://api.boxes.banata.dev/v1/usage" \
  -H "Authorization: Bearer br_live_..."
json
{
  "totalSessions": 42,
  "totalBrowserHours": 12.5,
  "weightBreakdown": {
    "light": 20,
    "medium": 15,
    "heavy": 7
  },
  "periodStart": 1709251200000
}

Checking Your Subscription

bash
curl "https://api.boxes.banata.dev/v1/billing" \
  -H "Authorization: Bearer br_live_..."
json
{
  "hasSubscription": true,
  "plan": "pro",
  "polarCustomerId": "cust_abc123",
  "currentPeriod": {
    "totalSessions": 42,
    "totalBrowserHours": 12.5,
    "weightBreakdown": { "light": 20, "medium": 15, "heavy": 7 }
  }
}

Upgrading Your Plan

bash
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:

json
{
  "plan": "pro",
  "successUrl": "https://your-app.com/billing/success"
}

What Happens When You Hit Limits

LimitBehavior
Monthly hours exceededNew session creation returns 429 Monthly browser hours limit reached. Active sessions continue.
Concurrent sessions reachedNew session creation returns 429 Concurrent browser session limit reached. Existing sessions are unaffected.
Max duration reachedThe session is automatically ended and cleaned up.
Feature not in planSession creation returns 403 with code PLAN_FEATURE_UNAVAILABLE, including requiredPlan and currentPlan.

Next Steps