StitchDB vs Supabase: Pricing, Features and Compatibility
StitchDB vs Supabase comes down to this: both give you Postgres with Auth, a generated REST API, Realtime, Storage and Edge Functions, and StitchDB speaks the same APIs, so supabase-js code runs on both. StitchDB is cheaper to start ($15.99 vs $25 a month), includes point-in-time recovery on every plan and hosts only in the EU. Supabase has many more regions, a self-hosted option and a much larger ecosystem.
We build StitchDB, so read this with that in mind. We have tried to be specific and to say clearly where Supabase is the better choice. Supabase prices are as of November 2026 from supabase.com/pricing.
#The short version
| StitchDB | Supabase | |
|---|---|---|
| Free plan | 2 projects, 500 MB DB, 1 GB files, 50k MAU, 25 GB egress | 2 active projects, 500 MB DB, 1 GB files, 50k MAU, 5 GB egress |
| Free project idling | DB always on; services wake in seconds; paused only if the account is unused for a year | Paused after 1 week of inactivity |
| First paid plan | Pro $15.99/mo | Pro from $25/mo |
| DB included on Pro | 10 GB per project | 8 GB disk per project |
| Egress on Pro | 1 TB | 250 GB |
| Point-in-time recovery | Included: 24 h Free, 7 d Pro, 14 d Scale, 30 d Enterprise | Add-on: $100/mo per 7 days |
| Preview branches | Pro 3, Scale 5 (included) | $0.01344 per branch-hour |
| Spend cap | On by default on paid plans | On by default on Pro |
| Regions | EU only (Germany, Finland) | Many AWS regions incl. US, EU, APAC |
| Self-hosting | No self-hosted edition | Yes, Docker |
| Client libraries | stitchdb-js plus Supabase client libraries | supabase-js and official libraries |
#Compatibility: what "same APIs" means
StitchDB implements the same protocols as the open-source Supabase stack: REST via PostgREST conventions under /rest/v1, Auth under /auth/v1, Storage under /storage/v1, Realtime under /realtime/v1 and Deno Edge Functions under /functions/v1, with the same headers, JWT roles and error formats (compatibility).
In practice:
// Works against either platform: only the URL and key change
import { createClient } from '@supabase/supabase-js'
const client = createClient(process.env.API_URL, process.env.ANON_KEY)
const { data, error } = await client
.from('todos')
.select('id, task, is_complete')
.eq('is_complete', false)
.order('created_at', { ascending: false })RLS policies using auth.uid(), auth.jwt() and auth.role() work unchanged. Edge Functions using Deno.serve deploy as they are, and get the project URL and keys under both STITCHDB_* names and the names the Supabase stack uses.
What doesn't carry over: tools that use Supabase's own Management API or CLI (to create projects, deploy functions or branch) need the StitchDB CLI and Management API instead, and secrets and OAuth provider keys must be set again.
#Pricing in practice
A typical small production app: one project, 3 GB of data, 20,000 MAU, 100 GB of egress, and you want 7 days of point-in-time recovery.
- StitchDB Pro: $15.99. Everything fits in the included amounts; PITR is included.
- Supabase Pro: $25, with $10 of compute credits covering a Micro instance. 7-day PITR is listed at $100 a month, and Supabase's backup docs say PITR needs at least the Small compute add-on ($15 a month, of which the $10 credit covers part). That is roughly $130 a month in total.
If you don't need PITR, the difference is $9 a month. If you do, it is much larger. Overage rates for StitchDB are on the spend cap page: for example $0.12 per GB of database and $0.02 per GB of egress above the included amounts on Pro.
One more difference: StitchDB Pro includes one project, and extra projects cost $9 a project-month on Pro. If you run many small production projects, do the math for your case.
#Backups and recovery
StitchDB's backups combine a continuous change log, daily restore points on paid plans and point-in-time recovery on every plan. On top of rewinding the whole database you can:
- Restore into a new branch at a point in time, leaving production untouched.
- Restore one table as it was at a moment, then put old rows back or replace the table.
- Turn on a recycle bin per table, which keeps deleted rows for your plan's retention.
Supabase keeps daily backups on paid plans (7 days on Pro, 14 on Team, up to 30 on Enterprise), recommends regular exports for Free projects, and sells PITR as an add-on. If recovery is your main concern, this is the biggest practical difference between the two.
#Where Supabase wins
- Regions. If your users are in the US, Asia or South America, Supabase can put the database near them. StitchDB can't.
- Self-hosting. Supabase can be self-hosted with Docker. StitchDB has a local development stack, but no self-hosted production edition.
- Ecosystem. Many more tutorials, templates, integrations, community answers and hires who already know it.
- Maturity. Supabase is the more established platform. StitchDB is younger.
- Compute choice. Supabase sells a range of compute sizes as add-ons, starting at Micro (1 GB RAM) and Small (2 GB RAM). StitchDB offers dedicated servers on higher plans instead (compute).
#Where StitchDB wins
- Price of the first paid step and PITR included.
- Free projects don't pause after a week; only abandoned accounts are paused after a year (inactive projects).
- EU-only hosting, if EU data residency is a requirement rather than a preference.
- App services in the same project: cron, queues, feature flags, push, in-app purchase verification, Stripe sync, crash reporting, analytics, short links and status pages.
- AI agent safety: agent keys with their own Postgres role, a query firewall, approvals for risky statements and per-session undo.
#Moving from Supabase to StitchDB
The Import from Supabase wizard needs a Supabase personal access token and your database password. It reads the rest through the Supabase Management API and copies:
- your schemas, data, functions, triggers, policies and grants,
- auth users with password hashes, identities and MFA factors (users keep their ids),
- buckets, files and storage policies,
- cron jobs and realtime tables,
- Edge Function code and the names of your secrets,
- Auth settings and sign-in providers (you re-enter client secrets).
With a direct connection it runs a live copy and switches over in seconds. Through the session pooler it does a one-time copy. Step by step: How to migrate from Supabase to StitchDB.
#Who should pick which
Pick Supabase if you need regions outside Europe, want the option to self-host, or value the bigger ecosystem above price.
Pick StitchDB if your users are mostly in Europe, you want PITR without an add-on, a lower bill at the start, or the extra app services in one project.
Still deciding? Supabase alternatives covers other options too.
#Limits worth checking before you switch
Plan limits shape an app more than feature lists do. These are StitchDB's per-project limits from the plans and limits page, as of November 2026:
| Limit | Free | Pro | Scale |
|---|---|---|---|
| API requests per second | 50 | 1,000 | 2,000 |
| Rows per API request | 1,000 | 5,000 | 10,000 |
| API statement timeout | 8 s | 30 s | 60 s |
| Direct database connections | 20 | 100 | 160 |
| Max upload size | 50 MB | 100 GB | 100 GB |
| Edge Function wall time | 60 s | 150 s | 400 s |
Check your heaviest endpoints against these. If a report query runs for 45 seconds through the REST API today, it will be cancelled on Pro; move it to a database function called by cron, or to a session-mode connection. Supabase publishes its own limits per compute size, so compare the two for the compute you actually run.
#FAQ
#Can I use supabase-js with StitchDB?
Yes. Point it at https://<project-ref>.p.stitchdb.com with your StitchDB anon key. StitchDB's own stitchdb-js has the same methods and adds StitchDB features.
#Will my users have to reset their passwords after moving?
No. The import copies password hashes and user ids. Users sign in once more because open sessions aren't copied.
#Does StitchDB have a US region?
No. As of November 2026 StitchDB runs in EU data centers only.
#Can I self-host StitchDB?
There is no self-hosted edition. StitchDB is a hosted platform that is compatible with the open-source Supabase APIs. For local development, stitchdb start runs the full stack on your machine as plain processes, without Docker (local development).
Try it with your own data: create a free StitchDB project and run the import.