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.

SourceComing Soon

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

Supaflow vs Fivetran

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.

RLS-Aware Reads

Use the connector when you want warehouse syncs to respect Supabase Row Level Security. For database-admin style access, 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. Supaflow rejects secret keys 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 reads through a Supabase Auth session and respects Row Level Security policies. The PostgreSQL source connects with database credentials and is the better fit when you want direct database-user access.
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. Supaflow rejects secret keys for this source because they bypass Row Level Security; do not use a legacy service_role key either.
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