> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://api.docs.modulards.com/rate-limits/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api.docs.modulards.com/_mcp/server. # Rate limits | Limit | Applies to | | ----------------------- | -------------------------------------------------------------------------- | | 120 requests per minute | Each token, across every endpoint | | 20 requests per minute | Each token, on file uploads (`POST /uploads`), on top of the general limit | Limits are counted per token, not per organization or per person: two tokens have separate budgets. ## Knowing where you stand Successful responses carry two headers: | Header | Meaning | | ----------------------- | ----------------------------------------------- | | `X-RateLimit-Limit` | The number of requests allowed per minute | | `X-RateLimit-Remaining` | How many of them are left in the current minute | Slow down as `X-RateLimit-Remaining` approaches zero. ## When you go over A request over the limit answers `429`: ```json { "errors": [ { "status": "429", "title": "Error", "detail": "Too Many Attempts." } ], "jsonapi": { "version": "1.1" } } ``` Wait before retrying: the budget refills within a minute. Retry with an increasing delay rather than immediately, and never retry in a tight loop. The request quota of the organization is a separate limit, counted over the billing period: see [Organizations](/organizations). > Requests per minute, per token