JSON API to Table

Documentation and User Guide

Table of Contents

Introduction

JSON API to Table is an Excel add-in that allows you to fetch data from APIs and import it into Excel tables. The add-in is designed to update your data without overriding existing entries, with automatic deduplication.

Key Features

  • Connect to any REST API with configurable endpoints
  • Support for different HTTP methods (GET, POST, PUT, DELETE)
  • Add custom headers and request body for advanced API requests
  • Non-destructive updating - new data is added without removing existing entries
  • Automatic deduplication to prevent duplicate rows
  • Save and load API configurations directly from your worksheet

Getting Started

Basic Usage

  1. Open the JSON API to Table add-in from the Home tab in Excel
  2. Enter the API URL you want to fetch data from
  3. Select the appropriate HTTP method (default is GET)
  4. Add any required headers or request body
  5. Click "Fetch Data" to retrieve and import the data

Data Path

If your API returns nested data, you can specify a data path to extract the specific array or object you need. For example, if your API returns:

{
  "results": {
    "items": [
      { "id": 1, "name": "Item 1" },
      { "id": 2, "name": "Item 2" }
    ]
  }
}

You would enter the data path as results.items to get just the array of items.

Example APIs to Try

Here are several public APIs you can use to test the JSON API to Table. These examples work without any authentication:

1. Pokémon API - List of Pokémon

Get a list of Pokémon with pagination:

https://pokeapi.co/api/v2/pokemon?limit=20&offset=10
Data Path: results (to get only the Pokémon list)

2. Pokémon API - Single Pokémon Details

Get detailed information about a specific Pokémon:

https://pokeapi.co/api/v2/pokemon/pikachu
Data Path: abilities (to get just the abilities)

3. JSONPlaceholder - User Data

Get a list of users (excellent for testing):

https://jsonplaceholder.typicode.com/users

4. JSONPlaceholder - Posts

Get a list of posts:

https://jsonplaceholder.typicode.com/posts

6. REST Countries - All Countries

Get information about all countries:

https://restcountries.com/v3.1/all

7. REST Countries - Search by Region

Get countries in a specific region:

https://restcountries.com/v3.1/region/europe

8. NASA APOD API

Get the Astronomy Picture of the Day:

https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY

9. Public Holiday API

Get public holidays for a specific country and year:

https://date.nager.at/api/v3/publicholidays/2023/US

10. Random User API

Get random user data:

https://randomuser.me/api/?results=10
Data Path: results (to get the user data array)

Advanced Features

Headers and Authentication

For APIs that require authentication or specific headers, add them to the Headers field in JSON format:

{
  "Authorization": "Bearer your-token-here",
  "Content-Type": "application/json",
  "Accept": "application/json"
}

Request Body

For POST, PUT, or DELETE requests that require a body, add it to the Request Body field in JSON format:

{
  "query": "your search query",
  "filters": {
    "category": "example",
    "limit": 100
  }
}

Saving and Loading Configuration

Your API configuration is automatically saved at the top of the current worksheet. To reload a saved configuration, click the "Load Config" button when working on a sheet with a saved configuration.

Troubleshooting

Common Issues

Tip: Working with Complex Data

If an API returns deeply nested data or arrays inside objects:

  1. Test the API in a browser or tool like Postman first
  2. Identify the exact path to the data array you need
  3. Use the Data Path field to specify this path