Import Chargebee Data to Google Sheets
Chargebee is a subscription management tool. In this guide, we’ll walk through how to pull subscription data from the Chargebee API directly into Google Sheets, using the API Connector add-on. We’ll first get an API key from Chargebee, and then set up a request to pull in metrics from Chargebee to your spreadsheet.
- Part 1: Get your Chargebee API Key
- Part 2: Create your API Request URL
- Part 3: Pull Chargebee API Data into Sheets
- Part 4: More Example API URLs
- Part 5: Handle Pagination
PART 1: GET YOUR CHARGEBEE API KEY
- Log in to Chargebee and click Settings > Configure Chargebee > API keys from the menu.
- On the API keys and webhooks page, you’ll see that a full-access test key has already been automatically created for you. Click to copy it to your clipboard.
- One last step: Basic Access Authentication requires us to encode our authentication info to base 64. You can do this by entering the Chargebee API key you just copied into this form. Your encoded credentials will appear underneath.
The encoding script runs in your browser, and none of your credentials are seen or stored by this site.
(If you have any problems with the above, check this post for some alternate methods of encoding your credentials).
- Keep your encoded string handy, as we’ll need it in a minute. Congrats, you now have access to the Chargebee API!
PART 2: CREATE YOUR API REQUEST URL
We’ll first follow the Chargebee API documentation to request a list of active subscriptions.
- Base URL:https://YOUR_SITE.chargebee.com/api/v2/
Example Base URL: https://mixedanalytics-test.chargebee.com/api/v2/
- Endpoint: /subscriptions
You can find your own site-domain value by looking in the URL bar when you’re logged in. Putting it all together, we get the full API Request URL:
PART 3: PULL CHARGEBEE API DATA INTO SHEETS
We can now enter all our values into API Connector and import Chargebee data into Google Sheets.
- Open up Google Sheets and click Add-ons > API Connector > Create New API Request.
- In the Create Request interface, enter the Request URL we just created
- Under Headers, enter Authorization as your Key, and Basic YOUR_BASE64_ENCODED_TOKEN as your Value, like this:
Authorization Basic YOUR_BASE64_ENCODED_TOKEN
Replace YOUR_BASE64_ENCODED_TOKEN with the encoded value you got above in step 4 above.
- We don’t need any authentication, so leave that as None.
- Create a new tab, give it a name, and click ‘Set’ to use that tab as your data destination.
- Name your request and click Run. A moment later you’ll see subscription details populate the Chargebee Subs tab in your Google Sheet:
PART 4: MORE EXAMPLE API URLS
You can check the documentation for the full list of available API requests, but if you just want to jump in, you can play around with the URLs you enter in the API URL path field. Try the following (one at a time):
PART 5: HANDLE PAGINATION
- Note Chargebee’s limits on the number of records returned on a response. By default, only 10 records will be returned unless you use the ‘limit’ and ‘next_offset’ parameters as described in their documentation.
To get 100 records, you’d use the ‘limit’ parameter and to return more than 100 you’d then make a second request using the ‘offset’ parameter, which will be populated with the value that appears in a ‘next_offset’ field in your sheet whenever the response contains additional records. For example:
- In API Connector, you can either run these requests separately, or loop through them automatically using pagination handling (paid feature):