Rate limiting

Prev Next
This content is currently unavailable in Русский. You are viewing the default (English) version.

Tulip applies rate limits to assets to provide a consistent and reliable experience for users.
Tulip will be rolling out rate limiting within the next 3 months. Rate limits ensure high levels of performance and availability on the Tulip platform.

Table rate limits

For Essentials, Professional, and Enterprise plans, the following rate limits apply per table within a workspace.

API category Rate limit value Endpoints
Record write 10 seconds per table POST /api/v3/tables/:tableId/records (createRecord)
PUT /api/v3/tables/:tableId/records/:recordId (updateRecord)
PATCH /api/v3/tables/:tableId/records/:recordId/increment (incrementRecord)
Record delete 10 seconds per table DELETE /api/v3/tables/:tableId/records (deleteRecords)
DELETE /api/v3/tables/:tableId/records/:recordId (deleteRecord)
Record read (individual) 50 seconds per table GET /api/v3/tables/:tableId/records/:recordId (getRecord)
Record read (multi) 50 seconds per table GET /api/v3/tables/:tableId/runAggregation (runAggregation)
GET /api/v3/tables/:tableId/records (listRecords)
POST /api/v3/tables/:tableId/exportDataset (exportDataset)
GET /api/v3/tables/:tableId/count (countRecords)
NOTE

Some account plans will have custom configurations.

What do I do if I exceed the rate limit?

  • Review the 429 error. The table and token will help you identify why a given token is encountering rate limits.
  • Batch requests if possible. For example, suppose you have an app that needs to fetch data for a set of table records. Instead of sending individual requests for each record, you’d want to send a single query or batch operation that includes all the record IDs (or filtering criteria) you need—then process the results locally in the app.
  • Cache results. Rather than sending frequent requests, cache the data from an earlier request. Then, either refresh the data when requested (such as when a user explicitly wants to refresh data in an app) or on a periodic basis that fits the rate limits.
  • Make sure your app is correctly handling rate-limited requests. Make sure your app retries user requests after the Retry-After value in the 429 error.


Did you find what you were looking for?

You can also head to community.tulip.co to post your question or see if others have solved a similar topic!