Frequently Asked Questions

Q1.  Why am I seeing duplicate results in my query?
Duplicate data fields for E-rate datasets may occur if you do not select a filter for “Current” or “Original” from the “Form Version” field.
Q2.  How do I get more than 1,000 rows of data using the API?
An API query, by default returns 1,000 rows, but it can return unlimited rows as long as the user specifies a limit in their query. 

The “$limit” parameter controls the total number of rows returned, and it defaults to 1,000 records per request. It can be used either alone, or with “$offset” in order to page through a dataset (see Q2). You can set “$limit” to 999999999 (or some large arbitrary value) to return more results than the default 1,000 rows. For more information, please visit The $limit Parameter page.
Q3.  What is paging and why is it helpful?
Sometimes an API request will return a large number of results. Rather than retrieving them all at once, which may affect your application’s performance, you can use paging to retrieve the results in batches. Often an application will show the first few results, and then only load the next batch of results when the user has taken an action, such as clicking the “Next” button or scrolling to the bottom of a list.

Paging is accomplished through two query parameters: “$limit” and “$offset” – Note that using paging is entirely optional: if you do not specify the “$limit” and “$offset” parameters, then the defaults will be used. For more information, please visit the Paging though Data page.
Q4.  What is the difference between the Contract Expiry Date and the Expiration Date?
The “Contract Expiry Date” is the expiration for the contract before any extensions.  The “Expiration Date” is the expiration date after all extensions for the contract have been exercised.
Q5.  How do I obtain a count for a dataset using the API?
The query to add to the API endpoint would be “?$select=count(*)” – As an example, hitting the API endpoint for E-rate Supplemental Information: Annexes using count(*) returns this count.
Q6. Why do the JSON and CVS output files return a different number of columns?
USAC’s Open Data CSV API data is delivered in a tabular format where each of the columns is shown whether it has data in it or not.  However, USAC’s Open Data JSON API data format does not have the same properties as its CSV format.  In the JSON API, if a data field is blank or NULL, the field will not show up at all in the return.  This means that each row of data is its own element of the nested list of the JSON response that gets returned from an API call and can have a varying amount of columns depending on how many non-NULL values there are.

For more information please visit the JSON Format and CSV Format pages.
Q7. How can I analyze this data using Microsoft Excel (including Power Query)?
You can easily link an Excel workbook to USAC’s Open Data platform. For more information, please visit the Analyze Socrata data in Microsoft Excel® using Socrata Open Data Connector page.
Q8. When will more datasets be added to USAC’s Open Data platform?
USAC intends to make more datasets available through the Open Data platform. However, each dataset must go through a rigorous evaluation and multi-stage approval process prior to its release. This ensures that there is no personally identifiable, confidential, or proprietary data and that the underlying data systems are secured and protected. When new datasets become available, we will make note of those datasets on USAC’s Open Data homepage, as well as the USAC Open Data Release Notes page.