Limits¶
Tinybird has limits on certain operations and processes to ensure the highest performance.
Workspace limits¶
Description | Limit |
---|---|
Number of Workspaces | Default 90 (soft limit; ask to increase) |
Number of seats | Default 90 (soft limit; ask to increase) |
Number of Data Sources | Default 100 (soft limit; ask to increase) |
Number of Tokens | 100,000 (If you need more you should take a look at JWT tokens) |
Number of secrets | 100 |
Queries per second | Default 20 (soft limit; write to support@tinybird.co to increase it) |
See Rate limits for JWTs for more detail specifically on JWT limits.
Ingestion limits¶
Description | Limit |
---|---|
Data Source max columns | 500 |
Full body upload | 8MB |
Multipart upload - CSV and NDJSON | 500MB |
Multipart upload - Parquet | 50MB |
Max file size - Parquet | 1GB |
Max file size (uncompressed) - Build plan | 10GB |
Max file size (uncompressed) - Pro or Enterprise plan | 32GB |
Kafka topics | Default 5 (soft limit; ask to increase) |
Max parts created at once - NDJSON/Parquet jobs and Events API | 12 |
Ingestion limits (API)¶
Tinybird throttles requests based on the capacity. So if your queries are using 100% resources you might not be able to run more queries until the running ones finish.
Description | Limit and time window |
---|---|
Request size - Events API | 10MB |
Response size | 100MB |
Create Data Source from schema | 25 times per minute |
Create Data Source from file or URL* | 5 times per minute |
Append data to Data Source* | 5 times per minute |
Append data to Data Source using v0/events | 1,000 times per second |
Replace data in a Data Source* | 5 times per minute |
*Note that the quota for "Create Data Source from file or URL", "Append to Data Source", and "Replace data in Data Source" is shared. That is, you cannot do 5 requests of each type per minute, for a total of 15 requests. You can do at most a grand total of 5 requests of those types combined.
The number of rows in append requests does not impact the ingestion limit; each request counts as a single ingestion.
If you exceed your rate limit, your request will be throttled and you will receive HTTP 429 Too Many Requests response codes from the API. Each response contains a set of HTTP headers with your current rate limit status.
Header Name | Description |
---|---|
X-RateLimit-Limit | The maximum number of requests you're permitted to make in the current limit window. |
X-RateLimit-Remaining | The number of requests remaining in the current rate limit window. |
X-RateLimit-Reset | The time in seconds after the current rate limit window resets. |
Retry-After | The time to wait before making a another request. Only present on 429 responses. |
Snowflake & BigQuery Connector limits¶
The import jobs are run in a pool, with capacity for up to 2 concurrent jobs. If more scheduled jobs overlap, they are queued.
Description | Limit and time window |
---|---|
Maximum frequency for the scheduled jobs | 5 minutes |
Maximum rows per append or replace (exports that exceed this number of rows will be truncated to this amount) | 50 million rows |
Query limits¶
Description | Limit |
---|---|
SQL length | 8KB |
Result length | 100MB |
Query execution time | 10s |
If you exceed your rate limit, your request will be throttled and you will receive HTTP 429 Too Many Requests response codes from the API. Each response contains a set of HTTP headers with your current rate limit status.
Header Name | Description |
---|---|
X-RateLimit-Limit | The maximum number of requests you're permitted to make in the current limit window. |
X-RateLimit-Remaining | The number of requests remaining in the current rate limit window. |
X-RateLimit-Reset | The time in seconds after the current rate limit window resets. |
Retry-After | The time to wait before making a another request. Only present on 429 responses. |
Query timeouts¶
If query execution time exceeds the default limit of 10 seconds, an error message appears. Long execution times hint at issues that need to be fixed in the query or the Data Source schema.
To avoid query timeouts, optimize your queries to remove inefficiencies and common mistakes. See Optimizations for advice on how to detect and solve issues in your queries that might cause timeouts.
If you still need to increase the timeout limit, contact support. See Get help.
Only paid accounts can raise the timeout limit.
Publishing limits¶
Materialized Views limits¶
No numerical limits, certain operations are inadvisable when using Materialized Views.
Sink limits¶
Sink Pipes have the following limits, depending on your billing plan:
Plan | Sink Pipes per Workspace | Execution time | Frequency | Memory usage per query | Active jobs (running or queued) |
---|---|---|---|---|---|
Pro | 3 | 30s | Up to every 10 min | 10 GB | 3 |
Enterprise | 10 | 300s | Up to every minute | 10 GB | 6 |
Copy Pipe limits¶
Copy Pipes have the following limits, depending on your billing plan:
Plan | Copy Pipes per Workspace | Execution time | Frequency | Active jobs (running or queued) |
---|---|---|---|---|
Build | 1 | 20s | Once an hour | 1 |
Pro | 3 | 30s | Up to every 10 minutes | 3 |
Enterprise | 10 | 50% of the scheduling period, 30 minutes max | Up to every minute | 6 |
Next steps¶
- Understand how Tinybird plans and billing work.
- Explore popular use cases for user-facing analytics (like dashboards) in Tinybird's Use Case Hub.