Import Shopify Data to Google Sheets

Import Shopify Data to Google Sheets


  1. Hi Ana,
    Thanks for this amazing post and add-on. It’s been really useful for me since I’ve downloaded it 🙂

    I’ve a question about Shopify and the GET orders API that you’re talking at the end of your article. I’ve found out that if the order has multiple products, there would be still one line displayed that is showing just 1 product. But If I do the same API on a specific order (/admin/api/#{api_version}/orders.json?ids=XXXX), all product appears on different lines.

    Any thoughts about that issue? 🙂

    1. Hey Dimitri, thanks for the comment, glad you’re enjoying the add-on 🙂

      The format of the returned data depends on the underlying JSON response produced by Shopify. JSON responses aren’t specifically designed for spreadsheets, so API Connector applies some logic to convert them into a tabular format, but depending on the underlying JSON, this might result in mismatched rows. I’m working on a new feature where you’ll be able to try out different conversion algorithms and pick the one that works best, so that should help address any issues you’re having. You can see more about that here: Report Styles

  2. Hi Ana,

    Great tool and article! Am wondering how I can remove some of the columns? I actually only need to use approx. 3 of them. Thoughts?

    1. Awesome, glad you like it!
      API Connector displays everything that gets returned by the API. If you only need some of the columns, I suggest creating a second sheet that queries for the columns you need. For example, the following function would return columns A, B, and D from a sheet named ‘ShopifyData’.
      =QUERY(ShopifyData!A:Z, "select A, B, D")

    1. Try re-entering the URL exactly as written, without any spaces or other characters. You can also try entering your request to another API tool like, to help troubleshoot where the error comes from.

      Also, you should enter your password in the header field as described in the documentation above, not by prepending username:password@ to the hostname in the URL.

      If you’re still having issues, feel free to send over some screenshots to and I’ll take a look.

    1. The key isn’t your API key, it is the exact text listed in the article (“X-Shopify-Access-Token”, without the quotation marks).

  3. Is there a way for us to pull a specific report using Shopify API like below?
    GET /admin/api/2019-10/reports/#{report_id}.json
    I keep getting error message (Bad Request)

    1. Hi Andrew, are you able to connect and access the API examples in the article above? If you’re able to connect without issue, then you should be able to access the URL as described. Just remember that API Connector is a no-code method of accessing APIs, so you’d need to populate code snippets with the actual values. The sample code you show above should look something like this:

  4. Hi, im trying to follow steps above, as a result, I got error showing —-
    “Failed to run request
    ScriptError: Authorization is required to perform that action.”

    how to get authorized? thanks..

  5. Hello! I want to get title of line items per order (orders » line_items » 1 » title)
    1- Can i customize the properties? (orders.json?fields=line_items)
    2- I have alignment problem with line items when the rows appended with every query. (Because every order has different piece of items) Cell values is not at the exact column, they are floating.
    How can i handle this? Regards

    1. Hey Burak, you can choose which fields you want to filter on like this:,email,amount, line_items. You can’t further filter for sub-fields, though. Does that answer your question?
      Append mode just adds on to your sheet, so unfortunately it won’t always align if the API isn’t sending values across consistently. In those cases I suggest filtering for the fields like above, to retrieve just the fields that appear every time. Automatic pagination handling (paid feature) would also resolve this as it matches headers across requests.

  6. Hi! I can’t get pagination to work (and it’s the feature we mainly need ). The link to Shopify tutorials provided says that “REST endpoints support cursor-based pagination” while here “next page URL” is used. Any ideas? Much obliged..

    1. Hey there, sorry you’re having trouble. What happens when you enter it in as shown in the screenshot?
      As for the difference in names, the trouble is that “cursor-based pagination” is a rather broad term. Most “cursor-based” methods provide a token from which to start the subsequent request, but Shopify provides the full next page URL. Therefore I’ve included Shopify as a “next page URL” type (documentation). You should be able to achieve pagination by using the word “link” as shown in the screenshot. If you still can’t get it to work, please feel free to shoot over an email to so I can take a look.

Leave a Reply

Your email address will not be published.