🚀 Quickstart
Connect to Shopify with Nango and see data flow in 2 minutes.1
Create an integration
In Nango (free signup), go to Integrations -> Configure New Integration -> Shopify.
2
Authorize Shopify
Go to Connections -> Add Test Connection -> Authorize, then log in to Shopify. Later, you’ll let your users do the same directly from your app.
3
Call the Shopify API
Let’s make your first request to the Shopify API (fetch a list of customers). Replace the placeholders below with your secret key, integration ID, and connection ID:Or fetch credentials dynamically via the Node SDK or API.✅ You’re connected! Check the Logs tab in Nango to inspect requests.
- cURL
- Node
curl "https://api.nango.dev/proxy/admin/api/2025-01/customers.json?limit=10" \
-H "Authorization: Bearer <NANGO-SECRET-KEY>" \
-H "Provider-Config-Key: <INTEGRATION-ID>" \
-H "Connection-Id: <CONNECTION-ID>"
Install Nango’s backend SDK with
npm i @nangohq/node. Then run:import { Nango } from '@nangohq/node';
const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });
const res = await nango.get({
endpoint: '/admin/api/2025-01/customers.json',
params: {
limit: 10
},
providerConfigKey: '<INTEGRATION-ID>',
connectionId: '<CONNECTION-ID>'
});
console.log(JSON.stringify(res.data, null, 2));
4
Implement Nango in your app
Follow our Auth implementation guide to integrate Nango in your app.To obtain your own production credentials, follow the setup guide linked below.
📚 Shopify Integration Guides
Nango maintained guides for common use cases.-
How to register your own Shopify OAuth app
Register an OAuth app with Shopify and obtain credentials to connect it to Nango -
How do I link my Shopify account?
Learn how to authenticate with Shopify and link your account
Shopify recently introduced expiring offline access tokens (December 2025) — unlike non-expiring tokens, these include a refresh token and rotate every hour. To migrate to expiring offline tokens or to generate a fresh set of tokens, users need to re-authenticate their connection.
🧩 Pre-built syncs & actions for Shopify
Enable them in your dashboard. Extend and customize to fit your needs.Others
| Function name | Description | Type | Source code |
|---|---|---|---|
accept-fulfillment-request | Accept a fulfillment request for a Shopify fulfillment order. | Action | 🔗 Github |
activate-automatic-discount | Activate an automatic Shopify discount. | Action | 🔗 Github |
activate-discount-code | Activate a code-based Shopify discount | Action | 🔗 Github |
activate-inventory-item-at-location | Activate tracking for a Shopify inventory item at a location. | Action | 🔗 Github |
adjust-inventory-quantities | Adjust inventory quantities for tracked items. | Action | 🔗 Github |
approve-return | Approve a return request on a Shopify order. | Action | 🔗 Github |
cancel-fulfillment-request | Cancel a pending fulfillment request on a Shopify fulfillment order. | Action | 🔗 Github |
cancel-fulfillment | Cancel a Shopify fulfillment | Action | 🔗 Github |
cancel-order | Cancel a Shopify order. | Action | 🔗 Github |
cancel-return | Cancel a return on a Shopify order. | Action | 🔗 Github |
close-order | Close a Shopify order to prevent further changes. | Action | 🔗 Github |
close-return | Close a return on a Shopify order. | Action | 🔗 Github |
complete-draft-order | Complete a Shopify draft order and convert it into an order. | Action | 🔗 Github |
create-automatic-discount-bxgy | Create an automatic buy X get Y Shopify discount. | Action | 🔗 Github |
create-automatic-discount-free-shipping | Create an automatic free shipping Shopify discount. | Action | 🔗 Github |
create-automatic-discount | Create an automatic basic Shopify discount. | Action | 🔗 Github |
create-collection | Create a Shopify collection. | Action | 🔗 Github |
create-company | Create a B2B company in Shopify. | Action | 🔗 Github |
create-customer | Create a Shopify customer record. | Action | 🔗 Github |
create-discount-code-basic | Create a basic code discount in Shopify. | Action | 🔗 Github |
create-discount-code-bxgy | Create a buy X get Y code discount in Shopify. | Action | 🔗 Github |
create-discount-code-free-shipping | Create a free shipping code discount in Shopify. | Action | 🔗 Github |
create-file | Create a file resource in Shopify after staging an upload | Action | 🔗 Github |
create-gift-card | Create a Shopify gift card. | Action | 🔗 Github |
create-market | Create a Shopify market for international selling. | Action | 🔗 Github |
create-metafield-definition | Create a Shopify metafield definition for a resource type. | Action | 🔗 Github |
create-metaobject-definition | Create a Shopify metaobject definition. | Action | 🔗 Github |
create-metaobject | Create a Shopify metaobject entry. | Action | 🔗 Github |
create-product-media | Attach media to an existing Shopify product | Action | 🔗 Github |
create-product-options | Create one or more options on a Shopify product. | Action | 🔗 Github |
create-product-variants | Create one or more variants for a Shopify product. | Action | 🔗 Github |
create-product | Create a Shopify product. | Action | 🔗 Github |
create-refund | Create a refund for a Shopify order | Action | 🔗 Github |
create-return | Create a return for a Shopify order. | Action | 🔗 Github |
create-staged-upload | Request staged upload targets before uploading files to Shopify. | Action | 🔗 Github |
create-url-redirect | Create a URL redirect in a Shopify store. | Action | 🔗 Github |
create-webhook-subscription | Create a webhook subscription in Shopify. | Action | 🔗 Github |
deactivate-automatic-discount | Deactivate an automatic Shopify discount. | Action | 🔗 Github |
deactivate-discount-code | Deactivate a code-based Shopify discount. | Action | 🔗 Github |
deactivate-inventory-item-at-location | Deactivate tracking for a Shopify inventory item at a location. | Action | 🔗 Github |
decline-return | Decline a return request on a Shopify order. | Action | 🔗 Github |
delete-automatic-discount | Delete an automatic Shopify discount. | Action | 🔗 Github |
delete-collection | Delete a Shopify collection by GraphQL ID. | Action | 🔗 Github |
delete-customer | Delete a Shopify customer record. | Action | 🔗 Github |
delete-discount-code | Delete a code-based Shopify discount. | Action | 🔗 Github |
delete-draft-order | Delete a Shopify draft order. | Action | 🔗 Github |
delete-files | Delete one or more Shopify file resources. | Action | 🔗 Github |
delete-market | Delete a Shopify market. | Action | 🔗 Github |
delete-metafield-definition | Delete a Shopify metafield definition. | Action | 🔗 Github |
delete-metafields | Delete Shopify metafields in one call. | Action | 🔗 Github |
delete-metaobject-definition | Delete a Shopify metaobject definition. | Action | 🔗 Github |
delete-metaobject | Delete a Shopify metaobject entry. | Action | 🔗 Github |
delete-product-media | Delete media from a Shopify product. | Action | 🔗 Github |
delete-product-options | Delete one or more options from a Shopify product. | Action | 🔗 Github |
delete-product-variants | Delete one or more variants from a Shopify product. | Action | 🔗 Github |
delete-product | Delete a Shopify product by GraphQL ID. | Action | 🔗 Github |
delete-url-redirect | Delete a URL redirect from a Shopify store. | Action | 🔗 Github |
delete-webhook-subscription | Delete a Shopify webhook subscription. | Action | 🔗 Github |
disable-gift-card | Disable a Shopify gift card. | Action | 🔗 Github |
generate-customer-activation-url | Generate an account activation URL for a Shopify customer. | Action | 🔗 Github |
get-collection | Retrieve a Shopify collection by GraphQL ID. | Action | 🔗 Github |
get-company | Retrieve a Shopify B2B company by GraphQL ID. | Action | 🔗 Github |
get-customer-segment | Retrieve a Shopify customer segment by GraphQL ID. | Action | 🔗 Github |
get-discount | Retrieve a Shopify discount node by GraphQL ID. | Action | 🔗 Github |
get-file | Retrieve a Shopify file resource by GraphQL ID. | Action | 🔗 Github |
get-inventory-item | Retrieve a Shopify inventory item by GraphQL ID. | Action | 🔗 Github |
get-location | Retrieve a Shopify location by GraphQL ID. | Action | 🔗 Github |
get-market | Retrieve a Shopify market by GraphQL ID. | Action | 🔗 Github |
get-metaobject-by-handle | Retrieve a Shopify metaobject by type and handle. | Action | 🔗 Github |
get-metaobject | Retrieve a Shopify metaobject by GraphQL ID. | Action | 🔗 Github |
get-order-by-identifier | Retrieve a Shopify order by the documented order identifier input. | Action | 🔗 Github |
get-order | Retrieve a Shopify order by GraphQL ID. | Action | 🔗 Github |
get-product-by-identifier | Retrieve a Shopify product by handle or another supported identifier. | Action | 🔗 Github |
get-product | Retrieve a Shopify product by GraphQL ID. | Action | 🔗 Github |
get-return | Retrieve a Shopify return by GraphQL ID. | Action | 🔗 Github |
get-shop | Retrieve Shopify shop metadata for the connected store. | Action | 🔗 Github |
hold-fulfillment-order | Place a hold on a Shopify fulfillment order to pause fulfillment. | Action | 🔗 Github |
list-abandoned-checkouts | List abandoned checkouts in a Shopify store. | Action | 🔗 Github |
list-collections | List Shopify collections with cursor pagination. | Action | 🔗 Github |
list-companies | List Shopify B2B companies with cursor pagination. | Action | 🔗 Github |
list-customer-segments | List Shopify customer segments with cursor pagination. | Action | 🔗 Github |
list-discounts | List Shopify discount nodes with pagination. | Action | 🔗 Github |
list-events | List Shopify store events for the activity feed. | Action | 🔗 Github |
list-files | List Shopify file resources with cursor pagination. | Action | 🔗 Github |
list-inventory-levels | List inventory levels for a location or inventory item. | Action | 🔗 Github |
list-locations | List Shopify locations for the connected store. | Action | 🔗 Github |
list-markets | List Shopify markets for the connected store. | Action | 🔗 Github |
list-metafield-definitions | List Shopify metafield definitions for a resource type. | Action | 🔗 Github |
list-metaobject-definitions | List Shopify metaobject definitions with pagination. | Action | 🔗 Github |
list-metaobjects | List Shopify metaobjects by type with pagination. | Action | 🔗 Github |
list-products | List Shopify products with cursor pagination and optional search query. | Action | 🔗 Github |
list-publications | List available Shopify sales channel publications. | Action | 🔗 Github |
list-url-redirects | List URL redirects in a Shopify store. | Action | 🔗 Github |
list-webhook-subscriptions | List webhook subscriptions registered for the Shopify app. | Action | 🔗 Github |
mark-order-as-paid | Mark a Shopify order as fully paid. | Action | 🔗 Github |
move-fulfillment-order | Move a Shopify fulfillment order to a different location. | Action | 🔗 Github |
move-inventory-quantities | Move inventory quantities between Shopify locations. | Action | 🔗 Github |
open-order | Reopen a closed Shopify order | Action | 🔗 Github |
publish-resource | Publish a Shopify resource to one or more sales channels. | Action | 🔗 Github |
reject-fulfillment-request | Reject a fulfillment request on a Shopify fulfillment order. | Action | 🔗 Github |
release-fulfillment-hold | Release a hold on a Shopify fulfillment order. | Action | 🔗 Github |
send-customer-account-invite | Send an account invite email to a Shopify customer. | Action | 🔗 Github |
send-draft-order-invoice | Send the invoice email for a Shopify draft order. | Action | 🔗 Github |
set-customer-email-marketing-consent | Update email marketing consent for a Shopify customer. | Action | 🔗 Github |
set-inventory-quantities | Set absolute inventory quantities for tracked items. | Action | 🔗 Github |
set-metafields | Create or update Shopify metafields in one call. | Action | 🔗 Github |
tags-add | Add tags to a Shopify resource. | Action | 🔗 Github |
tags-remove | Remove tags from a Shopify resource. | Action | 🔗 Github |
unpublish-resource | Unpublish a Shopify resource from one or more sales channels. | Action | 🔗 Github |
update-automatic-discount-bxgy | Update an automatic buy X get Y Shopify discount. | Action | 🔗 Github |
update-automatic-discount-free-shipping | Update an automatic free shipping Shopify discount. | Action | 🔗 Github |
update-automatic-discount | Update an automatic basic Shopify discount. | Action | 🔗 Github |
update-collection | Update a Shopify collection. | Action | 🔗 Github |
update-company | Update a Shopify B2B company. | Action | 🔗 Github |
update-discount-code-basic | Update a basic code discount in Shopify. | Action | 🔗 Github |
update-discount-code-bxgy | Update a buy X get Y code discount in Shopify. | Action | 🔗 Github |
update-discount-code-free-shipping | Update a free shipping code discount in Shopify. | Action | 🔗 Github |
update-file | Update metadata for a Shopify file resource. | Action | 🔗 Github |
update-fulfillment-tracking | Update tracking details on a Shopify fulfillment. | Action | 🔗 Github |
update-gift-card | Update a Shopify gift card. | Action | 🔗 Github |
update-inventory-item | Update mutable fields on a Shopify inventory item. | Action | 🔗 Github |
update-market | Update a Shopify market. | Action | 🔗 Github |
update-metafield-definition | Update a Shopify metafield definition. | Action | 🔗 Github |
update-metaobject-definition | Update a Shopify metaobject definition. | Action | 🔗 Github |
update-metaobject | Update a Shopify metaobject entry. | Action | 🔗 Github |
update-order | Update editable Shopify order fields. | Action | 🔗 Github |
update-product-media | Update media details for a Shopify product | Action | 🔗 Github |
update-product-options | Update options on a Shopify product. | Action | 🔗 Github |
update-product-variants | Update one or more variants for a Shopify product. | Action | 🔗 Github |
update-product | Update a Shopify product. | Action | 🔗 Github |
update-url-redirect | Update a URL redirect in a Shopify store. | Action | 🔗 Github |
update-webhook-subscription | Update a Shopify webhook subscription. | Action | 🔗 Github |
upsert-metaobject | Create or update a Shopify metaobject by type and handle. | Action | 🔗 Github |
abandoned-checkouts | Sync Shopify abandoned checkouts for retargeting workflows. | Sync | 🔗 Github |
collections | Sync Shopify collections with pagination and optional search filters. | Sync | 🔗 Github |
companies | Sync Shopify B2B companies with contact and location data. | Sync | 🔗 Github |
discounts | Sync Shopify discount nodes with status and summary fields. | Sync | 🔗 Github |
events | Sync Shopify store events for audit and activity feed use cases. | Sync | 🔗 Github |
files | Sync Shopify file resources including images and generic files. | Sync | 🔗 Github |
fulfillment-orders | Sync Shopify fulfillment orders for operational workflows. | Sync | 🔗 Github |
gift-cards | Sync Shopify gift cards with balance and customer data | Sync | 🔗 Github |
inventory-items | Sync Shopify inventory items with SKU, tracking, and cost data. | Sync | 🔗 Github |
inventory-levels | Sync Shopify inventory quantities across all locations. | Sync | 🔗 Github |
locations | Sync Shopify fulfillment and inventory locations | Sync | 🔗 Github |
markets | Sync Shopify markets and their regional configuration. | Sync | 🔗 Github |
metaobjects | Sync Shopify metaobjects for one or more metaobject types. | Sync | 🔗 Github |
orders | Fetches a list of orders from Shopify. | Sync | 🔗 Github |
products | Sync Shopify products with variants, tags, status, and merchandising fields. | Sync | 🔗 Github |
returns | Sync Shopify returns for post-purchase and reverse logistics workflows. | Sync | 🔗 Github |
url-redirects | Sync Shopify URL redirects for storefront migration and SEO workflows. | Sync | 🔗 Github |