Limits and quotas
The numbers enforced by the platform for each plan, and what you get when you reach one.
1. When a limit is reached
There are four kinds of limit, and each one fails differently.
| Kind | Examples | What you get |
|---|---|---|
| Per-minute rate limit | http.requests, db.requests, ai.requests per minute | 429 Too Many Requests with X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset and Retry-After. Retry after the delay. |
| Monthly quota, Free plan | any monthly metric | Hard limit: further calls are refused with 403 and error.code = QUOTA_EXCEEDED until the next month (error.isQuotaExceeded in the SDK). The message names the metric, the usage, the limit and the reset date. Nothing is billed. |
| Monthly quota, paid plans | any monthly metric | The service keeps running. The unit rates of the cost calculator apply to the usage above the included quota; automatic metering of this overage on the invoice is not available yet. |
| Instant limit | projects, concurrent realtime connections | Hard limit on every plan: the project or the connection is refused, there is no overage billing. |
A spend cap and usage alerts are not available yet. Until they are, watch the usage page of your project.
2. Limits per plan
| Limit | Metric | Free | Pro | Team | Enterprise |
|---|---|---|---|---|---|
| Projects | max_projects | 3 | 10 | 50 | Unlimited |
| Database requests | db.requests | 1,000,000 / month | 50,000,000 / month | 500,000,000 / month | 5,000,000,000 / month |
| Database requests per minute | db.requests | 600 | 30,000 | 300,000 | 3,000,000 |
| Raw SQL requests | db.raw_sql_requests | 2,000 / month | 100,000 / month | 1,000,000 / month | 10,000,000 / month |
| Raw SQL requests per minute | db.raw_sql_requests | 60 | 600 | 6,000 | 60,000 |
| Backup storage | db.backup_storage | 100 MiB | 5 GiB | 50 GiB | 500 GiB |
| Gateway requests | http.requests | 1,000,000 / month | 50,000,000 / month | 500,000,000 / month | 5,000,000,000 / month |
| Gateway requests per minute | http.requests | 1,200 | 60,000 | 600,000 | 6,000,000 |
| Auth requests per minute | auth.requests | 240 | 6,000 | 60,000 | 600,000 |
| Auth e-mails | auth.email_sends | 100 / month | 5,000 / month | 50,000 / month | 500,000 / month |
| Auth SMS | auth.sms_sends | 25 / month | 1,000 / month | 10,000 / month | 100,000 / month |
| Realtime concurrent connections | realtime.peak_connections | 200 | 1,000 | 10,000 | 100,000 |
| Realtime messages | realtime.messages | 1,000,000 / month | 10,000,000 / month | 100,000,000 / month | 1,000,000,000 / month |
| Realtime messages per minute | realtime.messages | 300 | 3,000 | 30,000 | 300,000 |
| Realtime traffic | realtime.bytes | 1 GiB / month | 10 GiB / month | 100 GiB / month | 1,000 GiB / month |
| Storage uploads | storage.upload_bytes | 5 GiB / month | 50 GiB / month | 500 GiB / month | 5,000 GiB / month |
| Storage downloads | storage.download_bytes | 10 GiB / month | 100 GiB / month | 1,000 GiB / month | 10,000 GiB / month |
| Storage objects | storage.objects | 10,000 / month | 1,000,000 / month | 10,000,000 / month | 100,000,000 / month |
| Storage requests per minute | storage.requests | 600 | 6,000 | 60,000 | 600,000 |
| Function invocations | functions.invocations | 100,000 / month | 1,000,000 / month | 10,000,000 / month | 100,000,000 / month |
| Function duration | functions.duration_ms | 100 min / month | 1,000 min / month | 10,000 min / month | 100,000 min / month |
| AI requests | ai.requests | 1,000 / month | 50,000 / month | 500,000 / month | 5,000,000 / month |
| AI requests per minute | ai.requests | 30 | 120 | 1,200 | 12,000 |
| AI tokens (input, output) | ai.input_tokens, ai.output_tokens | 500,000 each / month | 10,000,000 each / month | 100,000,000 each / month | 1,000,000,000 each / month |
The numbers are the ones stored in the platform's plan table. The pricing page and the calculator display the same values.
3. What applies to what
The subscription belongs to the organization. Quotas are counted for each project: a Pro organization with three projects has three times the monthly quota of one project, and one project cannot use the quota of another.
Limits that are not in this table: the Edge Function limits (memory, duration, body size, invocation rate per IP) are on Limits and quotas of Edge Functions, and the gateway limit per IP is described in the REST API reference.