This is a Singer tap that produces JSON-formatted data following the Singer spec.
This tap:
- Pulls raw data from Shopify Graphql Admin API
- Extracts the following resources:
- Outputs the schema for each resource
- Incrementally pulls data based on the input state
Stream Name | Replication Key | Key Properties |
---|---|---|
abandoned_checkouts | updatedAt | id |
collections | updatedAt | id |
customers | updatedAt | id |
events | createdAt | id |
inventory_items | updatedAt | id |
inventory_levels | updatedAt | id |
locations | createdAt | id |
metafields_collections | updatedAt | id |
metafields_customers | updatedAt | id |
metafields_orders | updatedAt | id |
metafields_products | updatedAt | id |
order_refunds | updatedAt | id |
orders | updatedAt | id |
product_variants | updatedAt | id |
products | updatedAt | id |
transactions | createdAt | id |
Currently, locations
graphql endpoint doesn't support querying on the updatedAt
, therefore, createdAt
is made the replication key.
-
Install
pip install tap-shopify
-
Create the config file
Create a JSON file called
config.json
. Its contents should look like:{ "start_date": "2010-01-01", "api_key": "<Shopify API Key>", "shop": "test_shop", "request_timeout": 300 }
The
start_date
specifies the date at which the tap will begin pulling data (for those resources that support this).The
api_key
is the API key for your Shopify shop generated via an OAuth flow.The
shop
is your Shopify shop which will be the valuetest_shop
in the stringhttps://test_shop.myshopify.com
The
request_timeout
is the timeout for the requests. Default: 300 seconds -
Run the Tap in Discovery Mode
tap-shopify -c config.json -d
See the Singer docs on discovery mode here.
-
Run the Tap in Sync Mode
tap-shopify -c config.json --catalog catalog-file.json
Copyright © 2025 Stitch