Print

Import Keepa Data to Google Sheets

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

Note that the Keepa API is not free and requires a paid subscription to Keepa.

Contents

Before You Begin

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

Part 1: Get Your Keepa API Key

  1. Log in to Keepa and go to https://keepa.com/#!pricedataapi
  2. Your key will be listed there. That's it, you're now ready to use the Keepa API.

Part 2: Pull Keepa API Data into Sheets

For this example, we'll get information about a product. Substitute in your own API key where it says your_key, and (optionally) your own ASIN of interest.

  1. Open up Google Sheets and click Extensions > API Connector > Open > Create request.
  2. In the request form enter the following:
    • ApplicationCustom
    • MethodGET
    • Request URLhttps://api.keepa.com/product?key=your_key&domain=1&stats=180&asin=B0B754K6Y8
  3. This API returns a very large number of distinct fields. Under Output options, set the report style to concatenate to reduce the total output.
    keepa-concatenate
  4. Create a new tab and click Set current to use that tab as your data destination.
  5. Name your request and click Run. A moment later you’ll see data populate your sheet.
    keepa-response

Part 3: API Documentation

Official API documentation: https://keepa.com/#!api

Product object documentation: https://keepa.com/#!discuss/t/product-object/116

2 thoughts on “Import Keepa Data to Google Sheets”

  1. Keepa returns only 150 results in browsing deal section:
    https://keepa.com/#!discuss/t/browsing-deals/338
    When I set page parameter (Page count equals), I get first page multiple times. (Response field empty and No data returned- does not return any results).
    At this moment I can only change the last "0" in URL to receive more pages but it costs time and API usage:
    "https://api.keepa.com/deal?key=YOUR_API_KEY&selection=%7B%22page%22%3A0%"
    Is there any solution for that problem?

    Reply
    • As I read it, the deals documentation you linked says you need to use the page object in the URL to fetch subsequent records, e.g.

      • page 1: https://api.keepa.com/deal?key=1111111&selection={"page":0}
      • page 2: https://api.keepa.com/deal?key=1111111&selection={"page":1}

      Since each one of these requests requires a new API call, there's no way to prevent it from costing time and API usage. (Like most APIs) this API was designed so that you need to make multiple API calls to fetch all the data, aka "pagination".

      This type of object-based pagination isn't automatically supported, so please turn pagination handling off and instead loop through multiple pages of data by listing the URLs one after the other in the request URL field (info). Btw, you can just list the URLs as written above, you don't need to encode them.

      Reply

Leave a Comment

Jump To