Limits and prices of every plan, which limits are per project and which are shared by your account, and what happens at a limit.
| Limit | Free | Pro | Scale | Enterprise |
|---|---|---|---|---|
| Price | $0 / month | $15.99 / month | $49 / month | $329 / month |
| Account | ||||
| Projects per account | 2 | 1 | 2 | 10 |
| Team members (besides the owner) | 2 | 10 | 100 | 10,000 |
| Data copied into a preview branch or a new project (template) | Not included | 1.0 GB | 2.0 GB | 2.0 GB |
| Custom domains per project | 0 | 1 | 3 | 10 |
| Database | ||||
| Database size | 500 MB | 10 GB | 20 GB | 20 GB |
| Direct database connections | 20 | 100 | 160 | 300 |
| Pooled client connections | 1,000 | 10,000 | 15,000 | 20,000 |
| Pooler database connections | 5 | 20 | 30 | 40 |
| Shared views per project | 1 | 10 | 50 | 500 |
| Search indexes per project | 1 | 10 | 50 | 200 |
| Semantic search embeddings per project per month | 0 | 500,000 | 2,000,000 | 10,000,000 |
| Offline-synced tables per project | 2 | 20 | 100 | 500 |
| Serverless SQL database connections per project | 3 | 10 | 20 | 40 |
| Serverless SQL WebSocket sessions at once per project | 10 | 100 | 500 | 2,000 |
| Test data rows added per run | 1,000 | 25,000 | 100,000 | 250,000 |
| API | ||||
| API requests per second | 50 req/s | 1,000 req/s | 2,000 req/s | 5,000 req/s |
| Rows per API request | 1,000 rows | 5,000 rows | 10,000 rows | 10,000 rows |
| API query timeout | 8 s | 30 s | 60 s | 60 s |
| Rate limit rules per project | 3 | 25 | 100 | 500 |
| Storage | ||||
| File storage | 1.0 GB | 100 GB | 250 GB | 1.0 TB |
| Max upload size | 50 MB | 100 GB | 100 GB | 200 GB |
| Image transformations per month | 1,000 images | 25,000 images | 100,000 images | 1,000,000 images |
| Realtime | ||||
| Realtime concurrent clients | 200 | 500 | 2,000 | 10,000 |
| Realtime messages per second | 100 msg/s | 500 msg/s | 1,000 msg/s | 2,500 msg/s |
| Realtime channels per client | 100 | 200 | 200 | 100 |
| Realtime channel joins per second | 100 /s | 500 /s | 1,000 /s | 100 /s |
| Realtime message history (missed messages replayed) | 2 min | 10 min | 30 min | 60 min |
| Collaborative document size | 2.0 MB | 10 MB | 25 MB | 50 MB |
| Collaborative editing connections at once per project | 50 | 500 | 2,000 | 10,000 |
| Collaborative document history | 1 days | 7 days | 30 days | 90 days |
| Edge Functions | ||||
| Edge Functions per project | 10 | 100 | 250 | 1,000 |
| Edge Function invocations per month | 500,000 | 2,000,000 | 5,000,000 | 25,000,000 |
| Edge Function CPU time per month (account) | 10,000 CPU-s | 30,000 CPU-s | 100,000 CPU-s | 500,000 CPU-s |
| Edge Function size (all files) | 5,120 KB | 20,480 KB | 20,480 KB | 20,480 KB |
| Edge Function memory | 128 MB | 150 MB | 256 MB | 256 MB |
| Edge Function CPU time per request | 2,000 ms | 2,000 ms | 4,000 ms | 4,000 ms |
| Edge Function wall-clock limit | 60 s | 150 s | 400 s | 400 s |
| Background job runs per project per month | 10,000 | 250,000 | 2,000,000 | 20,000,000 |
| Background job runs at once per project | 2 | 10 | 25 | 50 |
| Background job run history | 3 days | 14 days | 30 days | 90 days |
| Job mode: longest run | 0 min | 15 min | 60 min | 60 min |
| Job mode: CPU time per run | 10 s | 30 s | 90 s | 180 s |
| Job mode minutes per project per month | 0 min | 1,000 min | 3,000 min | 5,000 min |
| Job mode runs at once per project | 1 | 3 | 10 | 25 |
| Integrations | ||||
| Push notifications per month (per project) | 10,000 | 1,000,000 | 5,000,000 | 25,000,000 |
| Database webhooks per project | 2 | 20 | 50 | 200 |
| Webhook events per project per month | 10,000 | 1,000,000 | 5,000,000 | 50,000,000 |
| Webhook delivery log | 1 days | 7 days | 14 days | 30 days |
| Inbound webhook endpoints per project | 2 | 20 | 100 | 500 |
| Inbound webhook events per project per month | 10,000 | 1,000,000 | 5,000,000 | 50,000,000 |
| Feature flags per project | 10 | 100 | 500 | 5,000 |
| Feature flag requests per project per month | 100,000 | 5,000,000 | 50,000,000 | 100,000,000 |
| Scheduled SQL reports per project | 2 | 25 | 100 | 100 |
| Scheduled SQL reports: shortest interval | 1,440 min | 60 min | 15 min | 15 min |
| Scheduled SQL reports: rows per report | 1,000 | 10,000 | 50,000 | 100,000 |
| Status page components per project | 5 | 15 | 30 | 50 |
| Status page checks of your own URLs | 1 | 5 | 15 | 30 |
| Status page without StitchDB branding | 0 | 1 | 1 | 1 |
| Status page e-mail subscribers | 0 | 1,000 | 10,000 | 50,000 |
| Status page e-mails per month (our sender, per project) | 0 | 440 | 1,300 | 1,100 |
| Scheduled report e-mails per month (per project) | 300 | 440 | 660 | 1,100 |
| Usage metering: meters per project | 0 | 20 | 100 | 500 |
| Usage metering: events recorded per project per month | 0 | 5,000,000 | 50,000,000 | 500,000,000 |
| Crash reports per project | 5,000 per month | 100,000 per month | 1,000,000 per month | 10,000,000 per month |
| Crash events kept | 7 days | 30 days | 90 days | 90 days |
| Analytics events per month | 50,000 | 1,000,000 | 10,000,000 | 100,000,000 |
| Analytics events kept | 30 days | 90 days | 365 days | 365 days |
| Job monitors per project | 5 | 50 | 200 | 1,000 |
| Job monitoring run history | 7 days | 30 days | 90 days | 90 days |
| Short links per project | 100 | 10,000 | 100,000 | 1,000,000 |
| Link click history | 30 days | 90 days | 365 days | 365 days |
| Usage metering: raw events kept | 7 days | 30 days | 90 days | 365 days |
| AI agents | ||||
| Agent keys per project | 1 | 25 | 100 | 100 |
| Agent query log retention | 7 days | 90 days | 180 days | 180 days |
| Agent undo window | 24 hours | 168 hours | 336 hours | 720 hours |
| Agent undo: rows kept per session | 10,000 rows | 100,000 rows | 1,000,000 rows | 10,000 rows |
| Authentication | ||||
| Auth emails per month (per project) | 500 | 1,100 | 1,300 | 1,700 |
| Auth emails per day | 100 | 1,000 | 1,300 | 1,700 |
| Auth emails per hour | 30 /h | 200 /h | 500 /h | 2,000 /h |
| Auth token refreshes per 5 min (per IP) | 150 | 1,800 | 5,000 | 150 |
| Auth sign-ins/sign-ups per 5 min (per IP) | 30 | 300 | 1,000 | 30 |
| Hosted sign-in page without StitchDB branding | 0 | 1 | 1 | 1 |
| Operations | ||||
| Read replicas per project (paid add-on, up to) | 0 | 1 | 1 | 2 |
| Backup retention | No backups | 7 days | 14 days | 30 days |
| Point-in-time recovery | 1 days | 7 days | 14 days | 30 days |
| Deleted rows kept in the recycle bin | 1 days | 7 days | 14 days | 30 days |
| Change history kept | 1 days | 7 days | 30 days | 90 days |
| Log retention | 7 days | 30 days | 60 days | 90 days |
| Log drains per project | 0 | 1 | 3 | 10 |
| Region moves per project per month | 1 | 3 | 10 | 50 |
| Pause inactive projects after | Never | Never | Never | — |
| Pause projects of abandoned accounts after | 365 days | — | — | — |
| Delete paused projects after | 30 days | Never | Never | — |
| Features | ||||
| Studio dashboard | Included | Included | Included | Included |
| Direct Postgres connections | Included | Included | Included | Included |
| Realtime | Included | Included | Included | Included |
| File storage | Included | Included | Included | Included |
| Daily database backups | Not included | Included | Included | Included |
| Read replicas | Not included | Included | Included | Included |
| Automatic read replicas (prepaid usage) | Not included | Not included | Included | Included |
| Database and file limits shared across projects | Not included | Not included | Not included | Not included |
| Auth e-mails from your own domain | Not included | Included | Included | Included |
#Per project or shared
Database size is per project on every plan: each project has its own included amount (for example 10 GB of database per project on Pro). File storage, egress, monthly active users, SSO users, Edge Function invocations and CPU time, and realtime (peak connections and messages) are shared across your account: all your projects together use one monthly amount. The number of projects is per account; rate limits such as API requests per second apply to each project.
#What counts as egress
Egress is the data your projects send out through their API address (https://<project-ref>.p.stitchdb.com): responses of the REST API, Auth, Storage (file downloads included) and Edge Functions, and Realtime messages sent to connected clients (counted while the connection is open). Traffic answered by a read replica counts toward its project. Not counted: direct Postgres connections (ports 5432 and 6543), Studio and the dashboard. Data sent to your projects (ingress) is shown in usage but never billed.
#What happens at a limit
With the spend cap on (the default on paid plans, and always on Free), the limits below apply. With it off and prepaid credit available, usage above the included amounts continues and is billed at your plan's rates instead.
| Limit | What happens |
|---|---|
| Database size (per project) | The database becomes read-only: API writes fail with 25006 and new transactions are read-only. Nothing is deleted. Free up space or upgrade. |
| File storage (account) | New uploads are blocked with 413 in every project. Downloads keep working. |
| Egress (account, per month) | The REST, Storage, Edge Functions and Realtime APIs answer 402 with {"code":"quota_exceeded"} until the next month. Auth and the dashboard keep working. |
| Monthly active users (account) | New sign-ups are refused; existing users keep signing in. |
| SSO monthly active users (account) | SSO sign-ins answer 402. |
| Edge Function invocations and CPU time (account, per month) | Functions answer 429 until the next month. CPU time is what your functions' code actually computes (waiting for the network or the database is not counted). |
| Realtime connections / messages (account) | New realtime connections answer 402; when messages are used up the project's message rate drops to 1 per second. |
| Upload size | Larger uploads are rejected with 413. |
| API requests per second | Extra requests get 429. |
| Rows per API request | Responses stop at the limit; paginate for more. |
| API query timeout | The query is cancelled. |
| Connections | New connections above the limit are refused. |
| Projects | You can't create more projects until you delete one or upgrade. |
| Auth and Realtime rates | Requests over the limit get 429 or are refused. |
#Quota e-mails
StitchDB measures usage every few minutes. You get an e-mail when a project reaches 80% of its database or file quota and another when it goes over 100% (again only after usage dropped below 70%), and one e-mail per month when your account reaches 80% and 100% of each shared monthly amount (egress, users, invocations, function CPU time, realtime).
#E-mails sent by StitchDB
Sign-in, status page and scheduled report e-mails sent through StitchDB's own sender count toward monthly per-project amounts, shown in the table above as they apply today. Projects that send through their own SMTP server are not limited by these amounts.
#Other limits
- Free projects are never paused while the account is used; accounts abandoned for a year: Inactive free projects.
- AI assistant requests per day: AI assistant.
- Cron jobs: 20 per project. HTTP from SQL: 20 requests per second.
- Access tokens: 50 per account.
#Change plan
Upgrade or downgrade in Billing; see Billing. Your data and connection strings stay the same when your plan changes.