Rate limits
Per-key fixed-window request limits for the Pepvote API.
Pepvote applies a fixed one-minute window to each API key. Limits are separate for read, write, batch, and public voting requests.
| Request type | Limit per key per minute |
|---|---|
| Read requests | 120 |
| Write requests | 30 |
Batch creates: /positions/batch, /candidates/batch, /groups/batch, /voters/batch | 10 |
Public voting requests under /public (vote scope) | 300 |
The public voting bucket is wider because one key fronts many voters. Per-voter rules inside each endpoint, such as one ballot per voter, still apply.
Authenticated responses include these headers, including rate-limit errors:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests allowed in the current window. |
X-RateLimit-Remaining | Requests still available in the current window. |
X-RateLimit-Reset | Unix timestamp in seconds when the window resets. |
Retry-After | Seconds to wait. Present on 429 rate_limited. |
When you receive 429, wait for Retry-After before retrying. Use a queue and steady request rate for large imports. Do not retry a request in a tight loop.
Was this helpful?
Last updated September 6, 2026