Two Minute Reports Logo
API reference

Rate limits

Request quotas for the Two Minute Reports API and how to handle the 429 Too Many Requests response.

The API enforces rate limits to keep the service responsive for everyone.

Each endpoint counts its requests separately. For an endpoint with a teamId in its path, all keys that call the same team share one count. For other endpoints, each user has their own count.

Global limit

By default, every endpoint allows 120 requests per 60 seconds and 10,000 requests per hour.

Per-endpoint limits

Some endpoints have tighter limits because they are sensitive or expensive. These override the global limit:

EndpointLimit
POST /teams/{teamId}/data/run-query15 / minute and 500 / hour
PUT /users/me/avatar10 requests / 5 minutes

Exceeding the limit

When you exceed a limit, the API responds with 429 Too Many Requests:

{
  "success": false,
  "error": {
    "code": "TOO_MANY_REQUESTS",
    "message": "Too many requests — please slow down and try again later"
  }
}

A 429 can also come from the network protection in front of the API. That response is an HTML page, not JSON. Do not expect a JSON body on every 429: check the status first.

Back off and retry after a short delay when you receive a 429. For batch workloads, spread requests out rather than sending them in a tight loop.
Copyright © 2026