fshy

fshy / Storage

Appwrite Cloud

appwrite.io · Storage · 1 record · JSON

Appwrite Cloud Storage

fails: quotaemail?card?R

appwrite.io · paas · storage/appwrite-cloud · JSON · compare

Free tier2 GB storage + 5 GB bandwidth on Free; 2 projects
unit objects; metered on stored-bytes
Pricenone stated
Per-object capnot stated
Retentionnot stated
Egress5 GB bandwidth/month on Free — 2.5x the storage, so it is a real wall but not as lopsided as Supabase.
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaces3-compatible, rest, graphql, cli rest
ToolingAppwrite SDKs (web, flutter, node, python, dart), REST + GraphQL API, appwrite CLI; storage buckets expose file preview/download endpoints; S3-compatible adapter exists for self-host
Composes with2 projects x 2 GB = 4 GB per account; per-project caps on buckets ('1 Database, 1 Bucket, 2 Functions per project') mean a bucket cannot be sharded inside a project. Accounts are the only multiplier. Self-hosting is free and unlimited but that is compute he pays for, not a free tier.
ReliabilitySame inactivity-pause pattern as Supabase/Nhost (1 week). Project limit of 2 is enforced per account.
Notes2 GB storage + 5 GB bandwidth on Free; 2 projects
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (1)
datesourcewhat it proved
2026-10-21appwrite.io/pricing(via __provider=firecrawl) — '- 5GB bandwidth', '- 2GB storage', '- 1 Database, 1 Bucket, 2 Functions per project', 'Free projects are paused after 1 week of inactivity. Limit of 2 projects.'
More fields (1)
{
 "dead_end": {
  "failure_class": "egress",
  "why": "2 GB storage + 5 GB bandwidth on Free; 2 projects",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (8)
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted