> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gtm-api.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Billing and plans

> Sandbox, the forever free plan you start on, how paid accounts are priced, and what happens when a payment fails or a subscription ends.

You start on Sandbox, the forever free plan: one connected LinkedIn account, the
full product, no card and no time limit. This page covers what each plan grants,
what changes at each boundary, and where to see it.

## Where to see your plan

The sidebar card is the workspace's plan and usage at a glance: the plan name and how many
account slots are used against the cap.

Every browser holds a slot from the moment it is created, including one nobody has signed
in on yet. A browser that no LinkedIn account signs in on is deleted after 30 days, which
frees its slot ([details](/kb/antidetect-browsers-and-proxies#browser-lifecycle)).

<Frame caption="The sidebar plan card: plan name and account slots used against the cap.">
  <img src="https://mintcdn.com/getsalesio/-R0KXJStre05Nt_b/images/kb/sidebar-plan-card.png?fit=max&auto=format&n=-R0KXJStre05Nt_b&q=85&s=9eabf203d848b5e29b696f4cc5c62afc" alt="Sidebar plan card showing the plan name and 7 of 5 account slots used" width="462" height="208" data-path="images/kb/sidebar-plan-card.png" />
</Frame>

<Note>
  Slots can read over the cap (`7 / 5` above) whenever the cap drops below what is already
  connected, for example after a paid downgrade. The newest accounts are parked and their
  browsers powered off until you free a slot or raise the cap. A parked account keeps its
  browser profile for as long as it stays signed in to LinkedIn. The profile is deleted only
  once LinkedIn has logged the account out or restricted it for more than 30 days, and a
  warning email comes a week before.
</Note>

## Sandbox, the forever free plan

Signing up lands you here, with no card and no time limit. Sandbox is one workspace
per account: a further workspace you create comes up without capacity until you buy a
plan for it. It is the full product on one connected account: the UI, the REST API,
the MCP server and every LinkedIn action verb stay available, and the plan caps
volume and frequency instead of features.

| Grant | Value |
| - | - |
| Connected accounts | 1 |
| Card required | None |
| Parallel cloud-browser sessions | 1 |
| Webhooks | 0 |
| Expiry | None; the plan does not end |

Three things are genuinely off rather than slowed: **webhooks** (creating one answers
`webhook_limit_reached`), **team members** (the workspace is single-user), and the **AI
copilot**.

Daily action caps on Sandbox, per connected account:

| Action | Per day |
| - | - |
| Connection requests | 5 |
| Messages | 10 |
| InMails | 5 |
| Profile visits | 8 |
| Scraping actions | 15 |
| Data requests | 20 |
| Enrichments | 12 |
| Comments, reactions, endorsements | 5 each |
| Posts | 1 |
| Profile edits | 2 |
| Custom requests | 9 |
| Networking, general | 6 |
| Messaging, general | 15 |

Two more Sandbox behaviors worth planning around:

* **Sync cadence is relaxed.** Each sync surface refreshes at most once every 24 hours,
  and realtime message push is off. Initial backfills after connecting are exempt.
* **An account signed out of LinkedIn for more than 30 days is parked.** That covers an
  account LinkedIn logged out and one it restricted. The browser profile is deleted, so
  coming back means connecting the account and logging into LinkedIn again. An account
  that stays signed in is never parked, however little you use it.

Account health keeps syncing on Sandbox regardless, so smart limits and warmup
stay accurate.

## Paid plans

Pricing is per connected account per month, in volume brackets. Every account bills at
the bracket its total lands in, so the price per account drops for the whole workspace
as you add accounts.

| Accounts | Per account / month | Parallel cloud-browser sessions (workspace total) |
| - | - | - |
| 1 to 4 | \$39 | 1 |
| 5 to 9 | \$30 | 2 |
| 10 to 19 | \$25 | 2 |
| 20 to 49 | \$20 | 3 |
| 50 to 99 | \$16 | 3 |
| 100 to 299 | \$13 | 4 |
| 300 to 999 | \$10 | 5 |
| 1,000+ | Custom | Custom |

Two allowances do not scale with the account count: **100 webhooks** and the session
column above, which is a total for the workspace rather than a per-account number.

* **Annual billing** is pay for 12 months, get 15 months of service.
* **5G Proxy** is an optional add-on at **+\$15 per selected account per month**, for
  accounts that need a dedicated premium 5G mobile route: commands execute faster,
  with fewer retries and fewer drops.

The current published pricing is on the [pricing page](https://gtm-api.com/pricing/).

## Subscription statuses

| Status | What it means |
| - | - |
| `active` | Paid and current, or the free Sandbox plan |
| `past_due` | A payment failed; a grace window is running |
| `paused` | Billing stopped by request; the workspace is gated, data is kept |
| `canceled` | Ended. Terminal: a new subscription is a new purchase |

The workspace itself is either active or suspended, derived from the above: `active` is
active, `paused` is suspended, and `past_due` stays active until the grace window closes.

### When a payment fails

The workspace keeps working for **7 days** past the end of the paid period. Update the
card within that window and the subscription returns to `active` on its own. After it,
the workspace is suspended until payment succeeds.

<Note>
  Card updates happen in the payment provider's hosted portal, reached through a
  short-lived link the API mints
  (`POST /api/billing-subscriptions/{sid}/get-update-payment-method-link`). Workspaces
  billed by sales invoice have no card portal; talk to us instead.
</Note>

### When a subscription ends

Cancelling takes effect at the end of the paid period, with no immediate charge and no
refund for the remainder. The workspace then falls back to Sandbox and keeps working at
free-plan volume: the account cap reconciles to 1, and the accounts beyond the cap are
parked newest-first with their browsers powered off. Reconnect or upgrade and they come
back.

<Warning>
  A canceled workspace that cannot fall back to Sandbox (the owner already has a free
  workspace, for example) has no coverage at all, and it is scheduled for deletion **30 days**
  after the subscription ends. A paused or past-due subscription never schedules it. The
  workspace owner gets an email with the date within a day, and a final one 3 days before
  it. No workspace is deleted before that final email has gone out.

  Resubscribe before the date and the deletion is canceled: the workspace comes back as it
  was. On the date the workspace is deleted, and that cannot be undone. API keys are revoked,
  members lose access at once, and the data is erased 30 days later.
</Warning>

Pausing is the alternative: billing stops at the next period, the workspace is gated like
a suspended one, and every account, browser and row is retained until you resume.

## Changing plan over the API

Seat count is the subscription's `quantity`, and it is what the account cap follows.
Changing it re-brackets the price automatically. The change is a two-step flow, and the
first step charges nothing:

<CodeGroup>
  ```bash preview theme={null}
  # What would this cost? Read-only: no charge, no change.
  curl -X POST "https://app.gtm-api.com/id/v4/api/billing-subscriptions/bl_sb_YOUR_SUB/preview-change" \
    -H "Authorization: Bearer gtm_live_YOUR_KEY" \
    -H "Content-Type: application/json" \
    -d '{"quantity": 12}'
  ```

  ```bash apply theme={null}
  # Commit the same change
  curl -X POST "https://app.gtm-api.com/id/v4/api/billing-subscriptions/bl_sb_YOUR_SUB/change" \
    -H "Authorization: Bearer gtm_live_YOUR_KEY" \
    -H "Content-Type: application/json" \
    -d '{"quantity": 12}'
  ```

  ```bash read theme={null}
  # The workspace's current subscription and its status
  curl -X POST "https://app.gtm-api.com/id/v4/api/billing-subscriptions/search" \
    -H "Authorization: Bearer gtm_live_YOUR_KEY" \
    -H "Content-Type: application/json" \
    -d '{"page_size": 5}'
  ```
</CodeGroup>

Buying the first paid subscription is `POST /api/billing-subscriptions/create-checkout`,
which returns a `checkout_url` for a human to complete. The subscription exists once the
payment settles, not when the link opens; an abandoned checkout leaves nothing behind.

<Warning>
  The subscription verbs take no idempotency key. `change` charges the prorated difference
  immediately, so if a call returns unclearly, read the subscription back before retrying
  rather than sending it twice.
</Warning>

Pause, resume, cancel, and add-ons (`add-addon`, `remove-addon`) are the remaining verbs
on the same subscription. Add-ons charge prorated immediately; removing one takes effect
at the next period. None of these apply to Sandbox workspaces, which have no payment
provider subscription behind them.

## Related

* [Smart limits and warmup](/kb/smart-limits-and-warmup)
* [Connect a LinkedIn account](/kb/connect-a-linkedin-account)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.