GET/api/v4/social/limits

Get Social plan limits and usage

Returns the account's Social connection cap alongside its billable, active and released connection usage for the current billing period.

Requires an API key. See Authentication for header format and key rotation.

Parameters

This endpoint takes no parameters.

Responses

200The account's Social caps and current usage. `brands` is null because brands are unlimited on API plans. Here 118 connections are billable: 112 still connected, plus 6 disconnected during this period whose slots are held until renewal.
Response
{  "data": {    "fetchAccountLimits": {      "brands": null,      "connections": 135,      "maxConnections": 135,      "users": 10,      "aiCredits": 500,      "usage": {        "brands": 31,        "connections": 118,        "connectionsActive": 112,        "connectionsReleased": 6      }    }  }}
401Unauthenticated, missing or invalid API key.

Reports what your Social plan allows and how much of it you have used. Read it before issuing a connection link, so you can tell a customer they are out of room instead of surfacing a SY95042 from a failed write.

FieldMeans
brandsBrand allowance. null on every API plan, meaning unlimited. Treat any null here as "no cap", not as zero.
connectionsConnections included by the subscription, tier plus any connection packs bought.
maxConnectionsThe cap actually enforced when you link a connection. On API plans it equals connections.
usersSeats included on the plan.
aiCreditsContent-generation credits included in the current period.
usage.brandsBrands that exist today. Informational — there is nothing to compare it against.
usage.connectionsThe billable count, and the only one the cap is applied to. Distinct connections used at any point in the current billing period: still connected plus released-this-period. Compare this with maxConnections.
usage.connectionsActiveConnections that are connected right now. Always less than or equal to usage.connections. Useful for showing a customer what is live; not the number they are charged for.
usage.connectionsReleasedConnections disconnected during the current billing period whose slots are still held. This is the capacity that comes back at renewal.

usage.connections is exactly usage.connectionsActive + usage.connectionsReleased.

A released slot is held until the period ends

Disconnecting a channel takes it offline immediately, but it does not hand the slot back. Within a billing period the cap counts the distinct connections you have used, whether or not they are still connected, so the slot stays spent until the subscription renews. Three consequences worth coding for:

  • Headroom is maxConnections - usage.connections, never maxConnections - usage.connectionsActive. Using the active count will tell a customer they have room they do not have, and the next connection link will come back SY95042.
  • Relinking the same account to the same brand is free. If a customer reconnects a Page they disconnected from that brand earlier in the period, it reuses the slot it already holds: connectionsActive goes up, connectionsReleased goes down, and connections does not move. Attaching that same Page to a different brand is a separate slot, and the original stays held until renewal.
  • connectionsReleased is your renewal forecast. It is precisely how many slots return to the pool when the cycle turns, which is what to show a customer deciding between waiting for renewal and buying a pack today.

This is the same shape as the rest of the billing model: capacity you buy is available at once, and capacity you give up leaves at the end of the cycle. See Plans and add-ons.

Use case: a pre-flight check in your onboarding flow. Before offering a customer the "connect an account" button, compare usage.connections — the billable count, not connectionsActive — with maxConnections. If there is no headroom, show them the add-on or upgrade path rather than letting POST /social/brands/{brandId}/connections/link fail. There is no equivalent check for brands: creating one with POST /social/brands never runs out of room.

Use case: sizing the next add-on. Connection packs are sold in fives, so maxConnections - usage.connections tells you directly how many networks you can still connect, and ceil((needed - headroom) / 5) is how many packs to buy.

Notes.

  • Brands are unlimited and unmetered. brands comes back null for dev-portal accounts. Client code that treated it as an integer cap must handle null, and should not render "0 brands remaining".
  • Connections are an account-wide pool, not a per-brand allowance. A brand can hold as many connections as you like, up to the five networks it supports, as long as the pool has room. See Plans and add-ons.
  • This endpoint covers the Social subscription only. Location caps belong to the Listings subscription and are enforced separately at POST /locations, which returns SY10155 when the account has no Listings plan at all.
  • Self-serve accounts are capped at 250 connections however many packs are purchased. Above that, the account has to move to Enterprise.
  • Spare capacity does not guarantee Instagram will connect. Instagram only allows a Business or Creator account linked to a Facebook Page; a personal account is refused at Meta's consent screen, not by this cap. If a customer has room here and the connection link still fails for Instagram, the account needs converting rather than more capacity.
  • The numbers are live, but a release is not a refund. Disconnecting with disconnect, or archiving a brand, is reflected here on the next read — as a fall in usage.connectionsActive and a matching rise in usage.connectionsReleased. usage.connections is unchanged, because the slot is held until the period ends. Both release paths behave identically.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/limits' \  -H "Authorization: API $LISTINGSAPI_KEY"