CrashCount.nyc is built from public records and public reporting. This page lists the core sources we ingest, how we use them, and the update cadence we follow.

Primary crash data (NYC Open Data)

We rely on the NYPD Motor Vehicle Collisions tables hosted on NYC Open Data:

These tables are built from MV-104AN police reports, which are required when someone is injured or killed, or when property damage is $1,000 or more. The records are preliminary and can change as NYPD amends reports. Because many minor crashes are never reported, these totals likely understate harm.

For official fatality counts, see:

Injury severity (how we classify)

Injury severity comes from the NYPD Motor Vehicle Collisions - Person table. We normalize the NYPD text codes in PERSON_INJURY, EMOTIONAL_STATUS, COMPLAINT, and BODILY_INJURY using a lookup table (injury_severity_map) to an ordinal scale (0-5). For each person we take the highest mapped value across those fields; for each crash we use the highest severity among people in that collision.

Severity scale:

  • 5: KABCO K (Fatal) — killed or apparent death.
  • 4: KABCO A (Suspected Serious) — e.g., amputation, severe bleeding, severe lacerations, fracture/dislocation, concussion, internal injury, serious burns, paralysis, unconscious/semiconscious/incoherent, or eye injury.
  • 3: KABCO B (Suspected Minor) — e.g., bruises/contusions, abrasions, whiplash, minor bleeding or burns.
  • 2: KABCO C (Possible) — pain/nausea or no visible wounds; generic “injured” is treated as possible.
  • 1: KABCO O (None) — no injury indicated.
  • 0: Unknown or not mapped.

The injury dashboard groups by complaint and body region (COMPLAINT and BODILY_INJURY) and dedupes people using the latest person record when NYPD re-issues updates.

How this compares to DOT’s KABCO / KSI

DOT’s KSI (killed or seriously injured) definition is based on the KABCO system used by NYS DMV. In KABCO:

  • K (Fatal): death within 30 days of the crash.
  • A (Suspected Serious): injuries preventing normal activity; includes severe lacerations, broken extremities, crush injuries, suspected skull/chest/abdominal injuries, significant burns (2nd/3rd degree >10% body), unconsciousness, or paralysis.
  • B (Suspected Minor): injuries evident at the scene but not serious, like bruises, abrasions, or minor cuts.
  • C (Possible): pain or momentary unconsciousness with no visible wounds, or claimed injuries.
  • O (None): no injury.

DOT’s KSI formula maps those categories using three police-report fields (injury status, injury type, and injury location). The MODA/DOT/DOHMH review of that approach is summarized here: https://modaprojects.cityofnewyork.us/predicting-injury-outcomes-using-data-linkage/

CrashCount’s severity mapping aligns to DOT’s KABCO / KSI categories and uses the same inputs (status, type, and eye location) via the Person table fields above. Two caveats remain: we cannot verify “death within 30 days,” so K is based on the police-coded Killed/Apparent Death fields, and we do not use hospital outcomes to reclassify injuries. As a result, small differences from DOT’s published totals are still possible.

Enforcement and speed data (NYC Open Data)

We also pull other NYC Open Data tables, including:

  • Speed camera tickets (violation code 36) from the Parking Violations Issued datasets.
  • DOT traffic speed data for corridor-level speed patterns.

These datasets help us identify repeat offenders and speed-related trends.

Legislation and political activity

We track policy actions that shape traffic safety:

These feeds power our legislative timelines and accountability reporting.

News and public reporting

We ingest news coverage and public statements through:

  • RSS feeds from local outlets (e.g., Streetsblog NYC, NY Daily News, Gothamist, NY Post, and others).
  • MediaCloud queries for coverage of officials and traffic safety topics: https://mediacloud.org/
  • Targeted scraping for full text when feeds do not include enough detail.

Geography and geocoding

We map events to districts and neighborhoods using:

Update cadence

Cadence varies by source. Our general approach:

  • Crash data: refreshed whenever NYC Open Data updates or amends the Motor Vehicle Collisions tables.
  • Enforcement and speed data: refreshed as NYC Open Data publishes new monthly or yearly updates.
  • Legistar and Open States: polled regularly for new actions and votes.
  • News and MediaCloud: pulled on a rolling basis and backfilled as needed.
  • Geography and geocoding: updated when agencies publish new boundary releases or address systems change.

If you notice a discrepancy or want to suggest a source, contact us at hello@crashcount.nyc.