Civilian Complaint Review Board: Police Officers
A list of all NYPD officers, as reported to CCRB by NYPD based on NYPD's roster, and a count of any complaints they have received since the year 2000. The dataset is part of a database of all public police misconduct records the Civilian Complaint Review Board (CCRB) maintains on complaints against New York Police Department uniformed members of service received in CCRB's jurisdiction since the year 2000, when CCRB's database was first built. This data is published as four tables: Civilian Complaint Review Board: Police Officers Civilian Complaint Review Board: Complaints Against Police Officers Civilian Complaint Review Board: Allegations Against Police Officers Civilian Complaint Review Board: Penalties A single complaint can include multiple allegations, and those allegations may include multiple subject officers and multiple complainants. Public records exclude complaints and allegations that were closed as Mediated, Mediation Attempted, Administrative Closure, Conciliated (for some complaints prior to the year 2000), or closed as Other Possible Misconduct Noted. This database is inclusive of prior datasets held on Open Data (previously maintained as "Civilian Complaint Review Board (CCRB) - Complaints Received," "Civilian Complaint Review Board (CCRB) - Complaints Closed," and "Civilian Complaint Review Board (CCRB) - Allegations Closed") but includes information and records made public by the June 2020 repeal of New York Civil Rights law 50-a, which precipitated a full revision of what CCRB data could be considered public.
Open in the graph · Relate this dataset · What these columns mean
Freshness
The publisher's promise
How the agency that publishes this data says it keeps the data current.
Due
- Says it updates
- Daily
- Actually updates about every
- 1 days
- Publisher last updated the data
- Oct 7, 2026
Our mirror
Whether our copy of this data is current with the source.
Sync error
- We last synced
- Oct 1, 2026, 10:16 AM
- Rows in our copy
- 98,293
- Rows at the source
- 98,293
- Our copy trails the source by
- 6 days
Columns
Each source column, with the name and type we use to store it.
0 of 14 columns carry a concept; 14 carry a description from the publisher. Read the concept column before you join. A column with no concept carries no claim from us, and a name that looks like a key is not one.
| Source field | Display name | What the publisher says it is | Concept | Source type | Stored as | Stored type | Row identifier | Unit |
|---|---|---|---|---|---|---|---|---|
total_complaints | Total Complaints | The total number of complaints involving this officer as a subject. | Not bound | Number | total_complaints | numeric | — | |
officer_first_name | Officer First Name | MOS first name. | Not bound | Text | officer_first_name | text | — | |
total_substantiated_complaints | Total Substantiated Complaints | The total number of substantiated complaints involving this officer as a subject. | Not bound | Number | total_substantiated_complaints | numeric | — | |
officer_last_name | Officer Last Name | MOS last name. | Not bound | Text | officer_last_name | text | — | |
last_reported_active_date | Last Reported Active Date | The last date, according to CCRB's latest roster, that a Member of Service (MOS) was reported as active. | Not bound |
Download
This file was produced on Oct 1, 2026, 10:17 PM.
Refresh this dataset
Source and attribution
Where this data comes from, which version we hold, and what we changed.
- Source
- https://data.cityofnewyork.us/d/2fir-qns4
- Version
- Content hash:
99f5a29687262125b6533a01f902fffad2c2c35e86a1bd846b6a39575ef571f7 - What we changed
- We did not change the data. We stored it as published.
- Publisher
- codenownyc
- We retrieved it
- Oct 1, 2026, 10:16 AM
Update history
| Started | Kind | Result | Rows written | Produced by |
|---|---|---|---|---|
| Oct 7, 2026, 11:00 PM | full_replace | failed | — | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Oct 5, 2026, 7:00 AM | full_replace | failed | — | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Oct 3, 2026, 10:46 PM | full_replace | failed | — | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Oct 3, 2026, 6:45 AM | full_replace | failed | — | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Oct 2, 2026, 10:37 PM | full_replace | failed | — | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Oct 2, 2026, 6:15 PM | full_replace | failed | — | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Oct 2, 2026, 4:14 PM | full_replace | failed | — | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Oct 2, 2026, 3:08 PM | full_replace | failed | — | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Oct 1, 2026, 3:02 PM | full_replace | success | 98,293 | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |
| Sep 30, 2026, 3:02 PM | full_replace | success | 98,293 | codenow-nycmesh-container-oci.jfrog.io/codenow/citytap-pull:0.1.84 |