FansquareAPI reference
Open the app

Get started

Rate limits

Each API key has a budget of requests per minute, tighter on the endpoints that read large volumes.

Requests are counted per API key, in fixed one-minute windows: a window opens with the first request counted and resets one minute later.

EndpointsLimit per key
Every endpoint, by default60 per minute
Lists of orders, fans and publications, fan note read30 per minute
Sent messages and analytics20 per minute
Fan note edit10 per minute
Batch AI locks (acquire, release) and AI request acknowledgement120 per minute each
Webhook replay30 per minute
Webhook test delivery10 per minute

Every endpoint page states its own limit. Endpoints without a limit of their own share the default budget of the key; an endpoint with its own limit has a separate budget.

Headers

A counted request tells you where you stand in its response headers.

HeaderMeaning
x-ratelimit-limitThe budget of the current window
x-ratelimit-remainingRequests left in the window
x-ratelimit-resetSeconds until the window resets

A request refused before the rate limit check is not counted and carries none of these headers: a missing or unknown version, an invalid parameter or body, a missing or invalid key, a missing scope, an unknown path.

When you exceed it

The API answers 429 rate_limited with a Retry-After header, in seconds. Wait that long, then retry. Requests sent sooner are refused too, without extending the wait.

To export history, page through lists with limit=200 and spread the calls over time. For charts, prefer the analytics endpoints: one call returns aggregates that would take hundreds of order pages.