Aggregate Stats API

The Aggregate Stats API provides summary statistics combined across every Project Sidewalk deployment: total distance explored, labels, validations, and deployment counts (cities, countries, languages), plus a per-label-type breakdown. This is the project-wide rollup that powers the headline numbers on this documentation site.

For per-deployment statistics for a single city, see the Overall Stats API; for the list of deployments, see the Cities API.

Aggregate Stats API Preview

Below is a live preview of the project-wide totals across all Project Sidewalk deployments:

Loading aggregate statistics...

Endpoint

Retrieve aggregate statistics across all deployments.

GET /v3/api/aggregateStats

Examples

/v3/api/aggregateStats Get aggregate stats in JSON (default)

/v3/api/aggregateStats?filetype=csv Get aggregate stats in CSV

Query Parameters

ParameterTypeDescription
filetype string Output format: json (default) or csv.

Quick Download

Download aggregate statistics directly in your preferred format:

Responses

Success Response (200 OK)

On success, the API returns an HTTP 200 OK status code. In JSON (default) the body is an object of aggregate totals; in CSV the body is a two-column metric,value table.

{
    "status": "OK",
    "km_explored": 12345.6,
    "km_explored_no_overlap": 11890.2,
    "total_labels": 4567890,
    "tutorial_labels": 123456,
    "total_validations": 2345678,
    "num_cities": 18,
    "num_countries": 5,
    "num_languages": 7,
    "by_label_type": {
        "CurbRamp": {
            "labels": 1200000,
            "labels_validated": 800000,
            "labels_validated_agree": 720000,
            "labels_validated_disagree": 80000
        }
        // ... more label types
    }
}

Response Fields

FieldTypeDescription
statusstringAlways "OK" for successful responses.
km_explorednumberTotal kilometers of streets explored across all deployments.
km_explored_no_overlapnumberTotal kilometers explored, excluding overlapping coverage.
total_labelsintegerTotal number of labels across all deployments, excluding practice/tutorial labels. Equal to the sum of the by_label_type.<type>.labels counts.
tutorial_labelsintegerNumber of practice/tutorial labels across all deployments. Reported separately because they are excluded from total_labels and by_label_type (they would skew the per-type ratios). Note: the count contributed by the legacy Washington, DC deployment also includes a small number of low-quality labels that its archived data cannot separate from tutorial labels.
total_validationsintegerTotal number of validations across all deployments.
num_citiesintegerNumber of deployment cities.
num_countriesintegerNumber of countries with a deployment.
num_languagesintegerNumber of natively translated languages.
by_label_typeobjectPer-label-type breakdown, keyed by label type name (e.g. "CurbRamp").
by_label_type.<type>.labelsintegerNumber of labels of this type.
by_label_type.<type>.labels_validatedintegerNumber of labels of this type that have at least one validation.
by_label_type.<type>.labels_validated_agreeintegerNumber validated as correct (agreed).
by_label_type.<type>.labels_validated_disagreeintegerNumber validated as incorrect (disagreed).

Error Responses

If an error occurs, the API will return an appropriate HTTP status code and a JSON response body containing details about the error.

  • 500 Internal Server Error: An unexpected error occurred on the server.

Error Response Body

Error responses include a JSON body with the following structure:

{
    "status": 500, // HTTP Status Code
    "code": "INTERNAL_SERVER_ERROR", // Machine-readable error code
    "message": "Failed to retrieve aggregate statistics: Database connection error" // Human-readable description
}

Contribute

Project Sidewalk is an open-source project created by the Makeability Lab and hosted on GitHub. We welcome your contributions! If you found a bug or have a feature request, please open an issue on GitHub.

You can also email us at sidewalk@cs.uw.edu

Project Sidewalk in Your City!

If you are interested in bringing Project Sidewalk to your city, please read our Wiki page.

On This Page