> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plazza.ca/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate limits

> How many requests you can send, and what to do at the limit.

The API counts requests to each endpoint in one-minute windows, under two limits:

| Limit | Counts requests to one endpoint from | Requests a minute |
| - | - | - |
| Per address | One IP address, signed in or not | 600 |
| Per account | One signed-in account, or one IP address without one | 100 |

The per-address limit applies first, so requests with a missing or refused token count too. People
who share an office's address each get their own per-account limit.

Plan for these numbers: each of the API's servers counts on its own, so the API may let more
through, never fewer.

## Roadmap participation

Posting a roadmap suggestion, a comment or a report has a stricter limit: each of those endpoints
takes 20 requests in 10 minutes from one signed-in account. Voting, following and reacting keep the
limits above.

## At the limit

A request over a limit answers `429` with the status `RESOURCE_EXHAUSTED` and the reason
`RATE_LIMIT_EXCEEDED`, and further requests are refused until the block ends. The answer says when
that is, twice: a `RetryInfo` detail in the body, and a `Retry-After` header for plain HTTP
clients.

```json theme={null}
{
	"error": {
		"code": 429,
		"message": "Too many requests: retry in 42 seconds.",
		"status": "RESOURCE_EXHAUSTED",
		"details": [
			{
				"@type": "type.googleapis.com/google.rpc.ErrorInfo",
				"reason": "RATE_LIMIT_EXCEEDED",
				"domain": "api.plazza.ca"
			},
			{
				"@type": "type.googleapis.com/google.rpc.LocalizedMessage",
				"locale": "en",
				"message": "Too many requests. Wait a moment, then try again."
			},
			{
				"@type": "type.googleapis.com/google.rpc.RetryInfo",
				"retryDelay": "42s"
			}
		]
	}
}
```

Wait for `retryDelay` before retrying; a browser can't read `Retry-After` from another origin, but
it can read the body. Spread bursts out rather than sending them all at once.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.