Search API Connector Documentation

Print

Import Etsy Data to Google Sheets

premium

In this guide, we’ll walk through how to pull Etsy data data directly into Google Sheets, using the API Connector add-on for Sheets.

Contents

Before You Begin

Click here to install the API Connector add-on from the Google Marketplace.

Part 1: Connect to the Etsy API

The easiest way to get started with the Etsy API is through API Connector’s built-in integration.

  1. Select Etsy from the drop-down list of applications
    etsy-application
  2. Under Authorization, click Connect to Etsy
    etsy-authorization
  3. You be asked to authorize the connection. Click Grant access
    etsy-oauth
  4. You’ll then be returned to your Google Sheet, and can verify that your Etsy connection is now active.

Part 2: Pull Data from Etsy to Sheets

Now that we’re connected, let’s pull some data into Sheets.

  1. Under Endpoint, choose /shops. This will return your shop ID, which you’ll need for subsequent requests.
    etsy-endpoints
  2. Fill in your shop name, select a destination sheet, name your request, and click Run. You’ll see your shop ID returned in the results.shop_id field.
    etsy-response
  3. You can now plug this value into other requests. For example, the /shops/{shop_id}/listings endpoint requires the shop ID as a parameter.
    etsy-response2

Part 3: Create a Custom Request

Alternatively, you can create a custom request instead of using API Connector’s built-in integration, using any of the API URLs shown in the API documentation. To create a custom request, add the complete URL into the request URL field and select Etsy from the OAuth menu.
etsy-custom

To easily convert from a preset request to a custom API URL, tick the Add request URL box before running your preset request (under Output options). This will print out your complete API URL, which you can then copy/paste into the request URL field.

Part 4: Fetch New Data Only

To fetch new receipts only, use the /receipts endpoint along with the min_created and max_created time parameters. Switch to append mode to send this data to the end of your sheet.

You can also make these dates dynamic, so you don’t need to manually update the dates each time you run your request. Here’s one method. The sheet names don’t really matter, but using the same names shown here will make it easier to follow along.

Dynamic Dates Example

  1. Create a sheet called EtsyData. Run your initial request into this sheet.
  2. In the response, find the column containing results.created_timestamp
    etsy-timestamp
  3. Create a new sheet called MaxTimestamp. In this sheet, add the formula =max(EtsyData!Y:Y) into cell A2, substituting in the column letter containing your timestamp. This will fetch the most recent timestamp from your Etsy receipt data.
    etsy-maxtimestamp
  4. Now create a custom request that uses this cell as the min_created value. The URL should be https://openapi.etsy.com/v3/application/shops/22842853/receipts?min_created=+++MaxTimestamp!A2+++. Just substitute in your own shop ID where it says 22842853.
    etsy-customdynamic
  5. Switch to append mode and click Run.
  6. Following these steps, your request will always automatically pull new data into your sheet every time it runs, and you won’t need to update it again.

Part 5: Handle Pagination

By default, Etsy limits results to 25 at a time. To get more, set the limit parameter to 100.

If 100 records is not enough, you can loop through Etsy’s paginated records using the following settings:

  • Pagination type: offset-limit
  • Offset parameter: offset
  • Limit parameter: limit
  • Limit value: 100
  • Run until: choose when to stop fetching data
    pagination-offset-limit

Part 6: API Documentation

Official API documentation: https://developers.etsy.com/documentation/reference

Previous Import Dark Sky Data to Google Sheets
Next Import EventTemple Data to Google Sheets

8 thoughts on “Import Etsy Data to Google Sheets”

  1. I’m very new to this and trying to connect to Etsy.

    I уntered the following data in the “Add Custom OAuth” form:

    Authorization Base URL:
    https://openapi.etsy.com/v2

    Token URL:
    https://openapi.etsy.com/v2/oauth/request_token?scope=email_r

    Client ID:
    azm3uoqeh5glvuaqa1jj9XXX

    Client Secret:
    xsargf6XXX

    Then a page opened in a new tab with the following error:
    “API request missing api_key or valid OAuth parameters”

    How this can be solved? Any help appreciated.

    Here is Etsy page about their OAuth:
    https://www.etsy.com/developers/documentation/getting_started/oauth

    Reply
    • Hi Roman, thanks for the message and sorry you’re having trouble getting connected to Etsy. I checked the Oauth docs you linked and they say Etsy is using the old OAuth 1.0 standard while API Connector uses OAuth 2.0, so that’s probably the issue.

      If you’re just making an app for your personal use, I think you can just use an API key like they describe here: https://www.etsy.com/developers/documentation/getting_started/api_basics

      In that case your request would look like this:
      https://openapi.etsy.com/v2/shops/YOUR_SHOP_NAME/listings/active?api_key=YOUR_KEYSTRING
      You don’t need headers or OAuth2 so just leave those empty.

      Can you please run that URL and let me know how it goes?

      Reply
      • Dear Ana,

        Thank you so much for getting back to me. Your example works, though I need to access my private shop data (receipts), and when I’m making a request like the following:

        https://openapi.etsy.com/v2/shops/MY_SHOP/receipts?api_key=azm3uoqeh5glvuaqa1jj9gf1

        API Connector says “This method requires authentication.”

        It’s a shame if the reason for the auth error is an old version of OAuth at Etsy. Nevertheless, thank you for your help.

        Kindly,
        Roman

  2. hi, great job!
    I ask 2 questions from inexperienced:
    Is it possible, with this tool, to import only orders from etsy to google sheet?
    in the practical configuration phase now I see that the Open API v3 is present, does something change?

    Reply
    • Hey Tobias, now that Etsy v3 is available, we are working on adding an integration for it. Once that’s ready you will be able to import your orders from Etsy to Sheets, but unfortunately it’s not quite available yet. Sorry about that, please check back soon.

      Reply
    • Sorry, they can not update in real time, currently API Connector only updates 1x per hour max so there will be a lag of up to one hour.

      Reply

Leave a Comment

Table of Contents