# Rate limits

## Per credential

Each API key or OAuth connection can make **120 requests a minute**. An MCP tool call counts as one request.
Going over returns:

```http
HTTP/1.1 429 Too Many Requests
Retry-After: 60

{ "error": { "code": "RATE_LIMITED", "message": "More than 120 requests in a minute. Wait a minute and try again." } }
```

Wait for `Retry-After` seconds, then continue. Spread bulk jobs out rather than retrying in a tight loop.

## Plan quotas

| Quota | Counted |
|---|---|
| Posts a month | Per account a post goes to (one post to three accounts counts as three), by scheduled month in the workspace time zone. Drafts don't count. |
| Connected accounts | Across every workspace on the subscription. |
| Media storage | Total size of files across the subscription's workspaces. |

Hitting one returns `402 PLAN_LIMIT` with a message saying which.

## Platform limits

Platforms cap how much an account can publish (for example, Instagram allows 100 API posts per account in 24 hours, and an
unaudited TikTok app can post for a few users a day). PostFlow retries temporary errors and reports the rest on the
target's `errorMessage`. See each [platform page](/platforms/).