Back to Blog

Export Data from Etsy to CSV or Import It to Google Sheets to Analyze Sales Activity

How often do you export data from your Etsy shop? Not enough, likely. However, recently we’ve faced an interesting use case. One Etsy shop owner wanted to sum up her stats for the year to reward the most loyal customers. For this, she needed to export the Etsy order report in CSV to Google Sheets. In this blog post, we’ll explain how she handled the task and what exporting options are available in Etsy.

What data can I download from my Etsy shop?

Etsy allows its sellers to download the following shop data: 

  • Currently for Sale Listings in CSV including title, description, tags, and other data.
  • Orders in CSV that include two types of reports:
    • Order CSV report – sales data at the order level.
    • Order Item CSV report – sales data at an individual item level.
  • Shop Settings in JSON including the name, announcement, and other descriptive information.
  • Customer reviews in JSON

CSV and JSON data are downloaded as CSV and JSON files to your device, respectively. 

Download CSV from Etsy

Etsy allows you to download information about orders and active listings of your Etsy shop, as a CSV file.

Etsy orders report in CSV 

Etsy users can download sales data in the form of two types of reports: Order CSV and Order Item CSV. Check out the difference between two of them in terms of fields that will be exported:

Order CSV reportOrder Item CSV report
– Sale Date
– Order ID
– Buyer User ID
– Full Name
– First Name
– Last Name
– Number of Items
– Payment Method
– Date Shipped
– Street 1
– Street 2
– Ship City
– Ship State
– Ship Zipcode
– Ship Country
– Currency
– Order Value
– Coupon Code
– Coupon Details
– Discount Amount
– Shipping Discount
– Shipping
– Sales Tax
– Order Total
– Status
– Card Processing Fees
– Order Net
– Adjusted Order Total
– Adjusted Card Processing Fees
– Adjusted Net Order Amount
– Buyer
– Order Type
– Payment Type
– InPerson Discount
– InPerson Location
– SKU
– Sale Date
– Item Name
– Buyer
– Quantity
– Price
– Coupon Code
– Coupon Details
– Discount Amount
– Shipping Discount
– Order Shipping
– Order Sales Tax
– Item Total
– Currency
– Transaction ID
– Listing ID
– Date Paid
– Date Shipped
– Ship Name
– Ship Address1
– Ship Address2
– Ship City
– Ship State
– Ship Zipcode
– Ship Country
– Order ID
– Variations
– Order Type
– Listings Type
– Payment Type
– InPerson Discount
– InPerson Location
– VAT Paid by Buyer
– SKU

How to export orders from Etsy to CSV 

To download either of the reports, go to Shop manager => Settings => Options and select the Download Data tab.

Find the Orders section, choose the type of CSV report and period (month and year) and click Download CSV

You now have a CSV file with your sales data on your device. You can import this file into Google Sheets or another spreadsheet app to process the data. This is how it looks in Google Sheets:

Alternatively, you can upload the CSV file to your cloud storage, such as Google Drive or Dropbox, and export CSV data to Google Sheets from there.

How to export Etsy listings to CSV

In a similar way, you can export to CSV the information of the listings that are currently for sale in your shop. Again, go to Shop manager => Settings => Options => Download Data tab. Click “Download CSV” in the Currently for Sale Listings section, and the file will be exported to your device.

After the import to Google Sheets, the data will appear as follows:

How to automate export of Etsy CSV orders to Google Sheets

You can export your Etsy orders every month by hand, or automate exports on a schedule. The latter sounds pretty good, doesn’t it? The best thing is that you don’t have to code to make this happen. Follow the instructions below to implement automatic exports of Etsy orders or order items to Google Sheets.

Step 1: Choose the CSV to download and open Chrome Dev tools

Go to Shop manager => Settings => Options and select the Download Data tab (just like we described in the above section). Choose the type of CSV report (Order Items or Orders) and period (month and year).  

Right-click and choose “Inspect” => this will open Chrome Dev Tools. Click on the “Network” tab.

Step 2: Download CSV and find cookie:

Click “Download CSV“. A new request will appear in the Network tab of the Chrome Dev Tools. 

Click on the new request, scroll down to the Request Headers section and find the cookie: header. 

Click on it and copy it to a text editor. 

Step 3: Remove the unnecessary cookies

Scan your cookie: header, and remove the values that begin with the following symbols:

  • _gid
  • _uetsid
  • _uetvid
  • session-key-www
  • session-key-apex
  • exp_hangover
  • _gcl_au

Doing this should keep the header working for 1 year. In our example, we only had to remove the following:

exp_hangover=uzz1QZvdiPneM_5cfxxX7mL18Q5jZACCeEX1DhCdEOzOUq1UnpoUn1hUkpmWmZyZmBOfk1iSmpdcGV9oEm9kYGipZKWUmZeak5memZSTqlTLAAA.;

Step 4: Configure the CSV importer

Coupler.io is an all-in-one solution for importing data to Google Sheets from different sources including apps (Airtable, Pipedrive, Xero, etc.) and data sources (CSV, XLSC, JSON). CSV importer is an integration by Coupler.io to export data from online published CSV, TSV, and Excel files to Google Sheets. This tool will help you automate exports of Etsy orders. You need to:

  • Name your new importer whatever you want and choose CSV as the source application. Click “Continue“.
  • Insert the following URL into the CSV URL field and click “Continue“.
https://www.etsy.com/your/orders/sold.csv
  • Configure the following parameters:

HTTP method: GET

Request headers: 

cookie: {insert-your-cookie-header-value-except-for-the-removed values}

URL query string:

For orders

csv-type: order-level 
month: {1-to-12 or skip}
year: {year}

For order items

csv-type: transaction-level 
month: {1-to-12 or skip}
year: {year}

You should get something like this:

  • Click “Proceed to Destination Settings” where you need to configure the Destination:
    • Destination account: add your Google account. 
    • Spreadsheet: select your Google Sheets doc and the sheet that will be receiving your Etsy orders data. 
    • Click “Proceed to Schedule Settings“.
  • Configure the schedule for automatic data exports of your Etsy orders to Google Sheets.

Click “Save and Run” to get your data into the spreadsheet.

Now you can get your Etsy orders to Google Sheets automatically. At the same time, you can export other Etsy data using Coupler.io. Check out the next section to learn more.

Export data from Etsy to Google Sheets

Would you agree that the Etsy native exporting functionality is rather scarce? Some users may need to process other valuable data such as receipts, transactions, and many others. Actually, this is possible using the Etsy API, but it’s not that obvious. We’ll explain the basics and show how you can import some data using Coupler.io. You’ll have to complete two major steps:

  • Get an Etsy API key
  • Set up the JSON Client importer to import data

Let’s go step by step.

How to get an Etsy API key 

An API key is a required parameter to import data from Etsy. To get it, you’ll need to register a “dummy” Etsy app. Follow this link to create a new Etsy app.

Fill out the following fields:

  • Application name
  • Application description
  • Application website (you can leave it blank)

Then mark the following checkboxes:

Once ready, click Read Terms and Create App and agree to the Etsy API Terms of Use. Another click on Create App and there you go!

This procedure was needed mostly to get the KEYSTRING (here, “f36sdf6v4h21ldoekrmns5pk“), which we will use to import data with Coupler.io. 

Coupler.io to import data via APIs to Google Sheets

We’ve already introduced the power of Coupler.io in the example of the CSV importer. Now, let’s check out another tool: JSON Client. Since most REST APIs interchange data in JSON format, you can use JSON Client to import JSON data to spreadsheets without coding. As an example, check out how to export data from Shopify.

This time, we’ll describe the workflow for the Coupler.io add-on that allows you to connect to Etsy right from your Google Sheets doc. To start using the tool, install Coupler.io from Google Workspace Marketplace.

Alternatively, you can use the Coupler.io web interface to set up the connection. Check out how it works in the example of the Stripe to Google Sheets integration.

After that, open your spreadsheet and go to Add-Ons => Coupler.io => Open Dashboard. Click +Add importer and choose JSON Client. 

Now, let the magic begin 🙂

How to import data via Etsy API

To import data using the Etsy API, you need to use a JSON URL that matches a specific category of data you need. Let’s get a list of all data entities you can import. For this, enter the following URL in the JSON URL field of your JSON Client importer:

https://openapi.etsy.com/v2?api_key={KEYSTRING}
  • {KEYSTRING} – insert the KEYSTRING you obtained once created an Etsy app

Click Save&Run and welcome the data imported from Etsy in Google Sheets.

We’ve got 242 records of data entities or resources as they are called according to Etsy API documentation. However, we are going to use only those that fall under two categories:

  • results.http_method – GET (column I)
  • results.visibility – Public (column H)

Because GET is the type of requests to fetch data from API and public resources are what we can export with an API key without OAuth authorization.

Use the Google Sheets filter functionality to filter data by these two categories. Click on the Filter button on the toolbar:

After that, the filter icon appears next to the name of each column. Click the icon on the column you want to filter, and select the filter criteria. For example, here is how we filtered out the GET values in the results.http_method column:

Once we have filtered the values by two criteria (GET and public), we have 97 entities.

One of them is to import all active listings – what we’ve already done when exporting current for sale listings in CSV. Let’s check out how it works.

Import Etsy active listings to Google Sheets

In the results.uri column, you’ll find the URI to attach to the base Etsy API  URL. 

Base Etsy API URL is:

https://openapi.etsy.com/v2/

Note that there are a few URIs associated with active listings: 

  • /shops/:shop_id/listings/active – imports active listings of a certain Etsy shop. You can use the shop name as :shop_id
  • /listings/active – imports active listings of the entire Etsy marketplace (you can import the results from all Etsy shops filtered by country, keyword, price, etc.)

So, the JSON URL to import active listings should look as follows:

https://openapi.etsy.com/v2/listings/active?api_key={KEYSTRING}

Let’s import all active listings with the following filters:

  • Minimum price – $30
  • Maximum price – $40
  • Tag – necklace

Here are the parameters you should use in the JSON Client importer:

Source
JSON URLhttps://openapi.etsy.com/v2/listings/active?api_key={KEYSTRING}
HTTP MethodGET
URL query stringmin_price: 30
max_price: 40
tags: necklace

We’ve also specified the following destination Sheet Name (where your data will be imported to): “Active listings price <40 and >30“. Click Save&Run, and there you go!

You can see that some of the results have price values outside of the specified range; for example 27GBP and 285TRY. The default currency is USD, so Etsy can return results in other currencies that correspond to the specified range based on the actual currency rate.

Etsy will return results with a limit of 25 records per page. You can increase this value up to 100 (maximum value) with the help of the “limit: 100” parameter. To get the next records, you need to use the “page:” parameter and specify the page number. 

In our example, to get the next 25 records, we should use the following JSON Client parameters:

Source
JSON URLhttps://openapi.etsy.com/v2/listings/active?api_key={KEYSTRING}
HTTP MethodGET
URL query stringmin_price: 30
max_price: 40
tags: necklace
page: 2
Settings
Import modeappend

Click Save&Run, and the next 25 records will be appended to the first imported data set:

Read our blog post to learn more about retrieving large data sets with paginated requests in REST APIs

How can I export receipts and other private data from Etsy?

With the solution above, you won’t be able to export certain data, such as expired listings or receipts. To get the private account data from Etsy (receipts, customer’s emails, etc.), you need to obtain OAuth credentials and make authorized requests to the Etsy API. It’s possible, but requires some additional manipulations and a bit of tech skill.

However, if this is definitely what you need, fill out this form and specify that you’d love to have a ready-to-use Etsy integration available at Coupler.io. Our team will do their best to make this happen. 

Use case: How to identify top buyers of your Etsy shop

To wrap up, let’s go back to our user who needed to export data from Etsy to identify which customers made the most purchases during the year. She downloaded the order report in CSV and uploaded it to Google Sheets, as we described above. The next steps were:

  • Calculating how many items each customer bought in 2020 
  • Calculating how much each customer spent in 2020 
  • Grouping these results by each unique customer

All these can be done using the Google Sheets QUERY function. Here is what the formula looks like:

=query(EtsySoldOrders2020!D:X; "select D, sum(G), sum(X) group by D")

Now, for this data set, we need to extract the top 5 customers by number of items bought and top 5 customers by total spending. QUERY function will do the job as well:

Top 5 by number of items:

=Query(A2:B; "select A,B where A<>'' order by B desc limit 5")

Top 5 by total spending:

=Query(A2:C; "select A,C where A<>'' order by C desc limit 5")

We hope that this use case will inspire you to reward your most loyal customers as well. Good luck with your data!

Back to Blog

Comments are closed.

Access your data
in a simple format for free!

Start Free