---
title: Limits
url: /docs/developers/limits
---

# Limits

How much one API key can do at once, and how big a request and its pages can be.

## Rate limits

Each key can make 60 requests a minute and have up to 4 changes in progress at once. The minute is a fixed one on the clock, not a rolling window.

Past either limit, the API answers `429` with a `Retry-After` header giving the seconds to wait:

| `detail` | `Retry-After` |
|---|---|
| `too many requests` | The seconds left in the current minute (1 to 60). |
| `too many changes in progress` | 2 |

If GrowLocal can't check the limits at that moment it answers `503` (`external access is not available`) rather than letting the call through; wait and try again. Neither answer runs anything, so the same request can be sent again as it is.

## Sizes

| What | Limit |
|---|---|
| A request body | 64 KB, as `application/json` |
| `operationId` | 80 characters |
| A page of the catalogue | 100 entries |
| A page of rows ([Read a list](reference/data-view-source-query.md)) | 1 to 200 rows (`pageSize`) |
| Filters in one query | 16 |
| Sort keys in one query | 3 |
| Search text | 200 characters |

## Keys

A key lives 7, 30 or 90 days, as chosen when it's made; 90 days is the longest ([Make an API key](api-keys.md)). A catalogue cursor lasts 15 minutes; a row cursor doesn't expire.
