Limits & Quotas
Plan-based limits, system constraints, and rate limiting configuration.
Plan Limits
Free is the only plan currently available. Pro is waitlist-only, not for sale, and has no committed price or limits.
| Plan | Price | Ops | Records / data tab | Table Limit | API Rate | DAG Parallelism |
|---|---|---|---|---|---|---|
| Free | $0 | 5,000/mo | 1,000 | 5 | 100/min | 5 records |
| Pro waitlist | Not committed | Not committed | Not committed | Not committed | Not committed | Not committed |
System Limits
These limits apply regardless of plan and exist for system stability.
Max records per query page
Pagination required. Use after_id cursor for large result sets.
1,000Max records per insert
Single batch insert. For larger imports, use CSV import.
10,000Max columns per Table create request
Validated by the public REST create contract.
100Max request body (ordinary API)
JSON or form body limit for standard routes.
1 MiBMax request body (CSV import)
JSON or multipart body limit for CSV imports.
8 MiBMax request body (public webhook/endpoint)
Hard streamed byte limit before public payload parsing.
2 MiBMax fields per payload
Webhook payload (or batch item) field count limit.
100Max items per webhook batch
Items per array batch for incoming webhooks.
1,000Default page size
Used when no limit specified in query.
25Table/column name format
Lowercase, starts with letter, underscores allowed.
/^[a-z][a-z0-9_]*$/Table/column name max length
Must not start with _ht_ prefix.
64 charactersMax concurrent API calls
Platform limit. Contact support for higher concurrency needs.
6Soft-delete retention
Deleted tables can be restored within this window.
30 daysRate Limit Presets
Smart columns that call external APIs use rate limit presets. Set via column config or the UI.
| Preset | Requests/sec | Concurrent | Best For |
|---|---|---|---|
aggressive | 500 | 6 | High-volume APIs with generous limits |
moderate | 50 | 6 | Standard external APIs |
conservative | 10 | 5 | Unknown or sensitive APIs |
gentle | 2 | 1 | Heavily rate-limited endpoints |
Workspace Isolation
Provisioned tenant data uses a logically separate Turso database and workspace-scoped controls. Turso and Cloudflare remain shared managed-provider infrastructure, so separation is defense in depth rather than a physical-storage guarantee. Authentication and account-routing metadata live in a separate system database.
