Home / Docs / Billing & credits

Billing & credits

How plans, the monthly pin quota, and credits fit together, and where each is managed.

Plans

PinBridge has five plans: Playground, Starter, Growth, Agency, and Enterprise. Each includes the full publishing pipeline; higher plans raise the monthly pin quota, the number of connected Pinterest accounts, storage, and features like uploaded assets, bulk imports, and team roles.

For current prices and the per-plan feature list, see /pricing/. The per-plan pin quotas and account limits are summarized on Rate limits & quotas.

The API plan enum value for the Agency plan is pro. Enterprise is sold as “Custom” and is not part of the self-serve catalog.

Check your current plan, usage, and quota at any time:

curl https://api.pinbridge.io/v1/billing/status \
  -H "X-API-Key: $PINBRIDGE_API_KEY"

What counts against your quota

Each plan has a monthly pin-creation quota. Only successful new pin creations count against it. That includes direct POST /v1/pins, successful import rows, and successful scheduled publishes.

Reads, auth, board sync, webhooks, invalid rows, and idempotent retries do not count. When the monthly quota is exhausted, POST /v1/pins returns 402 with error code quota_exceeded (or credits_exhausted when credits are enabled but the balance is 0).

Credits

Credits are top-up packs that let you keep publishing after the monthly quota is used up. They are one-time purchases (Stripe Checkout), not a subscription.

Pack Pins Price
Small 200 $8.00
Medium 500 $17.50
Large 1,500 $45.00
XLarge 3,000 $75.00

Consumption order: the monthly plan quota is always consumed first. Only after the monthly quota is exhausted does PinBridge debit 1 credit per successful publish. If the quota is exhausted and there are no credits, the publish is rejected with 402 credits_exhausted.

Eligibility: credits are available only on paid, non-trial workspaces. Free (Playground) and trial workspaces cannot buy or consume credits.

Upgrading

Move to a higher plan through Stripe Checkout, or manage an existing subscription and payment method through the billing portal:

# Start a checkout session for a plan change
curl -X POST https://api.pinbridge.io/v1/billing/checkout \
  -H "X-API-Key: $PINBRIDGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "plan": "growth" }'

# Open the customer billing portal
curl -X POST https://api.pinbridge.io/v1/billing/portal \
  -H "X-API-Key: $PINBRIDGE_API_KEY"

The Python SDK covers these as client.billing.checkout(...), client.billing.portal(), client.billing.pricing(), and client.billing.status(). See the Python SDK.

Cancel and resume

You can cancel a paid subscription and later resume it:

  • Cancel: POST /v1/billing/cancel
  • Resume: POST /v1/billing/resume

Manage both from the billing portal (POST /v1/billing/portal), which opens Stripe’s customer portal.

While a paid plan is not active or trialing, publishing is blocked with 402 billing_inactive until the payment method or subscription is restored.

API-only endpoints

Some billing operations exist in the API but have no Python SDK method, so call them over HTTP directly:

  • Credits: GET / POST /v1/billing/credits/* (view balance and buy packs).
  • Cancel: POST /v1/billing/cancel.
  • Resume: POST /v1/billing/resume.

client.billing in the SDK exposes only pricing, checkout, portal, and status.

Next steps

Last updated September 12, 2026Was this page helpful? Tell us →