New: Supaflow Claude Code Plugin -- let AI agents create, edit, and monitor your data pipelines. See how the plugin works
Shopify logo

Shopify Connector

Sync products, orders, and customers from a single Shopify store into your data warehouse with incremental sync and a read-only custom app token.

SourceCommunity

Evaluating against Fivetran? See how Supaflow handles Shopify 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

Custom App Token Authentication

Connect with a Shopify custom app Admin API access token. The connector is read-only; required scopes are read_products, read_orders, read_all_orders, and read_customers. No OAuth flow, no public app to install.

Incremental Sync for Every Supported Object

Products, Orders, and Customers all sync incrementally. After the initial backfill, each run fetches only records that have changed since the last sync.

Control the Initial Backfill

Use Start Date to cap how far back the first sync reaches, or leave it blank to load all available history. Useful on stores with years of orders when you only need recent data.

Order Status Filter

Scope Orders to open, closed, cancelled, or all statuses without affecting Products or Customers. Right for teams that want operational orders in the warehouse but do not need cancelled history.

Built-in Rate Limit Handling

Shopify applies API rate limits to the Admin API. Supaflow handles transient rate limiting automatically with retry and backoff, so busy stores do not need a bespoke throttling setup.

Supported Objects

Incremental

Products

Product catalog records from your Shopify store.

Orders

Order records with order-level commerce data. Scoped by the Order Status Filter.

Customers

Customer records from your Shopify store.

Not yet supported

multiple stores per source, Shopify Partner API, inventory, collections, discounts, fulfillments as a separate object, metafields, locations, transactions, refunds as a separate object, gift cards, draft orders

Not exposed by the current connector. Email support@supa-flow.io with the objects you need -- expansion is prioritized by customer demand.

How It Works

1

Create a Shopify custom app

In your Shopify admin, go to Settings > Apps and sales channels > Develop apps and create a new custom app. Under Configuration > Admin API integration, grant read_products, read_orders, and read_customers. read_all_orders is a protected Shopify scope that requires additional approval before it becomes available on the app -- it is required to sync orders older than roughly 60 days, so request access early (see Shopify's API access scopes documentation at https://shopify.dev/docs/api/usage/access-scopes#orders-permissions for the current approval process). Once scopes are in place, install the app and copy the Admin API access token (starts with shpat_) -- Shopify shows it only once.

2

Find your *.myshopify.com URL

Supaflow requires the store's permanent *.myshopify.com URL, not a custom storefront domain and not an admin.shopify.com/store/... admin URL. You can find it in Shopify admin under Settings > Domains, listed as the default myshopify.com URL.

3

Enter the credentials in Supaflow

Create a new Shopify source and paste the *.myshopify.com URL and the Admin API access token. Optionally set Start Date to cap the initial backfill window, Order Status Filter to scope which orders to sync, and Items Per Page (up to 250) if you want to tune batch size.

4

Test and save

Click Test & Save. Supaflow validates the URL, token, and required scopes before the source is saved, so missing scopes surface immediately instead of as empty tables later.

Use Cases

Commerce reporting in the warehouse

Land Products, Orders, and Customers in your warehouse so finance and growth teams can build order volume, AOV, repeat-purchase, and cohort reports in SQL alongside data from the rest of the stack.

Customer 360 with marketing and support tools

Join Shopify customers and orders with data from marketing, billing, and support connectors in the warehouse. Build a single-customer view without relying on a vendor-hosted CDP.

Long-term order history for compliance and audit

Keep a warehouse copy of every order beyond Shopify's default order-history window, so finance and audit teams can run multi-year queries over commerce data.

Frequently Asked Questions

Can one source sync more than one Shopify store?
No. Each Supaflow source connects to a single Shopify store. Create one source per store if you run multiple storefronts.
What goes in the Shop URL field?
The store's permanent *.myshopify.com URL, for example https://my-store.myshopify.com. Custom storefront domains and admin.shopify.com/store/... admin URLs are not accepted -- the Admin API only responds on the myshopify.com hostname.
Why does Supaflow need the read_all_orders scope?
read_all_orders is a protected Shopify scope. It is required to sync orders older than roughly 60 days, and Shopify requires additional approval before you can add it to your app. See Shopify's API access scopes documentation (https://shopify.dev/docs/api/usage/access-scopes#orders-permissions) for the current approval process.
Does the connector write back to Shopify?
No. The connector is read-only. It never creates, updates, or cancels products, orders, or customers. Do not grant write scopes on the custom app token.
Can I sync inventory, fulfillments, transactions, or refunds?
Not yet. The current connector syncs Products, Orders, and Customers. Inventory, collections, discounts, fulfillments, metafields, locations, transactions, refunds, gift cards, and draft orders are not exposed today. Email support@supa-flow.io with the objects you need -- expansion is prioritized by customer demand.
How does Supaflow handle Shopify rate limits?
Shopify applies API rate limits to the Admin API. Supaflow handles transient rate limiting automatically with retry and backoff, but very large syncs may take longer or need off-peak scheduling and a narrower Start Date to stay inside the store's plan limits. See Shopify's API rate limits documentation for current thresholds.
Can I run the Shopify pipeline natively inside Snowflake?
Yes. Supaflow runs as a Snowflake Native App via Snowpark Container Services, so Shopify data is extracted and loaded without leaving your Snowflake account. See our Snowflake Native ETL guide for details.

Need a connector we don't support yet?

Build one with AI-powered Connector Dev Skills.

Learn More About the Connector SDK