Skip to main content

Shopify

This connector captures data from Shopify's REST Admin API.

It is available for use in the Flow web application. For local development or open-source workflows, ghcr.io/estuary/source-shopify:dev provides the latest version of the connector as a Docker image. You can also follow the link in your browser to see past image versions.

Alternatively, if you would like to receive Shopify webhooks directly in Estuary Flow, see the HTTP Ingest (Webhook) connector.

Supported data resources

The following data resources are supported through the Shopify APIs:

Default Streams

Shopify Plus Streams

By default, each resource is mapped to a Flow collection through a separate binding.

Prerequisites

  • Store ID of your Shopify account.

    Use the prefix of your admin URL. For example, https://{store_id}.myshopify.com/admin.

You can authenticate your account either via OAuth or using a Shopify access token.

Configuration

You configure connectors either in the Flow web app, or by directly editing the catalog specification file. See connectors to learn more about using connectors. The values and specification sample below provide configuration details specific to the Shopify source connector.

Properties

Endpoint

PropertyTitleDescriptionTypeRequired/Default
/credentialsCredentialsobjectRequired
/credentials/auth_typeAuthentication TypeCan either be oauth or access_token.stringRequired
/credentials/client_idClient IDThe Client ID for Shopify OAuth.stringRequired when using the oauth Auth Type
/credentials/client_secretClient SecretThe Client Secret for Shopify OAuth.stringRequired when using the oauth Auth Type
/credentials/access_tokenAccess TokenThe access token to authenticate with the Shopify API.stringRequired
/storeStore IDShopify Store ID, such as from the prefix in https://{store_id}.myshopify.com/admin.stringRequired
/start_dateStart DateUTC date in the format 2020-01-01. Any data before this date will not be replicated.stringRequired, 2020-01-01
/admin_urlAdmin URLThe Admin URL for the Shopify store (overrides 'store' property).string
/is_plus_accountIs Plus AccountEnables Shopify plus account endpoints.boolean

Bindings

PropertyTitleDescriptionTypeRequired/Default
/streamStreamResource of your Shopify project from which collections are captured.stringRequired
/syncModeSync ModeConnection method.stringRequired

Sample


captures:
${PREFIX}/${CAPTURE_NAME}:
endpoint:
connector:
image: ghcr.io/estuary/source-shopify:dev
config:
credentials:
auth_type: access_token
access_token: <secret>
store: <store ID>
is_plus_account: false
start_date: 2020-01-01
bindings:
- resource:
stream: transactions
syncMode: full_refresh
target: ${PREFIX}/transactions
{...}