Exploring the Ed-Fi API

Now that we have data in your Ed-Fi ODS (that your SIS vendor put there via the Ed-Fi API), we want to look at that data to confirm it is what we expect it to be. It is often helpful to make specific API calls against your Ed-Fi API when troubleshooting issues that may occur. For example, if you are working on downstream table in your data warehouse and notice a student is missing, you may want to call the students Ed-Fi API endpoint to see if they are in the ODS. 

When looking at data in Ed-Fi, we can either look at the ODS database or make API calls. At the Ed-Fi Academy, we believe in an API-first strategy. In summary, this means seeing the ODS as a storage mechanism for the API and not something we should query directly. The Ed-Fi Data Standard is the Ed-Fi Unifying Data Model and the Rest API specification. It is not the ODS. The purpose of the ODS is to store the data sent to the API so that it may be retrieved later on by future API calls. We will walk you through how to leverage a Jupyter Notebook to explore an Ed-Fi API. 

Notebooks can be run in a variety of environments. In this course, we will be using Google Colab, a product from Google Research. Colab allows anybody to write and execute arbitrary python code through the browser. This means we can get started right away without needing to install anything. Also, Colab is completely free! 

You will find a Notebook at the URL below that is maintained by the Ed-Fi Academy team. 

  • Click on the URL below 
  • Click on Ed_Fi_142_Notebook.ipynb 
  • Click on the Open in Colab button at the top of the Notebook 

https://github.com/K12-Analytics-Engineering/edfi-client-sdks

This will take you to Google Colab and open the Notebook we will be using in this course. If you are using your work provided Google Workspace account and your organization has blocked Colab, you may need to open this Notebook under a personal GMail account. 

The Notebook has text interspersed between the cells that will explain what is happening along the way. When you hover over each cell, you will see a play button appear in the top-left corner. Clicking on this button will run the python code that is in the cell. 

By default, the Notebook is using the public Ed-Fi API maintained by the Ed-Fi Alliance. You may leave this as is and use the key and secret located below or enter your own Ed-Fi API URL, key, and secret. 

Key: RvcohKz9zHI4 

Secret: E1iEFusaNf81xzCxwHfbolkC 

Note the fifth cell, the edfi_client.configuration.host value will need to have /2023 appended to it should you be using an Ed-Fi API deployed in Year-Specific mode. 

Take some time to run the cells in the Notebook and learn how to explore an Ed-Fi API. You are encouraged to make a copy of this notebook and build it out further to meet your needs. Create more cells, pull data from more endpoints, and keep this handy when you need to figure out if specific data is in the ODS.