{
  "generated_at": "2026-10-16T18:54:02Z",
  "export_date": "2026-10-11",
  "counts": {
    "officers": 33919,
    "socrata_members": 33919,
    "portal_list_total": 33898,
    "portal_enriched": 33893,
    "portal_failures": 0,
    "civil_rows": 53384,
    "civil_matched": 23178,
    "civil_match_rate": 0.6833,
    "tax_ids": 33902,
    "tax_ids_from_portal_list": 9,
    "payroll_matched": 28846
  },
  "sources": [
    {
      "name": "NYC Open Data: NYPD Officer Profile - Members of Service",
      "url": "https://data.cityofnewyork.us/resource/pmsy-ewrc.json"
    },
    {
      "name": "NYC Open Data: NYPD Officer Profile - Rank History",
      "url": "https://data.cityofnewyork.us/resource/sh6y-4tgb.json"
    },
    {
      "name": "NYC Open Data: NYPD Officer Profile - Awards",
      "url": "https://data.cityofnewyork.us/resource/i9n8-a8ed.json"
    },
    {
      "name": "nypdonline.org Officer Profile portal API (ethnicity, assignment date, tax ID, arrest splits, rank/shield history, awards)",
      "url": "https://nypdonline.org/link/2"
    },
    {
      "name": "NYC Open Data: Citywide Payroll / Civil List 2025 (dpt 56)",
      "url": "https://data.cityofnewyork.us/resource/ye3c-m4ga.json"
    }
  ],
  "validation": {
    "count_within_tolerance": true,
    "non_null_rates": {
      "id": 1,
      "last": 1,
      "first": 1,
      "rank": 1,
      "command": 1,
      "appointment_date": 1,
      "arrests_total": 1
    }
  },
  "data_file": "officers-fba242051b15.json.gz",
  "sample_mode": false,
  "tax_ids_enriched_at": "2026-10-16T19:00:07.170Z",
  "payroll": {
    "source": "NYC Open Data Citywide Payroll (k397-673e)",
    "fiscal_years": [
      2025,
      2024
    ],
    "stats": {
      "2024": {
        "rows": 65901,
        "matched": 26324
      },
      "2025": {
        "rows": 55424,
        "matched": 28755
      }
    },
    "fetched_at": "2026-10-22T01:05:38.984Z"
  },
  "app": {
    "v": 1,
    "derived_from": "officers-fba242051b15.json.gz",
    "index_file": "index-ee4ad291cdf4.json.gz",
    "shields_file": "shields-8bec8e6dbc21.json.gz",
    "units_file": "units-6a050853f7ff.json",
    "recent_file": "recent-b4b1152b8738.json",
    "insider_file": "insider-4170bf533474.json",
    "awards_file": "awards-eda496e790f4.json",
    "shard_dir": "o-08ece3b9c3a1",
    "tax_dir": "t-e3ac68606dcb",
    "arrests_window": {
      "as_of": "2026-10-16",
      "year_from": "2026-10-16",
      "month_from": "2026-10-16",
      "live": false
    },
    "tax_shared": [
      "943313",
      "970111",
      "977197",
      "978226",
      "978400",
      "980153",
      "980346",
      "981881",
      "983329",
      "985650",
      "986408"
    ],
    "shards": 256,
    "stats": {
      "as_of": "2026-10-11",
      "officers": 33919,
      "tiers": {
        "detective": 4875,
        "officer": 22168,
        "lieutenant": 1672,
        "sergeant": 4446,
        "captain": 351,
        "di": 174,
        "inspector": 113,
        "chief": 120
      },
      "commands": 917,
      "time_in_rank": {
        "chief": 2.7,
        "inspector": 2.1,
        "di": 2.1,
        "captain": 3.4,
        "lieutenant": 3.3,
        "sergeant": 4.2,
        "detective": 6,
        "officer": 6.4
      },
      "promoted_at": {
        "chief": 26.7,
        "inspector": 21.9,
        "di": 19.2,
        "captain": 15.4,
        "lieutenant": 12.8,
        "sergeant": 8.8
      },
      "top_shields": [
        [
          "1830",
          9
        ],
        [
          "112",
          8
        ],
        [
          "219",
          8
        ],
        [
          "729",
          8
        ],
        [
          "1871",
          8
        ]
      ],
      "pay": {
        "fy": 2025,
        "officers": 28755,
        "total": 3889846415,
        "overtime": 731862832,
        "median_total": 149221,
        "median_by_tier": {
          "chief": 259001,
          "inspector": 235314,
          "di": 218213,
          "captain": 203819,
          "lieutenant": 192321,
          "sergeant": 159843,
          "detective": 176979,
          "officer": 92069
        },
        "top_total": {
          "id": "L7p8900BO3QSQWdJl_bFjQ",
          "last": "CHENG",
          "first": "CHRISTOPHER",
          "mi": "C",
          "rank": "LT SPECIAL ASSIGN",
          "command": "PATROL BORO MAN SOUTH",
          "total": 340076
        },
        "top_ot": {
          "id": "L7p8900BO3QSQWdJl_bFjQ",
          "last": "CHENG",
          "first": "CHRISTOPHER",
          "mi": "C",
          "rank": "LT SPECIAL ASSIGN",
          "command": "PATROL BORO MAN SOUTH",
          "ot": 147759,
          "ot_hours": 1122
        }
      }
    }
  }
}
