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.

PlanPriceOpsRecords / data tabTable LimitAPI RateDAG Parallelism
Free$05,000/mo1,0005100/min5 records
Pro waitlistNot committedNot committedNot committedNot committedNot committedNot 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,000

Max records per insert

Single batch insert. For larger imports, use CSV import.

10,000

Max columns per Table create request

Validated by the public REST create contract.

100

Max request body (ordinary API)

JSON or form body limit for standard routes.

1 MiB

Max request body (CSV import)

JSON or multipart body limit for CSV imports.

8 MiB

Max request body (public webhook/endpoint)

Hard streamed byte limit before public payload parsing.

2 MiB

Max fields per payload

Webhook payload (or batch item) field count limit.

100

Max items per webhook batch

Items per array batch for incoming webhooks.

1,000

Default page size

Used when no limit specified in query.

25

Table/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 characters

Max concurrent API calls

Platform limit. Contact support for higher concurrency needs.

6

Soft-delete retention

Deleted tables can be restored within this window.

30 days

Rate Limit Presets

Smart columns that call external APIs use rate limit presets. Set via column config or the UI.

PresetRequests/secConcurrentBest For
aggressive5006High-volume APIs with generous limits
moderate506Standard external APIs
conservative105Unknown or sensitive APIs
gentle21Heavily rate-limited endpoints
!
Circuit Breaker
If more than 50% of cells fail within a 60-second window, the circuit breaker activates and pauses the column. Fix the underlying issue (API key, endpoint URL, prompt), then retry failed cells.

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.