Getting Started

Features


This is a non-exhaustive list of features that Supabase provides for every project.

Database

Postgres database

Every project is a full Postgres database. Docs.

Vector database

Store vector embeddings right next to the rest of your data. Docs.

Auto-generated Rest API via PostgREST

RESTful APIs are auto-generated from your database, without a single line of code. Docs.

Auto-generated GraphQL API via pg_graphql

Fast GraphQL APIs using our custom Postgres GraphQL extension. Docs.

Database webhooks

Send database changes to any external service using Webhooks. Docs.

Secrets and encryption

Encrypt sensitive data and store secrets using our Postgres extension, Supabase Vault. Docs.

Platform

Database backups

Projects are backed up daily with the option to upgrade to Point in Time recovery. Docs.

Custom domains

White-label the Supabase APIs to create a branded experience for your users. Docs.

Network restrictions

Restrict IP ranges that can connect to your database. Docs.

SSL enforcement

Enforce Postgres clients to connect via SSL. Docs.

Branching

Use Supabase Branches to test and preview changes. Docs.

Terraform provider

Manage Supabase infrastructure via Terraform, an Infrastructure as Code tool. Docs.

Read replicas

Deploy read-only databases across multiple regions, for lower latency and better resource management. Docs.

Fly Postgres

Launch the Supabase stack on Fly.io edge network. Docs.

Log Drains

Export Supabase logs at to 3rd party providers and external tooling. Docs.

Studio

Studio Single Sign On

Login to the Supabase dashboard via SSO. Docs.


Realtime

Postgres changes

Receive your database changes through websockets. Docs.

Broadcast

Send messages between connected users through websockets. Docs.

Presence

Synchronize shared state across your users, including online status and typing indicators. Docs.

Auth

Email login

Build email logins for your application or website. Docs.

Social login

Provide social logins - everything from Apple, to GitHub, to Slack. Docs.

Phone logins

Provide phone logins using a third-party SMS provider. Docs.

Passwordless login

Build passwordless logins via magic links for your application or website. Docs.

Authorization via Row Level Security

Control the data each user can access with Postgres Policies. Docs.

Captcha protection

Add Captcha to your sign-in, sign-up, and password reset forms. Docs.

Server-side Auth

Helpers for implementing user authentication in popular server-side languages and frameworks like Next.js, SvelteKit and Remix. Docs.


Storage

File storage

Supabase Storage makes it simple to store and serve files. Docs.

Content Delivery Network

Cache large files using the Supabase CDN. Docs.

Smart Content Delivery Network

Automatically revalidate assets at the edge via the Smart CDN. Docs.

Image transformations

Transform images on the fly. Docs.

Resumable uploads

Upload large files using resumable uploads. Docs.

S3 compatibility

Interact with Storage from tool which supports the S3 protocol. Docs.

Edge Functions

Deno Edge Functions

Globally distributed TypeScript functions to execute custom business logic. Docs.

Regional invocations

Execute an Edge Function in a region close to your database. Docs.

NPM compatibility

Edge functions natively support NPM modules and Node built-in APIs. Link.

Project management

CLI

Use our CLI to develop your project locally and deploy to the Supabase Platform. Docs.

Management API

Manage your projects programmatically. Docs.

Client libraries

Official client libraries for JavaScript, Flutter and Swift. Unofficial libraries are supported by the community.

Feature status

Supabase Features are in 4 different states - Private Alpha, Public Alpha, Beta and Generally Available.

Private Alpha

Features are initially launched as a private alpha to gather feedback from the community. To join our early access program, send an email to product-ops@supabase.io.

Public Alpha

The alpha stage indicates that the API might change in the future, not that the service isn’t stable. Even though the uptime Service Level Agreement does not cover products in Alpha, we do our best to have the service as stable as possible.

Beta

Features in Beta are tested by an external penetration tester for security issues. The API is guaranteed to be stable and there is a strict communication process for breaking changes.

Generally Available

In addition to the Beta requirements, features in GA are covered by the uptime SLA.

ProductFeatureStageAvailable on self-hosted
DatabasePostgresGAβœ…
DatabaseVector DatabaseGAβœ…
DatabaseAuto-generated Rest APIGAβœ…
DatabaseAuto-generated GraphQL APIGAβœ…
DatabaseWebhooksbetaβœ…
DatabaseVaultpublic alphaβœ…
PlatformGAβœ…
PlatformPoint-in-Time RecoveryGA🚧 wal-g
PlatformCustom DomainsGAN/A
PlatformNetwork RestrictionsbetaN/A
PlatformSSL enforcementGAN/A
PlatformBranchingpublic alphaN/A
PlatformTerraform Providerpublic alphaN/A
PlatformRead Replicasprivate alphaN/A
PlatformFly Postgresprivate alphaN/A
PlatformLog Drainspublic alphaβœ…
StudioGAβœ…
StudioSSOGAβœ…
RealtimePostgres ChangesGAβœ…
RealtimeBroadcastGAβœ…
RealtimePresenceGAβœ…
RealtimeBroadcast Authorizationpublic betaβœ…
RealtimePresence Authorizationpublic betaβœ…
StorageGAβœ…
StorageCDNGA🚧 Cloudflare
StorageSmart CDNGA🚧 Cloudflare
StorageImage TransformationsGAβœ…
StorageResumable UploadsGAβœ…
StorageS3 compatibilitypublic alphaβœ…
Edge Functionsbetaβœ…
Edge FunctionsRegional Invocationsbetaβœ…
Edge FunctionsNPM compatibilitybetaβœ…
AuthGAβœ…
AuthEmail loginGAβœ…
AuthSocial loginGAβœ…
AuthPhone loginGAβœ…
AuthPasswordless loginGAβœ…
AuthSSO with SAMLGAβœ…
AuthAuthorization via RLSGAβœ…
AuthCaptcha protectionGAβœ…
AuthServer-side Authbetaβœ…
CLIGAβœ… Works with self-hosted
Management APIGAN/A
Client LibraryJavaScriptGAN/A
Client LibraryFlutterbetaN/A
Client LibrarySwiftbetaN/A
  • βœ… = Fully Available
  • 🚧 = Available, but requires external tools or configuration