Aggregate Stats by Day API

The Aggregate Stats by Day API provides a daily time series of label and validation activity summed across every Project Sidewalk deployment, broken down by label type and by whether the actor was a human user or an AI.

Each record covers one calendar day (US/Pacific time) and one label type. Counts from all configured city deployments are summed together. Days with no activity for a label type across any city are omitted.

For per-city daily data, see the Overall Stats by Day API. For a project-wide snapshot (not a time series), see the Aggregate Stats API.

Aggregate Stats by Day API Preview

Live preview of the most recent 90 days of activity summed across all Project Sidewalk deployments:

Loading…

Endpoint

Returns daily label and validation counts summed across all Project Sidewalk deployments.

GET /v3/api/aggregateStatsByDay

Examples

/v3/api/aggregateStatsByDay All-time aggregate data in JSON

/v3/api/aggregateStatsByDay?startDate=2025-01-01&endDate=2025-03-31 First quarter of 2025 in JSON

/v3/api/aggregateStatsByDay?filetype=csv All-time aggregate data as CSV

Query Parameters

ParameterTypeDefaultDescription
startDate string none Inclusive lower bound on the activity date in YYYY-MM-DD format (US/Pacific calendar date). If omitted, all data from the beginning of the earliest deployment is returned.
endDate string none Inclusive upper bound on the activity date in YYYY-MM-DD format. If omitted, data up to and including today is returned.
filterLowQuality boolean false If true, only include activity from users whose high_quality flag is set. Applied independently within each city schema before summing.
filetype string json Output format: json (default) or csv.

Response Format

Identical structure to the Overall Stats by Day response, with counts summed across all city deployments.

{
  "status": "OK",
  "data": [
    {
      "date": "2025-01-15",
      "label_type": "CurbRamp",
      "human_labels": 2340,
      "ai_labels": 0,
      "human_validations_agree": 1870,
      "human_validations_disagree": 280,
      "human_validations_unsure": 95,
      "ai_validations_agree": 0,
      "ai_validations_disagree": 0,
      "ai_validations_unsure": 0
    }
  ]
}

Response Fields

All fields are identical to the Overall Stats by Day API.

FieldTypeDescription
datestring Calendar date in YYYY-MM-DD format (US/Pacific time).
label_typestring Label type name (e.g. CurbRamp, NoCurbRamp).
human_labelsinteger Labels placed by human users across all cities on this date.
ai_labelsinteger Labels placed by AI across all cities on this date.
human_validations_agreeinteger Human agree validations across all cities on this date.
human_validations_disagreeinteger Human disagree validations across all cities on this date.
human_validations_unsureinteger Human unsure validations across all cities on this date.
ai_validations_agreeinteger AI agree validations across all cities on this date.
ai_validations_disagreeinteger AI disagree validations across all cities on this date.
ai_validations_unsureinteger AI unsure validations across all cities on this date.

Quick Download

Download the project-wide daily stats time series in your preferred format:

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