Sanity
- Free allowance
- 100 GB assets + 100 GB bandwidth/month per project; no maximum number of projects per account
- Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- institution?placeholder, not evidence; card unknown, phone unknown
- Binding limit
- noneno named constraint binds
- Evidence
- reported3 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | 100 GB assets + 100 GB bandwidth/month per project; no maximum number of projects per account unit GB; metered on unstated |
|---|---|
| Price | none stated |
| Identity | institution (inferred, not read) not published |
| Egress | 100 GB/month CDN bandwidth included per project, hard cap on Free (no overage purchase). Assets served from cdn.sanity.io with on-the-fly transforms. free allowance: 100 GB per month |
| Per-object cap | not stated |
| Retention | not stated |
| Interface | rest, cli rest |
| Tooling | sanity CLI (sanity dataset create, sanity assets upload), @sanity/client HTTP API; assets land on cdn.sanity.io with stable public URLs |
| Composes with | Account has NO cap on project count ('no maximum limit on the number of projects you can have in a Sanity account' — Sanity's own answers page). Each project = 2 datasets x 100 GB assets. N projects x 200 GB. Multiply the account layer again with separate Google/GitHub logins. This is the single best multiplier. |
| Reliability | Free projects are hard-capped, not throttled: at 100 GB bandwidth the CDN returns errors until the calendar month resets. Asset URLs are public and permanent; no expiry observed. |
| Parsed numbers |
|
Evidence 3
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.sanity.io/pricing | 'Assets 100GB', 'Bandwidth (per month) 100GB', 'Additional assets — Not included' on Free |
| 2026-10-21 | www.sanity.io/answers/is-there-a-maximum-number-of-projects- | 'no maximum limit on the number of projects' |
| 2026-10-21 | cdn.sanity.io/images/3do82whm/next/f21df064721ee7867372278bc | probe: GET -> 200 image/png 990776 bytes; same URL ?w=200&auto=format -> 200 29387 bytes (transforms are free, uncounted as assets) |
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