Georgia Prison Inmates with Deportation Detainers
Georgia state-prison inmates held with an active ICE deportation detainer on a month-end date, by citizenship country and offense group.
- 2025–2026
- monthly
- 1.0.0
- caa895da3802
Overview
Inmates in Georgia Department of Corrections custody who hold an active immigration (deportation) detainer, from GDC's monthly 'O.C.G.A. 42-1-11.4 Monthly Report - Detainers for Deportation'. A point-in-time count on the report's as-of date (a month-end), statewide, with the total broken down by the inmate's country of citizenship and, separately, by offense group. Only the months whose report was captured exist; GDC overwrites the report monthly and keeps no archive.
Row grain: One row per year, month, county_fips, citizenship_country, offense_group.
num_inmates_with_detainer — Number Inmates with Detainer (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 of the report's 'Data as of' date - not a federal or state fiscal year.Full description▾Calendar year of the report's 'Data as of' date - not a federal or state fiscal year. |
month | string | — | — | no | Month of the report's as-of date.Full description▾Calendar month of the report's 'Data as of' date, '01'-'12' (the month, not the day: the August 2025 report is as of Friday 29 August). There is NO 'all' annual row - the figure is a stock of inmates on one day, and months cannot be summed. Only the months GDC's overwritten report was captured for exist; see limitations. 12 allowed values▾
|
county_fips | string | — | — | yes | Always NULL: the report covers Georgia's state prison system as a whole and has no county or facility field.Full description▾Always NULL: the report covers Georgia's state prison system as a whole and has no county or facility field. |
citizenship_country | string | — | — | no | Country of citizenship (22 named, else 'other').Full description▾The inmate's country of citizenship as GDC records it, mapped to the immigration domain's shared vocabulary: the 22 countries most frequent in Georgia enforcement records, 'other' for every other country (GDC lists 91 across the five reports), 'unknown' for GDC's 'Null' row (no recorded citizenship); 'all' = every inmate. GDC's 'RUSSIAN FEDERATION' is russia and 'KOREA, REPUBLIC OF' is south_korea. The country rows partition the total exactly. Rows that pin a country carry offense_group = 'all' - the report never crosses the breakdowns. 25 allowed values▾
|
offense_group | string | — | — | no | Offense group (the groups overlap; see limitations).Full description▾Group of the offense the inmate is serving time for, collapsed from GDC's 130 offense codes on the model of GDC's own broad crime categories: 'violent' (homicide, assault, kidnapping, robbery, cruelty to children, firearm possession during a crime, and trafficking a person for sexual servitude, which GDC counts as violent rather than as a sex crime), 'sex_offense' (rape, child molestation, sexual battery, sexual exploitation of children, sex-offender registration), 'property' (burglary, theft, forgery and fraud, criminal damage, arson, racketeering), 'drug_trafficking' (trafficking under O.C.G.A. 16-13-31, including manufacturing methamphetamine), 'drug_other' (possession, possession with intent, sale), 'traffic_dui' (habitual traffic violator, hit-and-run, motor-vehicle law), 'other' (obstruction, fleeing police, weapons possession by a felon, gang participation, and the rest); 'all' = every inmate. The groups OVERLAP: an inmate serving for two offenses counts in both groups (or twice in one), so the groups sum above the total. Rows that pin a group carry citizenship_country = 'all'. 8 allowed values▾
|
num_inmates_with_detainer | integer | — | yes | Inmates held with an active ICE deportation detainer.Full description▾Inmates in Georgia Department of Corrections custody with an active immigration (deportation) detainer on the report's as-of date. On the all/all row: GDC's Grand Total, a count of distinct inmates. On a citizenship_country row: the inmates of that citizenship (the rows sum exactly to the total). On an offense_group row: inmate-offense pairs within the group - an inmate serving for two offenses counts under each, so the group rows sum about 3% above the total and a group's value is an upper bound on its distinct inmates; take offense shares against the all/all total. A stock: do not sum across months. A 0 is a real zero. |
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 | states | enum-enforced, default: states |
county_fips | foreign_key | any value | multi-value |
month | categorical | 12 allowed values▾
| multi-value, enum-enforced, pick one |
citizenship_country | categorical | 25 allowed values▾
| multi-value, enum-enforced |
offense_group | categorical | 8 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/deportation_detainers"states data for 2026
curl "https://georgiacivicdata.org/api/v1/immigration/deportation_detainers?year=2026"Filtered to month = 01 for 2026
curl "https://georgiacivicdata.org/api/v1/immigration/deportation_detainers?year=2026&month=01"Download 2026 as CSV
curl "https://georgiacivicdata.org/api/v1/immigration/deportation_detainers?year=2026&format=csv"Notes & limitations
NULL handling
- Zero is a real, reported value.
Limitations
A STOCK, NOT A FLOW. Each figure is the number of inmates in Georgia Department of Corrections custody who held an active immigration (deportation) detainer on the report's as-of date; the same person is counted again every month until released or transferred. Months cannot be summed, there is no annual total, and a month-over-month difference is net change in the stock, not new detainers. Coverage is sparse and fixed: only 5 monthly reports (March 2025, April 2025, August 2025, December 2025, August 2026) exist. GDC overwrites the report at one URL each month and keeps no archive; the earlier months are the ones the Internet Archive happened to capture, and the rest (May 2025, June 2025, July 2025, September 2025, October 2025, November 2025, January 2026, February 2026, March 2026, April 2026, May 2026, June 2026, July 2026) are gone. A time series must break across the gaps, never interpolate. year and month come from the report's 'Data as of' date - a calendar month, not a federal or state fiscal year - and month is the as-of MONTH: the August 2025 report is as of Friday 29 August (the last business day), the others the month's last day. Two breakdowns of one total, never crossed: each row pins either citizenship_country or offense_group and leaves the other at 'all', so a query that pins both returns nothing - GDC does not publish offense by country. citizenship_country partitions the total exactly (one citizenship per inmate). It uses the immigration domain's shared vocabulary - the 22 countries most frequent in Georgia enforcement records, 'other' for every other country, 'unknown' for GDC's 'Null' row (inmates with no recorded citizenship, published from December 2025 on) - with GDC's 'RUSSIAN FEDERATION' mapped to russia. GDC notes that no inmate with an active detainer has U.S. dual citizenship. offense_group rows OVERLAP and must not be summed or used as a partition. GDC counts an inmate serving for two offenses under both, so its offense rows sum 2.7-3.1% above the Grand Total (51-59 inmates a month); grouping GDC's 130 offense codes adds further overlap wherever one inmate holds two codes in the same group. A group's value is therefore inmate-offense pairs - an upper bound on the distinct inmates in it. Never derive the total from the offense rows, and compute an offense share against the Grand Total (the all/all row), never against the sum of the groups; such shares can add to more than 100%. The seven offense groups are this platform's grouping of GDC's offense codes, modelled on the six broad crime categories GDC uses in its Inmate Statistical Profile (violent, sex crime, property, drug, habitual traffic/DUI, other) with drug split into trafficking under O.C.G.A. 16-13-31 and all other drug offenses. GDC does not publish its code-to-category table; the assignment reproduces GDC's own category totals for a December 2025 profile to within one inmate. The code-to-group map is on the topic's transform manifest. Statewide only: the report covers the GDC prison system as a whole and has no county or facility field, so county_fips is always NULL. It counts state inmates only - not people in county jails or ICE detention; for the detainers ICE issues to Georgia jails and prisons, as ICE records them, see immigration/ice_detainers. GDC publishes every cell, single-inmate rows included; this is a published government aggregate, so no small-cell suppression is applied and every 0 is a real zero (a country or offense group the month's report does not list).