Voidly · Detention accountability

The Detention Ledger — Who Runs the Beds

ICE publishes a spreadsheet of every facility where it holds people, and almost no one reads it at the unit level. This dataset does: all 203 facilities in ICE's own file, 66,161 people held on an average day, with the operator named where the federal record names one, the last inspection result where the file records one, and the honest blank stated plainly where it does not — from the government's own records.

Entity level only; zero personal data. No detainee, death-report, or inspector record is ever ingested — only ICE's facility-level statistics sheet. A private operator is named only where a federal contract award or the operator's own SEC filing attributes it; everywhere else the record reads “no private operator identified in federal records,” which is itself a finding. Every attribution carries its evidence tier and source link. Figures are ICE's own (FY26 year-to-date per ICE file dated 2026-04-09); this compilation was generated 2026-07-11. To dispute or correct an entry, contact us. Built under our data standards.

Facilities
203
Average daily population
66,161
No inspection result on record
61
Guaranteed-minimum beds
45,621

Explore every facility

The map below shades each state by the number of people held on an average day. Filter by inspection status, Fail rating, paid-empty beds, or whether an operator is named; click any facility for its full record and operator chain.

Loading the facility map… The full dataset is at /detention/index.json.

Who runs the beds

The question ICE's file does not answer is who operates each facility — most carry only a county or agency label, even when a corporation runs them. This ledger fills that in only where the federal record itself does. Of 203 facilities, 7 are attributed to a named operator today; the rest default to the honest finding.

FacilityStateHeld (avg)OperatorEvidence
NORTHWEST ICE PROCESSSING CENTERWA1,289.4The GEO Group, Inc.Federal contract award
CENTRAL LOUISIANA ICE PROCESSING CENTER (CLIPC)LA1,196.6The GEO Group, Inc.Operator's SEC filing
JOE CORLEY PROCESSING CTRTX953The GEO Group, Inc.Operator's SEC filing
DELANEY HALL DETENTION FACILITYNJ890.9The GEO Group, Inc.Federal contract award
RIO GRANDE DETENTION CENTERTX624.2The GEO Group, Inc.Operator's SEC filing
CCA, FLORENCE CORRECTIONAL CENTERAZ517.8CoreCivic, Inc. (formerly Corrections Corporation of America)Named in ICE's own file
WEBB COUNTY DETENTION CENTER (CCA)TX422CoreCivic, Inc. (formerly Corrections Corporation of America)Named in ICE's own file

Coverage is bounded by design: operator subcontracts between a county and a corporation are not in federal award data, so most facilities resolve to “no private operator identified” and stay there until a federal record names one. The deeper dig lives in the writing series, never asserted above its evidence tier.

What the record shows about oversight

Every figure below is computed directly from ICE's own cells — no editorializing, no outside source.

  • 61 facilities carry no inspection result on record in ICE's file — 38 of them held under US Marshals inter-governmental agreements.
  • 5 facilities carry a Fail rating and were still holding detainees on this file.
  • 45,621 guaranteed-minimum beds are contracted across the system; 20 facilities ran more than 10% below their guaranteed minimum — 8,813 beds guaranteed and paid for while sitting empty — even as 36 others ran more than 10% over.
  • 73.1% of the people held carry no ICE threat-level classification in the file.

Fail-rated, still holding people

FacilityStateHeld (avg)Last inspection on record
BUTLER COUNTY JAILOH358.9Scheduled FY27
POLK COUNTY JAILIA53.62025-02-06
BALDWIN COUNTY CORRECTIONAL CENTERAL18.7Scheduled FY26
CASCADE COUNTY JAIL, MTMT3.5Scheduled FY26
MINICASSIA DETENTION CENTERID3.4Scheduled FY26

The largest facilities (top 15 by average population)

FacilityStateHeld (avg)Guaranteed min.Rating on record
ERO EL PASO CAMP EAST MONTANATX2,505.25,000Pass
ADAMS COUNTY CORRECTIONAL CENTERMS2,123.51,436Pass
STEWART DETENTION CENTERGA2,025.81,600Pass
SOUTH TEXAS ICE PROCESSING CENTERTX1,741.21,350Pass
ADELANTO ICE PROCESSING CENTERCA1,733.2640Pass
MOSHANNON VALLEY PROCESSING CENTERPA1,650.4800Pass
WINN CORRECTIONAL CENTERLA1,564.8946Pass
NORTH LAKE CORRECTIONAL FACILITYMI1,410.31,800Pass
FLORIDA SOFT-SIDED FACILITYFL1,382.70No result on record
OTAY MESA DETENTION CENTERCA1,380.2750Pass
ELOY FEDERAL CONTRACT FACILITYAZ1,329.8900Pass
CALIFORNIA CITY IMMIGRATION PROCESSING CENTERCA1,3042,560No result on record
NORTHWEST ICE PROCESSSING CENTERWA1,289.41,181Pass
DENVER CONTRACT DETENTION FACILITYCO1,260600Pass
PORT ISABEL SPCTX1,230.6650Pass

All 203 facilities, per-fiscal-year presence, and full flags ship in the keyless JSON.

Contraction and rebuild, not a straight line

The system did not simply grow. ICE's files show 213 facilities in FY19, 135 at the FY21 pandemic trough, and 203 in FY26 — a contraction followed by a rebuild. Any statement about expansion on this page is anchored to the FY21–FY26 rebuild, not to a false FY19 baseline.

Method & caveats

  • Source: ICE Detention Statistics, fiscal years FY19–FY26 (ice.gov), a US government work in the public domain. All eight source files were archived with SHA-256 checksums before parsing; the raw spreadsheets are never republished (their file metadata carries contractor employee names).
  • A blank rating means no inspection result appears on record in ICE's file of this date — phrased throughout as “no result on record,” never “never inspected.” Inspection PDFs are linked, never parsed.
  • Operator attribution is never asserted above its evidence tier. Federal award (T1) and SEC-filing (T2) attributions are self-attested by the government or the company; deeper resolution of county-labeled facilities lives in the writing series with per-claim citations, not in this dataset.
  • Average daily population is year-to-date and summed from ICE's four criminality columns; it is a population measure, not a capacity or a headcount on any single day.
  • Regenerate: python3 scripts/build_detention.py against a fresh archive of ICE's files; per-fiscal-year column whitelists fail the build on any schema change.

Machine access

The full dataset — metadata, integrity figures, and all 203 facility records with per-year panels and evidence-tiered operators — is one keyless fetch:

import requests
d = requests.get("https://ai-analytics.org/detention/index.json").json()
named = [f for f in d["facilities"] if f["operator"]]
print(len(named), "of", d["meta"]["facilities"], "facilities attributed to an operator")

Also listed in the Voidly datasets manifest and /data. License: public domain source; this compilation CC0.

The federal-custody trio: the 287(g) Wave (local police deputized for immigration enforcement) and the BOP Ledger (whom the federal government holds in its own prisons) — read together, the whole federal custody picture.

Companion ownership registers: the Shell Map (who owns American land) and GridOwners (who owns the power) — the Detention Ledger asks the same question of the beds.