🎉 Your CoinMarketCap coupon is ready. Select a plan below and your 30% discount will apply at checkout.

How to Import and Sync Shopify Data into Notion

Want to get your Shopify data into Notion without writing code? This tutorial shows you how to connect Shopify’s API to Notion using Note API Connector so you can track orders, products, inventory, and customers in one place.

You will generate a Shopify Admin access token, run REST API requests, map the response, and send the results to a Notion database. By the end, you will have a repeatable import that you can schedule to keep Notion in sync.

TL;DR

  1. Getting started with Note API Connector to link your Notion workspace.
  2. Generate a Shopify Admin Access Token to securely access store data.
  3. Import Shopify Data into Notion using REST Admin API requests.
  4. Import Shopify Products into your Notion database.
  5. Import Shopify Product Variants with JSONata transformation.
  6. Link Shopify Product Variants to Products in Notion using Relations.
  7. Import and Sync Shopify Orders with transformations for cleaner data.
  8. Automate Shopify Data Updates with Note API Connector’s scheduling feature.
  9. Conclusion – recap of benefits and next steps.
  10. Frequently Asked Questions covering setup, coding, automation, and security.

Quick start with Note API Connector

Link your Notion workspace to Note API Connector so you can import Shopify data into a Notion database without code.

👉 Follow the official setup guide to get started in minutes.

Generate a Shopify Admin Access Token

To connect Shopify with Notion, we need to retrieve merchant data securely using Shopify’s API. Shopify provides API keys that allow external tools, like Note API Connector to access your Shopify account and pull relevant data into Notion.

Log in to your Shopify Store and go to Settings .

Shopify Settings

Click Apps and Sales Channels → Develop apps .

Shopify Apps

Click Allow custom app development and confirm.

Shopify Create App Shopify Create App Confirm

Click Create an app .

Shopify Create App

Name it (e.g., Note API Connector Notion), then click Create app .

Shopify Create App Confirm

In the app overview, click Configure Admin API scopes .

Shopify Admin Scope

Now, you can choose which data the integration should have access to. For this tutorial, we only need read access for order, products and customers: read_orders , read_products , and read_customers . If you also plan to sync inventory levels, add read_inventory. Feel free to select the data you need, you can always adjust these settings later. When you are done, click Save .

Shopify API Scope

Go to API Credentials and click Install app .

Shopify Install App

Click Reveal token once . Copy the Admin API access token and store it safely. This token allows you to access your Shopify data via the API. You will paste this into Note API Connector.

Shopify Reveal Token

Import Shopify Data into Notion

You now have a Shopify Admin token and a connected Notion workspace. Next you will create API requests in Note API Connector that pull orders and products from Shopify and write them into a Notion database.

Before making API requests, review Shopify’s API documentation to explore what data you want to import: Shopify Admin REST API .

Shopify API Warning

Import Shopify Products

You will pull product data from the /products.json endpoint and write it into a Notion database using Note API Connector.

Step 1: Create the request in Note API Connector

To fetch product data, use the following API endpoint and replace your-development-store with your Shopify store domain:

https://your-development-store.myshopify.com/admin/api/2025-01/products.json
Shopify API Products

Replace your-development-store with your actual store’s domain.

Shopify Store URL

Use the limit query parameter to control how many records are returned per request. If you omit it, Shopify returns up to 50 items by default; the maximum is 250. For a store called Spaceships Store, the request would be:

https://spaceships-store.myshopify.com/admin/api/2025-01/products.json?limit=250
Shopify API Limit

We should have a Notion Database page where we want to import data.

Notion Shopify Products

Open Note API Connector and click Create request .

Name your request (e.g., Retail Products). Select the Notion database where you want to import the data. Paste the API URL into the URL field.

Notion Products URL

Under Headers, add: X-Shopify-Access-Token: your_token, then click Run.

Notion Products URL

Step 2: Preview and map fields

In the Response Field Mapping view you will see a preview of your product data. Select the fields you want to import. Some fields, such as variants and options, are nested so they may show as [object Object]. That simply means the field contains multiple parts.

Notion Products API Response

To see what is inside those nested fields, open API Data Response. This expands the full structure so you can decide how to bring it into Notion.

Shopify Products Variants

Step 3: Choose how to store variants and options

Recommended: Import product variants into their own Notion database and relate them to Products. Variants include useful details like SKU, price, and inventory, so keeping them in a separate table makes your Products database clean and easy to read.

Shopify Products Options Values

Product options (for example Size or Color) are also nested. You have two choices:

  • Import options into a separate database and relate them to Products, or
  • Combine multiple option values into one line of text.

If you prefer the latter option, you can turn each option into a pair of fields like OptionName1 and OptionValue1. When an option has several values (for example ["Red", "Blue"]), we will join them into one text like Red, Blue.

🙌 No coding experience? No problem. Use your favorite AI tool (e.g., ChatGPT, Claude) to create the JSONata. Click to learn how.
$map($, function($product) {
    $merge([
        $sift($product, function($v, $k) { $k != "options" }),
        $exists($product.options) ?
            $merge(
                $map($product.options, function($option, $index) {
                    {
                        ("OptionName" & ($index + 1)): $option.name,
                        ("OptionValue" & ($index + 1)): $exists($option.values) ? $join($option.values, ", ") : ""
                    }
                })
            )
        : {}
    ])
})

Open JSONata editor, paste JSONata code snippet to run the transformation. Then check the Response table. You should now see the new option fields ready to map to Notion properties.

Shopify Products JSONata Notion Shopify Products Data

Step 5: Import and keep data in sync

To keep your Notion data in sync, open Import Settings and choose Update mode. Turn on both options to create new records and update existing ones. Set id as the unique identifier so future imports update the right products.

Notion Shopify Products Sync Settings

Click Save & Import to store the Shopify products in your Notion database.

Notion Products Data

Import Shopify Product Variants

To import Product Variants, use the same request you created for Products. The only change is a small JSONata transformation that returns one row per variant and adds the parent product_id so you can link variants back to Products in Notion.

🙌 No coding experience? No problem. Use your favorite AI tool (e.g., ChatGPT, Claude) to create the JSONata. Click to learn how.

Use this JSONata expression in the editor to produce variant records that also carry the product_id:

$map($, function($product) {
    $map($product.variants, function($variant) {
        $merge([
            $variant,
            {"product_id": $product.id}
        ])
    })
}).$

Paste the snippet into the JSONata editor You should now see one row per variant, each with a product_id column.

Notion Product Variants Transformation

Next, map product_id as a Relation to your Products database. In Import Settings, choose Update mode so future runs keep data in sync.

Notion Product DB Relation

You should now see your variant records linked to the correct Product in Notion.

Notion Product Data Sync

Import and Sync Shopify Orders into Notion

To pull orders from Shopify, use this endpoint (replace the domain with your store):

https://spaceships-store.myshopify.com/admin/api/2025-01/orders.json?status=any&limit=250
Shopify API Orders

Add your Shopify access token in Headers.

Shopify API Orders

Orders include many fields. In the next step you can choose what to import and reduce the amount of data.

Notion Shopify Orders Data

You have two ways to keep only what you need:

  • Ask the API for fewer fields using the fields parameter, or
  • Transform the response with JMESPath or JSONata.
Notion Shopify Orders Fields

After limiting fields, you may still want to tidy the values. For example, the customer name comes as first and last name, and products are nested under line_items.

Notion Shopify Orders Customers Notion Shopify Orders Products

Use the JSONata example below to: 1) build a full customer name that handles missing data, and 2) combine product titles into one line of text.

🙌 No coding experience? No problem. Use your favorite AI tool (e.g., ChatGPT, Claude) to create the JSONata. Click to learn how.
$ ~> | $ |
{
    "CustomerName": customer.first_name & customer.last_name ?
        customer.first_name & " " & customer.last_name :
        "Name not available",
    "ProductsName": line_items.title
} |

Paste the snippet into the JSONata editor and run it.

Notion Shopify Orders Data Transformation

You should now see two new fields in the results: CustomerName and ProductsName.

Notion Shopify Orders Data Result

Keep orders in sync

In Import Settings, choose Append so new orders are added on every sync.

Notion Shopify Orders Append

Tell the connector how to fetch only new orders by setting:

  • Query parameter: created_at_min
  • Response field: created_at
Notion Shopify Orders Append Config Notion Shopify Orders API Created Parameter

Once imported, your Shopify orders will be available in Notion for tracking and analysis. Each sync adds only new orders to the database.

Notion Shopify Orders Integration

Automate Shopify Data Updates in Notion

Manually refreshing your Shopify data in Notion can be a hassle, especially when you're tracking orders, inventory, and customer insights. With Note API Connector’s scheduling feature , you can automate data updates , ensuring your Notion dashboard always reflects the latest Shopify metrics, without lifting a finger. Set it to refresh hourly, daily, or at custom intervals , so you never have to worry about outdated numbers again. Whether you're monitoring sales performance or stock levels, automation lets you focus on growth while your data stays in sync .

Automate Data Updates

Conclusion

With Note API Connector , importing Shopify data into Notion is simple and code-free. Whether you’re tracking inventory, monitoring orders, or analyzing customer insights, this integration keeps your data centralized and easily accessible.

🚀 Start automating your Shopify workflows today. Try Note API Connector and bring all your business data into Notion effortlessly.

Frequently asked questions

Leave a Comment