Limits. What a request may contain and how often.
Limits keep the API fast for everyone. Each one returns a clear error when reached.
Requests per minute, per token120
Request body1 MB
File upload50 MB
Webhook endpoints10
All limits
| Limit | Value | When reached |
|---|---|---|
| Requests per token | 120 a minute | 429 rate_limited with Retry-After |
| Request body | 1 MB | 413 payload_too_large |
| File upload | 50 MB | 413 payload_too_large or 400 validation_error |
| Visitor message | 2,000 characters | 400 validation_error |
| Reply from your team | 4,000 characters | 400 validation_error |
| Text source | 200,000 characters | 400 validation_error |
| Website source | 50 pages, links followed 2 levels deep | Extra pages are not read |
| Page size | 100 items | 400 validation_error |
| Webhook endpoints | 10 per account | 400 endpoint_limit |
| Idempotency keys | Kept 24 hours | After that a key is new again |
Monthly AI replies are a plan limit, not an API limit: when the plan's replies are used up, the chatbot answers with a neutral notice instead of an AI reply until the next period or an upgrade. Check GET /usage to warn before that.