ICE Detainers Issued to Georgia Jails
Detainers ICE sent to Georgia jails each month, how many were declined or honored, and annual totals by the receiving jail's county.
- 2022–2026
- irregular
- 1.0.0
- e6b9bc90b72b
Overview
Immigration detainers ICE issued to jails and prisons in Georgia, October 2022 through 6 August 2026, from the ICE detainer records released under FOIA (Hausman v. ICE) and published by the Deportation Data Project. Most are I-247A detainers asking a jail to hold someone up to 48 hours past release so ICE can take custody; about a fifth are I-247G requests for advance notification of release, which ask for notice rather than a hold. Counts of detainers issued, declined by the receiving agency, and honored (the person booked into ICE detention), by calendar month, ICE's gender determination, criminal history at issuance, the ICE program that issued the detainer, and citizenship country at state level; annual totals by the receiving jail's county.
Row grain: One row per year, month, county_fips, demographic, criminality, ice_program, citizenship_country.
num_detainers — Number Detainers (count)
The single headline value most answers want.
Variables
Every column in the fact table. The code is the exact field name the API returns.
| Column | Type | Unit | Range | Null? | Description |
|---|---|---|---|---|---|
year | integer | — | — | no | Calendar year the detainer was prepared (from Detainer Prepared Date) - NOT the federal fiscal year ICE reports by. 2022 covers October-December only; 2026 runs through 6 August.Full description▾Calendar year the detainer was prepared (from Detainer Prepared Date) - NOT the federal fiscal year ICE reports by. 2022 covers October-December only; 2026 runs through 6 August. |
month | string | — | — | no | Calendar month, or 'all' for the annual total.Full description▾Calendar month the detainer was prepared, '01'-'12', or 'all' for the calendar-year total. County rows carry 'all' only (monthly counts are published at state grain). 13 allowed values▾
|
county_fips | string | — | — | yes | 5-digit FIPS of the county whose jail or sheriff's office RECEIVED the detainer (from the Detention Facility name and city) - the receiving agency's county, not the person's residence. NULL on state rows. Detainers to statewide or federal facilities (state prisons, U.S. Marshals, federal prisons, ICE facilities, ORR shelters) have no county and appear in state rows only.Full description▾5-digit FIPS of the county whose jail or sheriff's office RECEIVED the detainer (from the Detention Facility name and city) - the receiving agency's county, not the person's residence. NULL on state rows. Detainers to statewide or federal facilities (state prisons, U.S. Marshals, federal prisons, ICE facilities, ORR shelters) have no county and appear in state rows only. |
demographic | string | — | — | no | ICE's own gender determination (agency-assigned, not self-reported): 'male', 'female', or 'all'. ICE's 'Unknown' counts toward 'all' only, so male + female is at most 'all'. County rows carry 'all' only.Full description▾ICE's own gender determination (agency-assigned, not self-reported): 'male', 'female', or 'all'. ICE's 'Unknown' counts toward 'all' only, so male + female is at most 'all'. County rows carry 'all' only. 3 allowed values▾
|
criminality | string | — | — | no | Criminal history when the detainer was issued.Full description▾ICE's criminality classification when the detainer was prepared: 'convicted_criminal' (a criminal conviction on record), 'pending_criminal_charges', or 'other_immigration_violator' (neither); 'all' = total. County rows carry 'all' only. 4 allowed values▾
|
ice_program | string | — | — | no | ICE program that issued the detainer.Full description▾ICE enforcement program responsible for the detainer (TOD Final Program), collapsed to the shared vocabulary: 'criminal_alien_program' (jail-based screening; most Georgia detainers), '287g_program' (the 287(g) jail-enforcement model) and '287g_task_force' (the 287(g) task-force model - different programs, kept distinct), 'fugitive_operations', 'docket_control', 'alternatives_to_detention', 'other'; 'all' = total. 'border_patrol' is in the vocabulary but has no Georgia detainers. County rows carry 'all' only. 9 allowed values▾
|
citizenship_country | string | — | — | no | Citizenship country (22 named, else 'other').Full description▾Citizenship country as recorded by ICE, mapped to the sub_topic's shared vocabulary: the 22 countries most frequent among Georgia records across the ICE and EOIR sources, 'other' for every other country, 'unknown' for stateless / unknown labels; 'all' = total. Published at state grain only - county rows carry 'all'. 25 allowed values▾
|
num_detainers | integer | — | yes | Detainers ICE issued to the jail(s) in the cell.Full description▾Number of detainers ICE prepared for jails in the cell, after collapsing rows identical on all source columns and excluding requests ICE itself flagged 'Duplicate' or 'Superseding - New Form Issued' (a request replaced by a new form; the replacement carries the outcome). The headline metric: where ICE asks Georgia jails to hold - or, for the I-247G notification forms that are about a fifth of the count, to notify it about - people. Includes detainers still outstanding (no lift reason). State rows are complete (a 0 is a real zero); county counts below 5, zero included, are withheld as NULL. | |
num_detainers_declined | integer | — | yes | Detainers the receiving agency declined.Full description▾Detainers whose lift reason is 'Detainer Declined by LEA' - the receiving law-enforcement agency did not hold the person for ICE. Rare in Georgia (93 statewide in the window), so at county grain this is withheld (NULL) almost everywhere. County counts below 5, zero included, are withheld, plus complementary suppression when the undeclined remainder would be below 5. | |
num_detainers_honored | integer | — | yes | Detainers that ended with the person in ICE custody.Full description▾Detainers whose lift reason is 'Booked into Detention' - ICE took custody. A same-event outcome alongside declined; the two do not sum to num_detainers because other outcomes (released before ICE arrived, prosecutorial discretion, still outstanding) are not broken out. County counts below 5, zero included, are withheld as NULL. | |
detainer_decline_rate | number | — | yes | Share of detainers the receiving agency declinedFull description▾num_detainers_declined / num_detainers (0-1): the share of ALL detainers issued in the cell - outstanding ones included - that the receiving agency declined. A same-event variant of the headline count, not the key metric: Georgia agencies declined only 93 detainers in the window, so at county grain this publishes in a handful of county-years and the state series carries the signal. NULL where num_detainers is 0 or, on county rows, where either count is withheld. |
Filters
Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.
| Parameter | Kind | Allowed values | Notes |
|---|---|---|---|
year | year_exact | any value | — |
year_min | year_range | any value | — |
year_max | year_range | any value | — |
detail | detail | countiesstates | enum-enforced, default: states |
county_fips | foreign_key | any value | multi-value |
demographic | foreign_key | allfemalemale | multi-value, enum-enforced |
month | categorical | 13 allowed values▾
| multi-value, enum-enforced |
criminality | categorical | allconvicted_criminalother_immigration_violatorpending_criminal_charges | multi-value, enum-enforced |
ice_program | categorical | 9 allowed values▾
| multi-value, enum-enforced |
citizenship_country | categorical | 25 allowed values▾
| multi-value, enum-enforced |
demographic_category | dimension_attribute | 12 allowed values▾
| multi-value, enum-enforced |
Example requests
Run these against the base URL — they return live data.
All rows (first page), states level
curl "https://georgiacivicdata.org/api/v1/immigration/ice_detainers"states data for 2026
curl "https://georgiacivicdata.org/api/v1/immigration/ice_detainers?year=2026"Filtered to month = 01 for 2026
curl "https://georgiacivicdata.org/api/v1/immigration/ice_detainers?year=2026&month=01"One county (FIPS 13135), 2026
curl "https://georgiacivicdata.org/api/v1/immigration/ice_detainers?county_fips=13135&year=2026&detail=counties"Download 2026 as CSV
curl "https://georgiacivicdata.org/api/v1/immigration/ice_detainers?year=2026&format=csv"Notes & limitations
NULL handling
- Suppressed cells (too few students to report) are NULL, never zero.
- Zero is a real, reported value.
Limitations
'Detainer' here is every form ICE's detainer system issued: about 80% of counted Georgia detainers are I-247A immigration detainers (a request to hold the person up to 48 hours past release) and about 20% are I-247G requests for advance notification of release, which ask the jail to notify ICE but not to hold anyone; the two are counted together and the form type is not broken out in this pass. Calendar years, not federal fiscal years: `year` and `month` come from `Detainer Prepared Date`, so figures here will NOT match ICE's own or DDP's published FY totals (federal FY runs October 1 - September 30). Coverage is the release window 2022-10-01 through 2026-08-06: calendar 2022 is October-December only and 2026 stops on 6 August, so both end years are partial and a year-over-year chart dips at both ends. The source workbooks hold 740,601 rows nationally against the ~610K the Deportation Data Project page advertises; the observed count is treated as authoritative and no rows were dropped to reconcile. Three dedup rules apply before counting: rows identical on all 44 source columns are collapsed; detainers ICE itself marked `Duplicate` in the lift reason are excluded; and detainers marked `Superseding - New Form Issued` (replaced by a new form, which carries the outcome) are excluded so one request is not counted twice. Geography is the RECEIVING JAIL'S county, never the person's residence: `county_fips` is derived from the jail or sheriff's office named in `Detention Facility` (and its city), so a county's rows measure detainers lodged at that county's jails. Detainers sent to statewide or federal facilities (the Georgia Department of Corrections, federal prisons, the U.S. Marshals, ICE's own facilities, ORR shelters) cannot be placed in a county and appear in state rows only; that includes the Irwin County Detention Center, a private federal-contract facility rather than the county sheriff's jail, so Irwin County's rows hold only detainers sent to its sheriff - 91.2% of Georgia detainers (2,918 state-only) resolved to a county, so county rows sum to slightly less than the state total. Disclosure control (the platform's own rule; the source has none): county rows are annual totals with every categorical pinned to `all` (`month` and `citizenship_country` are published at state grain only), on a complete 159-county x 5-year grid; any county count below 5 - ZERO INCLUDED - is withheld as NULL, with complementary suppression so a withheld cell cannot be recovered by subtraction. A county NULL therefore means 'fewer than five, possibly none', never a real zero; state rows are complete and a state 0 is a real zero. `demographic` is ICE's own gender determination (`Male` / `Female`), not self-reported; ICE's `Unknown` counts toward `all` only, so male + female is at most `all`. Outstanding detainers - NULL lift reason, 32% of Georgia detainers in the window (27 percent nationally) - remain in num_detainers, so detainer_decline_rate is declined divided by ALL detainers issued in the cell, not by resolved detainers; the honored count (`Booked into Detention`) is the same-event complement and the two never sum to the total. Declines are rare in Georgia (93 in the window), so at county grain the declined count and the rate are withheld almost everywhere; the state series carries the signal.