Turso
turso.tech · 2 records in Databases and KV, Storage · JSON
Records 2
- ★ qualifiesTurso (Databases and KV)
Databases and KVfree tieridentity emailno cardlimit retention-clampedevidence documentedstale on 2026-11-22
- fails: quotaTurso (Storage)
Storagefree tieridentity email?card?evidence reportedstale on 2026-11-05
Turso (Databases and KV)
Databases and KV- 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 tier | 100 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 |
|---|---|
| Price | USD 0.75/GB beyond 9 GB on Developer |
| Limits |
|
| Binding | retention-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. |
| Identity | email email signup; GitHub OAuth also offered |
| Egress | no 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 cap | 5 GB across all databases on Free; the plan table gives no per-database cap |
| Retention | a 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) |
| Interface | rest, cli libSQL over HTTP and WebSockets; the Turso CLI; a platform API |
| Tooling | the turso CLI; libSQL client libraries; sqld for a local replica |
| Composes with | a 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 |
| Reliability | an 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 |
| Notes | The 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 note | documented 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 |
|
Evidence 4
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | turso.tech/pricing | Free 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-22 | docs.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-22 | docs.turso.tech/api-reference/groups/unarchive | the platform API exposes a group unarchive endpoint, so the archive state is reachable programmatically and not only through the CLI |
| 2026-10-22 | probe: https://api.turso.tech/v1/organizations | an unauthenticated GET returns 401 with 'token contains an invalid number of segments', proving the platform API exists and is token-authenticated |
Corrections
- 2026-10-22 Turso's free plan was recorded as having no idle clock, and it archives an inactive database after 10 days
Turso (Storage)
Storage- 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 tier | 5 GB total storage, 100 databases on Free unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Identity | email (placeholder) not published |
| Egress | Not 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 cap | not stated |
| Retention | not stated |
| Interface | rest, cli rest |
| Tooling | Turso CLI + HTTP API (/v2/pipeline), libSQL clients (JS/Python/Rust/Go), turso db shell, embedded replicas |
| Composes with | 100 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. |
| Reliability | Exceeding quota returns BLOCKED errors on queries rather than data loss; DBs stay warm (no cold starts since Mar 2025). |
| Parsed numbers |
|
Evidence 2
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | turso.tech/pricing | 'Free $0/month | 100 | 5GB | 500 Million | 10 Million | 3GB' |
| 2026-10-21 | turso.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