Overview

In addition to being published and available for download, the data generated for analytics.usa.gov is also available via an API.

Please note we have recently updated to v1.1, please update your requests accordingly.

The URL for the API is https://api.gsa.gov/analytics/dap/v1.1, and it exposes 3 routes to query data:

  • /reports/<report name>/data
  • /agencies/<agency name>/reports/<report name>/data
  • /domain/<domain>/reports/<report name>/data

Back to top

Getting Started

To begin using this API, you will need to register for an API Key. You can sign up for an API key below. After registration, you will need to provide this API key in the x-api-key HTTP header with every API request.

Loading signup form...
HTTP Header Name Description
x-api-key API key from api.data.gov. For sample purposes, you can use DEMO_KEY as an API key.

Back to top

OpenAPI Specification File

You can view the full details of this API in the OpenAPI Specification file available here: Open API specification file for the Digital Analytics Program API

Back to top

The Response

The response represents the rows in the data array in the JSON reports that can be downloaded, or the rows in the CSV files that can be downloaded. They are returned as an array of JSON objects. Here is an example of one such object:

{
  "id": 60716,
  "report_name": "today",
  "report_agency": "justice",
  "date_time": "2017-04-07T14:00:00.000Z",
  "data": {
    "visits": "4240"
  },
  "created_at": "2017-04-07T04:23:55.792Z",
  "updated_at": "2017-04-07T04:23:55.792Z"
}

Note that is has the following properties:

  • id: The primary key of the data point
  • report_name: The name of the data point’s report
  • report_agency: The name of the data point’s agency
  • date_time: The data/time the data in the data point corresponds to
  • data: The data associated with the data point. This may contain child properties such as visits, browser, screen size, and so on, depending on the report

Querying reports

Reports can be queried by substituting <report name> in the path with the name of the report.

The following reports can be queried using the API:

Filtering based on agencies

Reports can be queried by substituting <agency name> in the path with the name of the agency. If the path without an agency name parameter is used, the reports correspond to government wide data.

The list of valid agency names includes:

Filtering by domain

For the site, domain, download, and second-level-domain reports you may use the domain route, to only return results by domain.

Query params

The following query params are supported to work with the data:

  • limit: Limit the number of data points that are rendered. The default is 1000 and the max is 10,000
  • page: Pages through the results. If the limit is set to 1000, using page=2 will render the 1001st through 2000th data point.
  • after: Limit the results to in dates on or after the date specified. Expects YYYY-MM-DD.
  • before: Limit the results to in dates on or before the date specified. Expects YYYY-MM-DD.

HTTP Response Codes

The API will return one of the following responses:

HTTP Response Code Description
200 Successful. Data will be returned in JSON format.
400 Bad request. Verify the query string parmaters that were provided.
403 API key is not correct or was not provided.
4XX Additional 400-level are caused by some type of error in the information submitted.

Back to top

Contact Us

To suggest a feature or ask for help, please file an issue in our project repository.

Back to top