Skip to content
Guides

What Is Supabase? How It Works, and Why AI App Builders Use It

Supabase is a hosted Postgres database that comes with user login, file storage, realtime updates and serverless functions. It turns your tables into an API that your app’s frontend can call directly, so you don’t have to write a backend. That shortcut explains its growth.

As of October 2026, more than 13 million developers use it, it adds over 4 million new databases a month, and 70% of those are created by AI agents and app builders rather than people. It’s also the source of its most common mistake: because the browser talks to the database directly, your data is only as safe as the access rules you write in Postgres.

CompareCrest Research Summary

Key Takeaways

  • Supabase is Postgres, not a proprietary database. You can export your data with standard tools, connect any Postgres client, or self-host the open-source stack.
  • The frontend queries the database directly with a public key. Row Level Security (RLS) policies decide what each user can read or write, so a missing policy can leave a whole table open.
  • AI tools are now its main source of new projects. Supabase says 70% of new databases are created by agents or AI-driven tools, and it has an official MCP server and agent skills for Claude Code, Codex and Cursor.
  • The company is very well funded. It raised $500 million at a $10.5 billion valuation in June 2026, then another $150 million in October 2026, when it also agreed to acquire Turso.
  • Free projects pause after a week of low activity. You can restore them from the dashboard within a year, but a paused demo app won’t load for visitors.
  • It has a Mumbai region, but Indian ISPs blocked its developer domain from 24 February to 3 March 2026. Production apps serving Indian users should plan for that.

What You Get When You Create a Supabase Project

Each project is a dedicated Postgres database with these services attached. Most are open-source tools Supabase maintains or packages.

PartWhat it is underneathWhat you use it for
DatabaseFull Postgres, with extensions such as pgvectorTables, relations, SQL, AI embeddings
Data APIPostgREST, which creates a REST API from your tablesReading and writing data from the frontend without backend code
AuthSupabase’s auth server, storing users in your databaseEmail, magic link, phone and social logins; JWTs that RLS policies check
StorageFile storage with permissions handled by PostgresUser uploads, images, documents
RealtimeStreams database changes over websocketsLive chat, dashboards, multiplayer features
Edge FunctionsTypeScript functions on DenoWebhooks, payment callbacks, calling third-party APIs with secret keys
BranchingA separate database copy per Git branchTesting schema changes before production

Since Auth stores users in your own database, a user_id column in an orders table can reference the logged-in user directly. Firebase keeps users in a separate system, so you can’t link them to your data with a database relation like this.

Your Frontend Talks Straight to the Database

In most stacks, the browser calls your server and your server queries the database. Supabase removes that middle layer. Your app ships a public “anon” key, and anyone who opens the browser’s developer tools can find it. That’s by design. The key identifies your project, and Postgres RLS policies decide what each request can do.

Diagram of how a Supabase request works: the browser sends the public anon key and the user’s login token to the auto-generated Data API, a Row Level Security policy check runs on every row, and the Postgres table returns only that user’s rows. A second path shows secret keys such as the service role key and Stripe keys kept inside an Edge Function, never in the browser.

This is all the frontend code it takes to read a table. There’s no server in between:

import { createClient } from '@supabase/supabase-js'

const supabase = createClient('https://YOUR-PROJECT.supabase.co', 'YOUR-PUBLISHABLE-KEY')
const { data, error } = await supabase.from('orders').select('*')

Whether data contains one user’s orders or every order in the table depends entirely on the policy below.

A policy is a short piece of SQL. This one lets users see only their own orders:

alter table orders enable row level security;

create policy "Users read their own orders"
on orders for select
using (auth.uid() = user_id);
Three states of Supabase Row Level Security for a user named Asha querying an orders table: with RLS off she can see every customer’s orders; with RLS on but no policy she sees nothing; with RLS on and the policy auth.uid() = user_id she sees only her own order.

If you forget the first line, or enable RLS without writing any policies, the result is very different. A table with RLS enabled but no policies blocks everyone. A table with RLS disabled is open to anyone who has the anon key. That gap is where real problems have come from. In May 2025, security researcher Matt Palmer published CVE-2025-48757, showing that Lovable projects created on or before 15 April 2025 could have tables without effective RLS, exposing names, email addresses, payment records and third-party API keys. A follow-up scan found 303 open endpoints across 170 projects. Supabase’s own April 2026 post on AI agents lists “skipping RLS policies on exposed schemas” as the first mistake agents make, along with creating views that bypass RLS.

The rule is simple. Secret keys (the service role key, Stripe secrets, OpenAI keys) belong only in Edge Functions or your server. Every table the frontend can reach needs RLS enabled and a policy you’ve read yourself.

Why AI App Builders Default to Supabase

When an AI tool builds an app for you, it needs somewhere to store users and data that it can set up without you writing server code. Supabase fits that need. A project can be created through an API, the schema is plain SQL that language models write well, and the auto-generated API means the agent only has to write frontend code. That’s why app builders such as Lovable connect to it natively. Our AI app builders comparison covers which builders use Supabase and which run their own backend.

Supabase now builds for agents as well as human developers:

What it offersWhat it does
Official MCP serverLets Claude, Codex, Cursor and other agents list tables, run SQL, apply migrations and read logs (what MCP is)
Agent SkillsAn open-source instruction set that teaches coding agents correct Supabase patterns, including RLS and secure views
Read-only and project-scoped MCPLimits an agent to one project and read-only queries
MCP confirmationsAsks for approval before creating paid resources or running SQL that deletes data (added October 2026)
Turso acquisitionInfrastructure for creating very large numbers of small databases, one per agent or user

Supabase’s own docs advise caution. They recommend connecting the MCP server to production only when needed, with read-only mode and project scoping, because instructions hidden in data, such as a support ticket, could trick an agent into running harmful queries. If you’re vibe coding an app, point the agent at a development branch, not your live database.

Getting Started With Supabase in Five Steps

  1. Create a project at supabase.com, pick the region closest to your users (Mumbai for India) and save the database password.
  2. Create a table in the Table Editor and keep “Enable Row Level Security” ticked.
  3. Add a policy for each action your app needs, such as “users can read their own rows,” in the Policies screen or the SQL Editor.
  4. Copy your project URL and publishable (anon) key from the project’s API settings.
  5. Install @supabase/supabase-js in your app and query the table, or connect the project to an AI app builder or coding agent through the MCP server.

Before you invite real users, open the Security Advisor in the dashboard. It flags tables with RLS off and views that bypass it.

Supabase vs Firebase: How They’re Built

Both give you a backend without running servers, but they’re built very differently.

SupabaseFirebase
DatabasePostgres (relational, SQL)Firestore (NoSQL documents); Postgres available through Data Connect
QueriesSQL joins, views, functionsDocument reads, limited query operators
Access rulesRLS policies written in SQLFirebase Security Rules (its own language)
Open sourceYes, self-hostableNo
Moving your data elsewhereStandard Postgres dumpExport, then remodel from documents to tables
Offline mobile syncNot built inBuilt into Firestore SDKs
EcosystemWorks with any Postgres toolDeep Google Cloud and Analytics integration

Choose Supabase if your data has relations (customers, orders, invoices, line items) or you want to keep the option to leave. Firebase is still easier for mobile apps that need offline sync, and for teams already working in Google Cloud.

Self-Hosting Supabase: What You Give Up

You can run Supabase on your own server with Docker Compose, and some teams do this for data residency or cost control. According to Supabase’s self-hosting docs, you then handle servers, security updates, backups, high availability and monitoring yourself. Studio manages one project only, and branching, managed backups with point-in-time recovery, analytics and vector buckets, ETL pipelines and the Management API aren’t available. Support is community-only, through GitHub, Discord and Reddit. For most small teams, the hosted free plan or Pro plan is less work than a self-hosted server.

What Supabase Costs

There’s a free plan with two active projects, a 500 MB database and 50,000 monthly active users. Pro starts at $25 a month. Compute, storage and egress beyond the included amounts are what usually raise the bill. For plan limits, overages and real bill examples, see our Supabase pricing guide.

Using Supabase From India

Supabase has a South Asia (Mumbai) region, ap-south-1, so Indian users get low-latency database access if you choose it when creating the project. You can’t change the region later without migrating.

You should also know about the 2026 block. On 24 February 2026, the government issued an order under Section 69A of the IT Act, and Jio, Airtel and ACT users couldn’t reach supabase.co, the domain apps use to talk to their database. The marketing site stayed up. Supabase said access was fully restored across India on 3 March 2026, and no public reason for the order was given. For an app whose users are mostly in India, a custom domain for your Supabase project, which Supabase suggested as a workaround in its March post on regional blocks, reduces the risk of a domain-level block taking your app offline again.

When Supabase Is the Wrong Choice

  • You need offline-first mobile sync out of the box.
  • Your workload is heavy analytics on billions of rows, not app data.
  • Nobody on the team will review RLS policies before launch.
  • You want a backend where business logic lives on a server you control, not in database policies.
  • A demo or side project needs to stay online with almost no traffic (free projects pause).

Supabase Alternatives Worth Knowing

AlternativeWhat it isChoose it when
FirebaseGoogle’s backend with Firestore (NoSQL), auth and hostingYou need offline mobile sync or already use Google Cloud
NeonServerless Postgres, acquired by Databricks in May 2025 for about $1 billionYou want Postgres only and will handle auth and storage separately
AppwriteOpen-source backend with auth, database, storage and functions, cloud or self-hostedYou want a Supabase-style bundle without SQL
PocketBaseA single Go file with SQLite, auth and an admin dashboardA small app or internal tool on one server

Databricks said more than 80% of databases on Neon were created by AI agents at the time of the deal, the same trend Supabase reports.

What Changed at Supabase in 2026

DateChange
24 Feb to 3 MarDeveloper domain blocked by Indian ISPs, then restored
9 AprAgent Skills released for AI coding agents
5 Jun$500M Series F at a $10.5B valuation, led by GIC
2 OctSupabase Select: Docker-free local development, Supabase Compute (private alpha), Multigres high availability, OrioleDB in public beta, MCP confirmations
6 Oct$150M in new funding and the Turso acquisition; more than 13 million developers

FAQs

Is Supabase a database or a backend?
Both. At its core it’s a Postgres database, and the auth, storage, API and functions around it make it a full backend for most web and mobile apps.
Is Supabase free?
Yes, the free plan includes two active projects. They pause after a week of low activity, and Pro starts at $25 a month. See the pricing breakdown for limits.
Is Supabase secure? 
Supabase is SOC 2 Type 2 compliant. HIPAA workloads need a signed Business Associate Agreement, the HIPAA add-on and settings such as point-in-time recovery, according to Supabase’s HIPAA guide. Either way, your app’s security depends on your RLS policies. A table without RLS can be read by anyone with your public key.
Is Supabase open source?
Yes. Its main components are open source, and you can self-host the stack with Docker. Some hosted features, such as branching and parts of the dashboard, work best on the managed service.
Can I use Supabase without knowing SQL?
You can create tables in the dashboard’s table editor, and AI builders write the SQL for you. You should still learn enough to read an RLS policy, because that’s what protects your data.
Supabase or Firebase for a beginner?
If your app has users, orders or anything relational, start with Supabase. If you’re building an offline-first mobile app, Firebase is simpler.
Is Supabase blocked in India?
Not now. Access was blocked from 24 February to 3 March 2026 and has been restored. Choosing the Mumbai region and a custom domain makes Indian production apps more resilient.
Why do AI app builders use Supabase?
It can be set up entirely through an API, the schema is plain SQL that AI writes well, and the auto-generated API means the AI only writes frontend code. Supabase says 70% of new databases now come from agents and AI tools.

CompareCrest
Logo