- Free allowance
- 10 databases; 500 MB per database; 5 GB per account; 5 million rows read per day; 100,000 rows written per day
- Verdict
- ★ qualifiesusable as stated; the read path was probed
- Cost
- free tierpaid plans from USD 0.75/TB-month
- Identity
- emailno card, no phone
- Binding limit
- request-rate100,000 rows written per day on Free; 5 million rows read per day on Free; 50 queries per Worker invocation on Free; a 30-second maximum query duration
- Evidence
- documented2 sources; a first-party page was read and the sentence quoted
- Freshness
- stale on 2026-11-23checked 2026-10-23 (live); stale on 2026-11-23
| Free tier | 10 databases; 500 MB per database; 5 GB per account; 5 million rows read per day; 100,000 rows written per day unit mixed; metered on request-count |
|---|
| Price | USD 0.75/GB-month beyond 5 GB on Workers Paid |
|---|
| Limits | - request-rate (binding) 100,000 rows written per day on Free source
- request-rate (binding) 5 million rows read per day on Free source
- per-object-cap 500 MB per database and 5 GB per account; a 2,000,000-byte row ceiling source
- request-rate (binding) 50 queries per Worker invocation on Free; a 30-second maximum query duration source
|
|---|
| Identity | email a Cloudflare account |
|---|
| Egress | no egress charge; rows read and rows written are the metered quantities |
|---|
| Per-object cap | 2,000,000 bytes per row, BLOB or string; 500 MB per database (2000000 bytes) |
|---|
| Retention | storage persists; Time Travel point-in-time recovery covers 7 days on Free |
|---|
| Interface | rest, cli a Worker binding, a REST API and the wrangler CLI |
|---|
| Tooling | wrangler d1; the Cloudflare API; better-sqlite3 style calls inside a Worker |
|---|
| Composes with | per-tenant SQLite in a Worker with a free Postgres as the system of record; 500 MB per database and 10 databases is 5 GB of free relational state |
|---|
| Reliability | at the daily read or write limit the D1 API returns errors; at the storage limit you must delete data before you can insert, alter a table or create an index |
|---|
| Notes | The 100,000 rows written a day is the binding number for any ingest, and it is small: 1.16 rows a second sustained. A full table scan counts every row it scans as a row read, so an unindexed query spends the read budget fast. |
|---|
| Evidence note | documented the limits and pricing pages were read; nothing was provisioned. |
|---|
| Parsed numbers | - per-object-cap 500 MB
- price-per-tb USD 0.75 GB / month
|
|---|