Skip to content

Shopify Admin ​

Reads the Shopify Admin API: orders, products, and store metadata. Use a custom app token with read access to the streams you select.

Before you begin ​

  1. In Shopify admin, create a custom app and install it on the shop.
  2. Copy the Admin API access token. Grant read scopes for orders and products (and any other stream you enable).
  3. Note the shop hostname (my-store.myshopify.com).
  4. Pick a destination. Daily order windows work best with Athena, Athena Iceberg, or SkipprLake.
bash
export SHOPIFY_ACCESS_TOKEN="shpat_..."

Configure ​

python
from skippr import Config, DataSourceShopifyAdmin, EnvRef, Pipeline

cfg = Config.discover()
src = cfg.data_source(
    "shopify",
    DataSourceShopifyAdmin(
        shop_domain="my-store.myshopify.com",
        start_date="2024-01-01",
        stream_profile="full",
        oauth_access_token=EnvRef("SHOPIFY_ACCESS_TOKEN"),
    ),
)
cfg.pipeline("commerce", Pipeline(data_source=src, data_sink=cfg.get_data_sink("lake")))
cfg.save()
bash
skipprd connect data-source shopify-admin \
  --pipeline commerce \
  --name shopify \
  --shop-domain my-store.myshopify.com \
  --start-date 2024-01-01 \
  --stream-profile full \
  --oauth-access-token '${SHOPIFY_ACCESS_TOKEN}'
yaml
data_sources:
  shopify:
    ShopifyAdmin:
      shop_domain: my-store.myshopify.com
      start_date: "2024-01-01"
      stream_profile: full
      lookback_days: 7
      oauth_access_token: ${SHOPIFY_ACCESS_TOKEN}

Options ​

KeyTypeRequired/DefaultDescription
shop_domainstringRequiredShop hostname
start_datestringRequiredFirst order date (YYYY-MM-DD)
api_versionstringNot setAdmin API version override
lookback_daysinteger7Order window to re-read
stream_profilestringfullminimal, standard, or full
streamslistProfile setExact stream list
min_query_interval_msinteger500Minimum delay between GraphQL calls
max_queries_per_runinteger200Query budget per sync
use_bulk_operationsboolfalseUse bulk operations for large backfills
oauth_client_idstringNot setCustom app client ID
oauth_client_secretsecretNot setCustom app secret
oauth_access_tokensecretRequiredAdmin API token as ${ENV}

What gets synced ​

Orders and catalog objects in the selected profile. Each run re-reads lookback_days. Deleted Shopify objects stop appearing in new snapshots.

Troubleshooting ​

SymptomFix
401Recreate the custom-app token and export it
403Add the missing Admin API read scopes
Rate limitedRaise min_query_interval_ms or enable use_bulk_operations

Next steps ​