Skip to main content

How plans work

SocialAPI.AI uses resource-based limits. Every plan gives you a fixed number of brands, posts per month, interactions per month, media storage, and export quotas. A brand groups all social accounts for one business, client, or project. Connect Instagram, TikTok, LinkedIn, and more under one brand, and it counts as one unit. All plans have access to all platforms, DMs, and features. Plans differ only by resource limits. Upgrade at app.social-api.aiBilling. Compare every tier on the plans and pricing page.
All plans include managed platform apps for Meta (Instagram, Facebook, Threads), Google, TikTok, LinkedIn, and YouTube - no developer registration or app review on your side. Twitter is BYOK on every plan (setup guide). See Platform credentials for details.

Plan catalog endpoint

To read the full plan catalog programmatically instead of hardcoding the table below, call:
The response lists every tier, ordered cheapest to most expensive, with its display metadata, prices, and resource limits (trimmed to two plans here):
profiles is the count of social profiles (brands) the plan allows. Prices are in USD. A value of -1 means unlimited for any field under limits, and custom pricing for monthly_price_usd / annual_price_usd (shown on the Enterprise tier). popular flags the tier highlighted by default on pricing surfaces.

Plan limits

Export and analytics limits

Each plan includes different export quotas for analytics reports.
“Unlimited” in the table above means the feature is not capped. In the API response, unlimited values are represented as -1.

What counts as a post or interaction

Post operations (each consumes 1 post from your monthly allowance):
  • create_post - publishing or scheduling a new post (saving a draft is free; the credit is charged when you publish it)
  • publish_post - publishing an existing draft or scheduled post (POST /v1/posts/{pid}/publish)
  • retry_post - retrying a failed post
Interaction operations (each consumes 1 interaction from your monthly allowance):
  • reply - replying to a comment, review, or mention
  • send_dm - sending a direct message
All other operations are free. Listing accounts, fetching comments, reading DMs, checking usage, managing API keys, and similar read operations do not consume any quota.
Only the Free plan enforces post and interaction limits. All paid plans have unlimited posts and interactions. The counters are tracked but never block requests.

Billing periods

  • Paid plans: Aligned with your Stripe subscription cycle. The period_start and period_end come directly from Stripe.
  • Free plan: Rolling 30-day window from your account creation anniversary date.
Counters reset to zero at the start of each new period.

When you hit a limit

When you exceed your monthly post or interaction allowance, the API returns HTTP 429:
The interaction-limit response uses the same shape with error.code set to validation.interaction_limit_exhausted. Your counters reset at the start of your next billing period. To get more capacity immediately, upgrade your plan.
The billing.post_limit code is emitted by the bulk-import endpoint (POST /v1/posts/import) when the batch size exceeds your remaining post allowance.
When you exceed your storage quota, the API returns HTTP 413:

Checking your usage

A limit value of -1 means unlimited (all paid plans).

Checking storage usage

A limit_bytes value of -1 means unlimited storage.

Response headers

Post and interaction operations include usage headers in the response:
These headers are only set for Free plan post/interaction operations. Paid plans with unlimited resources omit them.

Platform rate limits

Platforms (Instagram, Facebook, etc.) have their own rate limits independent of your plan limits. When a platform rejects a request due to its own throttling, you receive:
The instagram segment is replaced with the actual platform name (facebook, tiktok, etc.). Match on the platform.*.rate_limit shape to handle all platforms. This does not consume your post or interaction quota. Retry after a short wait (typically a few minutes).

Platform publishing ceilings

Each platform sets its own publishing limits, which apply in addition to your plan quota. These are the platforms’ own published figures: We monitor each platform’s reported usage and pace requests to stay within the platform’s ceiling. SocialAPI itself adds no per-request throttle beyond your monthly plan quota, and read operations (inbox, reviews, comments) are not throttled on our side. If you run scheduled, unattended publishing across many accounts, design against the platform ceilings above.

Handling 429s

If the rate-limit enforcement backend (Redis) is unavailable, the API fails open. Requests are allowed through rather than blocked. This prevents infrastructure downtime from taking down your integration.