ICE Removals Originating in Georgia
Monthly counts of deportations (ICE removals) whose originating arrest was recorded in Georgia since October 2022, by ICE program, gender, criminal history, and country of citizenship.
- 2022–2026
- irregular
- 1.0.0
- a67c8dfa68f8
Overview
Count of removals - deportations carried out by U.S. Immigration and Customs Enforcement (ICE) - whose originating arrest was recorded in Georgia, by calendar year and month of departure, from the person-level removal records ICE released under FOIA (Hausman v. ICE) and the Deportation Data Project published unprocessed. Each removal is counted once and broken out by ICE's gender determination, the case's criminality classification (convicted, pending charges, or other immigration violator), the ICE program that produced the removal (Criminal Alien Program, Fugitive Operations, 287(g), ...), and country of citizenship. State-level only: the source has no county field. Removals with no recorded apprehension state - most CBP border arrests - are in no state's count, so this is a floor.
Row grain: One row per year, month, county_fips, demographic, criminality, ice_program, citizenship_country.
num_removals — Number Removals (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 departure date (Departed Date) - NOT the federal fiscal year. 2022 covers October-December only; 2026 runs through 2026-08-06.Full description▾Calendar year of the departure date (Departed Date) - NOT the federal fiscal year. 2022 covers October-December only; 2026 runs through 2026-08-06. |
month | string | — | — | no | 'all' is the calendar-year total; '01'-'12' is the departure month.Full description▾Departure month as a zero-padded '01'-'12', or 'all' for the calendar-year total. The monthly rows sum exactly to the 'all' row. Pin to 'all' for annual figures. 13 allowed values▾
|
county_fips | string | — | — | yes | Always NULL: the ICE removals source has no county field, so this dataset is published at state grain only. Kept for the immigration domain's shared key shape (FK to the counties dimension when populated).Full description▾Always NULL: the ICE removals source has no county field, so this dataset is published at state grain only. Kept for the immigration domain's shared key shape (FK to the counties dimension when populated). |
demographic | string | — | — | no | Gender as determined by ICE: all, female, or male.Full description▾Demographic key (FK to the demographics dimension): 'all', 'female', or 'male'. Gender here is ICE's own determination, not self-reported. Removals recorded with gender 'Unknown' count toward 'all' only, so female + male is at most 'all'. 3 allowed values▾
|
criminality | string | — | — | no | ICE's criminal-history classification of the case; 'all' is the total.Full description▾ICE's criminality classification of the removal case: 'convicted_criminal' (a criminal conviction on record), 'pending_criminal_charges', or 'other_immigration_violator' (no known conviction or pending charge). 'all' is the total; the three parts sum exactly to it. 4 allowed values▾
|
ice_program | string | — | — | no | ICE program that produced the removal (CAP, Fugitive Operations, 287(g), ...); 'all' is the total.Full description▾The ICE program recorded on the removal, collapsed to the sub_topic's shared vocabulary: 'criminal_alien_program' (ERO CAP - people handed to ICE from jails and prisons; 58 percent of Georgia removals), 'fugitive_operations' (at-large arrests by ICE fugitive teams), '287g_program' (the jail-enforcement 287(g) model run with deputised local officers) and '287g_task_force' (the task-force model, appearing in Georgia only from 2025), 'docket_control' (detained and non-detained docket control), 'alternatives_to_detention', 'border_patrol' (six Georgia removals), and 'other' (Mobile Criminal Alien Team, HSI, Detention and Deportation, intelligence and task-force units); 'all' is the total and the parts sum exactly to it. Read from the source's 'Final Program Code' column, which holds the LABEL (the header is swapped with 'Final Program' in the release). 9 allowed values▾
|
citizenship_country | string | — | — | no | Country of citizenship: the 22 most common among Georgia records, plus other and unknown.Full description▾Country of citizenship as recorded by ICE, keyed to the 22 countries most frequent among Georgia records across the ICE and immigration-court sources; every other country is 'other' and an unrecorded country is 'unknown'. 'all' is the total; the parts sum exactly to it. Not a demographic - this column has no FK to the demographics dimension. 25 allowed values▾
|
num_removals | integer | — | no | Number of removals in the cell.Full description▾Number of removals (deportations ICE carried out) in the cell whose originating arrest was recorded in Georgia, after rows identical on every source column are collapsed. Counts removals, not people: a person removed twice is two removals. 0 means no removal matched the cell (the state grid is complete; no suppression is applied). |
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 |
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_removals"states data for 2026
curl "https://georgiacivicdata.org/api/v1/immigration/ice_removals?year=2026"Filtered to month = 01 for 2026
curl "https://georgiacivicdata.org/api/v1/immigration/ice_removals?year=2026&month=01"Download 2026 as CSV
curl "https://georgiacivicdata.org/api/v1/immigration/ice_removals?year=2026&format=csv"Notes & limitations
NULL handling
- Zero is a real, reported value.
Limitations
Years are CALENDAR years of the departure date (Departed Date, with a month column), not federal fiscal years. ICE and the Deportation Data Project report by fiscal year (October 1 to September 30), so a figure here will not match a published 'FY2026' number. Coverage is 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 trend line dips at each end for that reason alone. GEORGIA MEANS REMOVALS WHOSE ORIGINATING ARREST WAS RECORDED IN GEORGIA (Apprehension State = GEORGIA), not people removed from Georgia or Georgia residents. That field is empty on 71.7% of the 1,250,386 removals nationwide (896,039 rows, 829,606 of them CBP border arrests), and those removals are in no state's count. The Georgia figure is therefore a FLOOR, and it is heavily skewed toward interior (ICE) arrests relative to the national mix: of the 13,923 Georgia removals counted, 13,913 began with an ICE arrest and 10 with a CBP arrest, while nationally 66.6% of removals begin with a CBP border arrest. The arresting agency is therefore NOT published as a breakdown (it would be a column that is 'ice' in 99.9 percent of cells); treat every Georgia figure here as interior (ICE) enforcement, and never compare a Georgia total against a national headline that is two-thirds border removals without that caveat. ice_program is the ICE program that produced the removal (the Criminal Alien Program - jail and prison handoffs - Fugitive Operations, the two 287(g) models, docket control, Alternatives to Detention, Border Patrol, other), from the source's 'Final Program Code' column, whose header is swapped with 'Final Program' in the release (the transform reads the pair by content). Reliability caveat from the publisher: the Deportation Data Project states that it "continue[s] to have questions about the reliability of the removals data" and that recent releases differ from the late-July-2025 release it believes was most reliable; this dataset is built from the later 2026-08-06 release. The four source workbooks hold 1,250,386 rows against the roughly 1.05 million records DDP's page advertises; the observed count is treated as authoritative and no rows were dropped to reconcile. Rows identical on all 35 source columns are collapsed before counting (870 nationwide, 0 among the Georgia rows). The source has no county field, so this dataset is STATE-ONLY: county_fips is NULL on every row and there is no county breakdown (Apprehension City is mostly empty and mixes detention towns such as Lumpkin with arrest locations). State rows are a complete grid of every month x category combination, so a 0 means no removal matched that cell (zero is real; no suppression is applied at state grain). month = 'all' is the calendar-year total; every categorical's 'all' value is its total, so filter each to 'all' except the one you are breaking out, or the same removal is counted on several rows. demographic is ICE's own gender determination (male/female), not self-reported; removals recorded with gender Unknown count toward 'all' only, so male + female is slightly below all. citizenship_country names the 22 countries most frequent among Georgia records across the ICE and immigration-court sources; every other country is 'other' and an unrecorded country is 'unknown'. criminality is ICE's own case classification as recorded at removal. Removals are counted, not people: a person removed twice in the window is two removals.