Rate limits
How many requests you can send, and the size limits on each one.
Requests
| Limit | Counted per | Applies to |
|---|---|---|
| 300 a minute | Organization | Workspace, table and schema reads |
| 60 a minute | Organization | Row reads: GET /rows and POST /rows/query |
| 60 a minute | IP address and key | Requests with a missing or wrong API key |
| 100 a second | IP address | Webhook requests |
Row reads have a lower limit because they do more work. Going over a limit returns 429. Wait a moment and retry, and spread row reads over the minute instead of sending them all at once.
Size of each request
| Limit | Value |
|---|---|
Rows per page (limit) | 100, also the default |
Search text (q or query) | 100 characters |
| Filter rules per group | 25 |
| Filter rules in total | 100 |
| Filter nesting | 5 levels |
| Filter value | 1,000 characters |
| Objects per webhook request | 500 |
| Webhook request body | 1 MB |
A request over a size limit returns 400 with a message saying which limit, except an oversized webhook body, which returns 413.
Long cell values
Row responses cut cell values to 200 characters to keep pages small. A cut cell says so:
{
"value": "first 200 characters",
"status": "success",
"isTruncated": true,
"valuePreview": "first 200 characters"
}