New: Supaflow Claude Plugin -- let Claude create, edit, and monitor your data pipelines. Try the plugin
Supabase logo

Supabase Connector

Sync Supabase tables through a Supabase Auth session, with Row Level Security policies applied during reads.

SourceBronze

Evaluating against Fivetran? See how Supaflow handles Supabase pricing, connector quality, and Snowflake deployment side-by-side.

Supaflow vs Fivetran

Load Supabase into Snowflake

Dedicated pages for destination-specific setup, buyer questions, and Snowflake sync behavior.

Why Supaflow

All connectors included

Every connector is available on every plan. Pricing does not increase with connector count.

Pay for compute, not rows

Credit-based pricing. Usage scales with your pipelines, not with row counts.

One platform

Ingestion, dbt Core transformation, reverse ETL, and orchestration in a single workspace.

Capabilities

Supabase Auth Sessions

Sign in with email/password or magic link. Supaflow stores the session credentials encrypted, refreshes the session when needed, and reads as the authenticated user.

Application-User Access

Use this connector when warehouse syncs should respect a Supabase Auth user's Row Level Security policies. For centralized replication with an actual database username and password, use the PostgreSQL source instead.

Table Discovery

Discover tables in exposed Supabase schemas through the Supaflow metadata helper, then select the tables you want to sync in your pipeline.

Full Refresh and Incremental Sync

Run full-refresh syncs or incremental syncs on reliable last-modified timestamp fields.

Page Size Control

Tune the number of rows read per request for wide tables, large projects, or expensive Row Level Security policies that need smaller batches.

Supported Objects

Database Objects

Tables

Tables in exposed schemas with SELECT access for the authenticated role.

How It Works

1

Install the metadata helper

Run the Supaflow metadata helper SQL in the Supabase SQL Editor for each project you connect. The helper lets Supaflow discover schemas, tables, columns, and primary keys without a service role key.

2

Enter project details

Provide the Supabase Project Reference and a publishable API key or legacy anon key. The source does not require a service-role key; current Supabase secret keys are rejected because they bypass Row Level Security.

3

Sign in with Supabase Auth

Choose email/password or magic link and authenticate as the Supabase Auth user whose RLS access should define what Supaflow can read.

4

Test and save

Click Test & Save to validate the Auth session, check the metadata helper, and discover schemas and objects exposed to the authenticated role. Row reads are filtered by the signed-in user session.

Use Cases

RLS-aware analytics syncs

Move application data into your warehouse using the same Supabase Auth visibility model your product relies on.

Tenant-scoped exports

Create sources for specific Supabase Auth users when each user or workspace should sync only the rows allowed by your policies.

Operational reporting

Sync selected application tables for reporting while avoiding broad database credentials or service role keys.

Frequently Asked Questions

How is this different from the PostgreSQL source?

The Supabase source uses a publishable or legacy anon key plus a Supabase Auth session, so reads follow that application user's Row Level Security policies. The PostgreSQL source uses an actual database username and password and can read every selected table and row that database user is permitted to access.

Can I replicate an entire Supabase database?

Yes. Use the PostgreSQL source with a dedicated database user that has CONNECT, schema USAGE, and table SELECT for the intended replication scope. Use this Supabase source instead when an application user's RLS visibility should limit the export. Neither source currently uses WAL CDC.

Which sign-in methods are supported?

Email/password is the default. Magic link is also supported when your Supabase Auth redirect allow list includes the Supaflow callback URL.

Do I need a service role key?

No. Use a publishable key or legacy anon key with the signed-in user session. The source does not require a service-role key, and current Supabase secret keys are rejected because they bypass Row Level Security.

Why does the connector need a metadata helper?

The helper lets Supaflow discover schemas, tables, columns, and primary keys without storing a service role key. Actual row reads still use the signed-in Supabase Auth user session.

What happens when the Supabase Auth token expires?

Supaflow refreshes the session with the saved refresh token before reads. If the refresh token is revoked or expired, reconnect the source.

Does the connector support CDC?

No. The Supabase source supports full refresh and timestamp-based incremental sync. It does not use Postgres logical replication or CDC.

Can I sync Supabase views or foreign tables?

No. The Supabase source discovers and syncs tables only. If you need data from a view, materialize it into a table in your Supabase project.

Can I sync tables without primary keys?

Small full-refresh tables can work within a single page. For large full-refresh tables, keep a primary key so Supaflow can page rows safely and deterministically.

Need a connector we don't support yet?

Build one with AI-powered Connector Dev Skills.

Learn More About the Connector SDK