Rate limits
Limits are per API token, so one busy integration doesn't slow down another.
| Limit | |
|---|---|
| Requests | 120 a minute per token |
File uploads (POST …/media) |
30 a minute per token, within the 120 |
| Results per page | 25 by default, at most 100 (page[size]) |
| Files in a post | 20 |
| Accounts in a post | 50 |
Every response says where you stand:
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 117
Past the limit, requests answer 429 with a Retry-After header (seconds) and a JSON:API error:
{
"errors": [
{
"status": "429",
"code": "too_many_requests",
"title": "Too many requests",
"detail": "Slow down: see the Retry-After header for when to try again."
}
]
}
Wait that many seconds before trying again. For bursts, such as importing many posts, pace requests rather than retrying in a loop.
MCP
AI apps connected through the MCP server have their own limit: 120 tool calls a minute per person, across all of that person's apps.
Webhooks
Refract waits up to 10 seconds for your endpoint to answer each delivery and retries failed ones on its own schedule (see Webhook events), so receivers should answer quickly and do slow work afterwards.