Emergency Hotline: Call 1-844-363-1423 (United We Dream Hotline)
ICE Encounter

Immigration Enforcement Geodata

Mapping ICE and CBP infrastructure requires aggregating data from diverse, often uncooperative sources. This guide covers obtaining and visualizing:

  • Detention facility locations
  • Checkpoint networks
  • Policy jurisdiction boundaries
  • Demographic context

Detention Facility Data

Primary Sources

Source Data Provided
FOIA litigation Facility coordinates, populations
Vera Institute Historical detention trends
Deportation Data Project Transfer patterns
TRAC Syracuse ERO statistics

Vera Institute Research

Vera's analysis tracks 1,464 distinct facilities across 17 years, including:

Facility Type Description
ICE Processing Centers Dedicated ICE facilities
Federal BOP sites Bureau of Prisons
IGSA facilities Local jails with ICE contracts
Family Residential Facilities holding families

Population Metrics

Metric Definition
Midnight Population Official ICE count
24-hour Population Includes book-ins/outs during day
ADP Average Daily Population

Critical: 24-hour population often reveals significantly higher actual utilization than midnight counts.


Data Structure

Facility GeoJSON Schema

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [-117.2, 32.7]
  },
  "properties": {
    "facility_code": "OTAY",
    "facility_name": "Otay Mesa Detention Center",
    "facility_type": "CDF",
    "operator": "CoreCivic",
    "capacity": 1100,
    "current_population": 892,
    "aor": "SND",
    "state": "CA",
    "standards": "PBNDS2011",
    "contact_phone": "619-555-0100",
    "kyr_link": "/resources/facility-monitoring/otay-mesa/"
  }
}

Facility Type Codes

Code Type
SPC Service Processing Center
CDF Contract Detention Facility
IGSA Intergovernmental Service Agreement
FRC Family Residential Center
USMS U.S. Marshals holding

Checkpoint Data

Types of Checkpoints

Type Description Duration
Permanent Fixed highway locations Continuous
Temporary Tactical enforcement Hours to days
Roving Mobile patrol Minutes to hours
DUI Checkpoints Often used for immigration Specific events

Data Sources

Source Access Method
CBP records FOIA requests
Court documents Litigation discovery
Community reports Crowdsourced
Academic research Published studies

Checkpoint GeoJSON Schema

{
  "type": "Feature",
  "geometry": {
    "type": "Point",
    "coordinates": [-116.8, 32.9]
  },
  "properties": {
    "checkpoint_id": "I8-EAST",
    "name": "I-8 Checkpoint",
    "type": "permanent",
    "highway": "I-8",
    "direction": "Eastbound",
    "sector": "San Diego",
    "operational_hours": "24/7",
    "last_verified": "2026-03-01",
    "notes": "All traffic stopped"
  }
}

Policy Jurisdiction Data

287(g) Agreements

Source: ICE publications, FOIA requests

Data Point Description
Jurisdiction County/agency name
Agreement type Jail model vs. task force
Effective date When agreement began
Status Active/terminated

Sanctuary Policies

Source: Municipal ordinances, advocacy databases

Policy Type Description
Sanctuary city Limits local cooperation
Sanctuary county County-level restrictions
Anti-sanctuary State laws requiring cooperation
Detainer policy How detainers are handled

GeoJSON for Jurisdictions

{
  "type": "Feature",
  "geometry": {
    "type": "Polygon",
    "coordinates": [/* county boundary */]
  },
  "properties": {
    "county_fips": "06073",
    "county_name": "San Diego County",
    "state": "CA",
    "has_287g": false,
    "sanctuary_status": "state_sanctuary",
    "detainer_policy": "judicial_warrant_only",
    "policy_link": "/state/california/"
  }
}

Demographic Context

Census Data Integration

Dataset Use Case
ACS Foreign-born Immigrant population density
ACS Hispanic origin Latino community distribution
Decennial Census Total population baselines

Privacy Considerations

Critical: Displaying granular demographic data risks creating targeting maps.

Approach Risk Level
❌ Point-level data High - identifies households
❌ Block-level data Medium - small areas
✅ Tract aggregation Lower - broader areas
✅ Choropleth maps Lowest - shows density patterns
✅ Smoothed heatmaps Lowest - no specific locations

Visualization Strategies

Facility Markers

function getFacilityIcon(type) {
  const colors = {
    SPC: '#e74c3c',   // Red - federal
    CDF: '#e67e22',   // Orange - private
    IGSA: '#f39c12',  // Yellow - local
    FRC: '#9b59b6'    // Purple - family
  };

  return L.divIcon({
    className: 'facility-marker',
    html: `<div style="background: ${colors[type]};
           width: 20px; height: 20px;
           border-radius: 50%;"></div>`
  });
}

Checkpoint Clustering

For dense checkpoint data:

const checkpointCluster = L.markerClusterGroup({
  maxClusterRadius: 50,
  spiderfyOnMaxZoom: true,
  iconCreateFunction: (cluster) => {
    const count = cluster.getChildCount();
    return L.divIcon({
      html: `<div class="cluster-icon">${count}</div>`,
      className: 'checkpoint-cluster'
    });
  }
});

Jurisdiction Choropleth

function getJurisdictionStyle(feature) {
  const has287g = feature.properties.has_287g;
  const isSanctuary = feature.properties.sanctuary_status;

  return {
    fillColor: has287g ? '#c92a2a' :
               isSanctuary ? '#2e7d32' : '#757575',
    fillOpacity: 0.3,
    color: '#333',
    weight: 1
  };
}

Data Maintenance

Update Frequency

Data Type Update Cycle
Facility status Monthly
Population counts Weekly (when available)
Checkpoint locations As reported
Policy changes As enacted

Verification Process

  1. Cross-reference multiple sources
  2. Date stamp all entries
  3. Note confidence levels
  4. Track changes via git

Data Quality Fields

{
  "properties": {
    "source": "FOIA-2026-ICE-1234",
    "last_verified": "2026-03-15",
    "confidence": "high",
    "notes": "Verified via court records"
  }
}

Interactive Features

Facility Popups

function createFacilityPopup(props) {
  return `
    <div class="facility-popup">
      <h3>${props.facility_name}</h3>
      <table>
        <tr><td>Type:</td><td>${props.facility_type}</td></tr>
        <tr><td>Operator:</td><td>${props.operator}</td></tr>
        <tr><td>Capacity:</td><td>${props.capacity}</td></tr>
        <tr><td>Population:</td><td>${props.current_population}</td></tr>
      </table>
      <a href="${props.kyr_link}">Know Your Rights</a>
    </div>
  `;
}

Layer Controls

const overlays = {
  "ICE Facilities": facilitiesLayer,
  "Permanent Checkpoints": permanentCheckpoints,
  "287(g) Jurisdictions": jurisdictions287g,
  "Sanctuary Policies": sanctuaryPolicies
};

L.control.layers(basemaps, overlays, {
  collapsed: false,
  position: 'topright'
}).addTo(map);

ERO Areas of Responsibility

AOR Boundaries

ICE Enforcement and Removal Operations divides the country into Areas of Responsibility:

AOR Code Region
ATL Atlanta
BAL Baltimore
BOS Boston
CHI Chicago
DAL Dallas
DEN Denver
DET Detroit
ELP El Paso
HOU Houston
LAX Los Angeles
MIA Miami
NEW Newark
NOL New Orleans
NYC New York City
PHI Philadelphia
PHO Phoenix
SLC Salt Lake City
SNA San Antonio
SND San Diego
SEA Seattle
SFR San Francisco
STP St. Paul
WAS Washington D.C.

Mapping AORs

AOR boundaries help contextualize which ICE field office oversees specific facilities and enforcement actions.


Related Resources