fshy

Home

Turso

turso.tech · 2 records in Databases and KV, Storage · JSON

Records 2

Turso (Databases and KV)

Databases and KV

turso.tech/pricingSQLite at the edgedatabases-kv/tursoJSONcomparereport an error

Free allowance
100 databases; 5 GB storage; 500 million rows read per month; 10 million rows written per month; 3 GB sync
Verdict
★ qualifiesusable as stated; the read path was probed
Cost
free tier
Identity
emailno card, no phone
Binding limit
retention-clampedan inactive database is archived after 10 days on a free plan
Evidence
documented4 sources; a first-party page was read and the sentence quoted
Freshness
stale on 2026-11-22checked 2026-10-22 (live); stale on 2026-11-22
Free tier100 databases; 5 GB storage; 500 million rows read per month; 10 million rows written per month; 3 GB sync
unit GB; metered on stored-bytes
PriceUSD 0.75/GB beyond 9 GB on Developer
Limits
  • request-rate 500 million rows read and 10 million rows written per month source
  • per-object-cap 5 GB total across all databases; 100 databases source
  • retention-clamped (binding) an inactive database is archived after 10 days on a free plan source
  • request-rate no connection limit is published on the pricing page or the feature pages; recorded as a gap source
Bindingretention-clamped 10 days of inactivity archives the database on the free plan, so a job that runs less often than that finds the database unavailable. The 5 GB total and the 10-million-row monthly write budget are larger than that clock allows a quarterly job to reach.
Identityemail email signup; GitHub OAuth also offered
Egressno egress charge and no transfer allowance is published; the metered quantities are rows read and rows written, so a byte of egress is not what is counted
Per-object cap5 GB across all databases on Free; the plan table gives no per-database cap
Retentiona database is archived after 10 days of inactivity on a free plan, and an archived database must be unarchived before it can be used; a deleted database has no point-in-time restore on Free and the Free column shows 1-day audit logs (10 days)
Interfacerest, cli libSQL over HTTP and WebSockets; the Turso CLI; a platform API
Toolingthe turso CLI; libSQL client libraries; sqld for a local replica
Composes witha free SQLite replica per tenant suits multi-tenant read-heavy work that a single free Postgres cannot hold, provided something touches each database at least every 10 days, because the free plan archives an inactive one
Reliabilityan inactive database on a free plan is archived after 10 days and must be unarchived before use; the archive is not a deletion and the data survives it
NotesThe 500-database and 9-GB figures in circulation are the Developer plan, not Free. The 5 GB is a total, so 100 databases average 50 MB each. The binding constraint is not either number: it is the 10-day archive, which a quarterly job meets first and which nothing on the pricing page states.
Evidence notedocumented the pricing table was read and its own meta description states 100 databases and 5 GB. The 10-day archive clock is from Turso's CLI reference, read the same day.
Parsed numbers
  • has-free-tier 1
  • per-object-cap 5 GB
Evidence 4
datesourcewhat it proved
2026-10-22turso.tech/pricingFree column: 100 databases, 5GB storage, 500 Million rows read, 10 Million rows written, 3GB sync, 1 day audit logs; Developer USD 4.99 gives unlimited databases and 9GB
2026-10-22docs.turso.tech/cli/group/unarchive'Databases get archived after 10 days of inactivity for users on a free plan'; the unarchive command restores one
2026-10-22docs.turso.tech/api-reference/groups/unarchivethe platform API exposes a group unarchive endpoint, so the archive state is reachable programmatically and not only through the CLI
2026-10-22probe: https://api.turso.tech/v1/organizationsan unauthenticated GET returns 401 with 'token contains an invalid number of segments', proving the platform API exists and is token-authenticated

Corrections

turso.techPaaSstorage/tursoJSONcomparereport an error

Free allowance
5 GB total storage, 100 databases on Free
Verdict
fails: quotathe free allowance is too small to matter
Cost
free tier
Identity
email?placeholder, not evidence; card unknown, phone unknown
Binding limit
noneno named constraint binds
Evidence
reported2 sources; a third party said so
Freshness
stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
Free tier5 GB total storage, 100 databases on Free
unit GB; metered on stored-bytes
Pricenone stated
Identityemail (placeholder) not published
EgressNot separately metered on Free; the binding meters are 500M rows read / 10M rows written per month, plus 3 GB embedded syncs. Serving files out of SQLite blobs burns rows-read, not bytes.
Per-object capnot stated
Retentionnot stated
Interfacerest, cli rest
ToolingTurso CLI + HTTP API (/v2/pipeline), libSQL clients (JS/Python/Rust/Go), turso db shell, embedded replicas
Composes with100 databases is a unit multiplier for ORGANIZATION, but the 5 GB storage is an ACCOUNT-level pot, not per database — 100 DBs x 50 MB each rather than 100 x 5 GB. Second axis: each org/account. Multiply accounts (GitHub OAuth is one click) — N accounts x 5 GB.
ReliabilityExceeding quota returns BLOCKED errors on queries rather than data loss; DBs stay warm (no cold starts since Mar 2025).
Parsed numbers
  • has-free-tier 1
Evidence 2
datesourcewhat it proved
2026-10-21turso.tech/pricing'Free $0/month | 100 | 5GB | 500 Million | 10 Million | 3GB'
2026-10-21turso.tech/blog/turso-cloud-debuts-the-new-developer-plan'500 million rows read per month, 10 million rows written per month, and 5GB of storage'; Developer plan allows 1,000 databases
More fields 1
dead end{"failure_class": "quota","why": "5 GB total storage, 100 databases on Free","retry_when": null,"first_recorded": "2026-10-21"}
Unknown values 4
  • per object cap notes: the field may be stated in a source that was not read
  • per object cap stated: the field may be stated in a source that was not read
  • retention notes: the field may be stated in a source that was not read
  • retention stated: the field may be stated in a source that was not read