The 287(g) Program

Mapping the active partnerships between
Immigration and Customs Enforcement (ICE) and
local + state law enforcement agencies across the U.S.

Screenshot of home page from "Active 287(g) Agreements" report published by Titus Consulting via Looker Studio (Google):
https://lookerstudio.google.com/reporting/ebe8be08-53be-4afc-9240-83ec3075e873

Interactive Report

Canceled Agreements

Includes agreements removed from ICE's published list after December 8th, 2025.

County-Level Agreement Map

287(g) Scenario Simulator

Learn More

About the Report

How to use the interactive report + understand the data behind it.
What is the 287(g) program?
Section 287(g) of the Immigration and Nationality Act authorizes Immigration and Customs Enforcement (ICE) to enter into agreements with state and local law enforcement agencies, delegating certain immigration enforcement functions to designated officers within partnering jurisdictions.

These agreements effectively deputize local officers to act as immigration agents to varying degrees, depending on the program model. Agreements can be signed at three government levels:
- county agencies (like sheriffs' offices)
- municipal agencies (like local police departments in a town or city, on a college campus police, etc.)
- state-level agencies (like state police and highway patrols, departments of corrections)

The program has expanded rapidly since January 2025, growing from 134 active agreements to over 1,500 by early March 2026.
Where does the data come from?
The original raw data comes directly from ICE, which publishes an Excel spreadsheet of active 287(g) agreements on its website.

ICE uses a snapshot approach to publishing this data: each spreadsheet represents the currently active agreements at a given time — effectively overwriting the previous snapshot with each update. There is no changelog, no historical archive, and no unique identifiers for individual agreements.

What this means: when an agreement is canceled, it simply disappears from the next snapshot. We clean and enrich this data by standardizing agency names, correcting typos, adding geographic coordinates for mapping, and incorporating U.S. Census 2024 population estimates to enable per-capita analysis.

Digging Into ICE's Messy 287(g) Data w/ Andrew Thrasher by Austin Kocher

I sat down with Andrew Thrasher to talk about why ICE's 287(g) data is so hard to work with, what he's built to make it usable, and why getting this right matters for accountability.

Read on Substack
What are the three (3) program models?
Each 287(g) agreement falls under one of three operational models:

The Jail Enforcement Model (JEM) model: a designated officer in a local or state jail screens individuals arrested and booked on other charges against federal immigration databases.

The Warrant Service Officer (WSO) model: officers are authorized to execute existing administrative warrants issued by ICE.

The Task Force (TFM) model is the most expansive version: officers are allowed to question and arrest individuals suspected of civil immigration violations during routine law enforcement duties in the community.

The Task Force Model was previously halted in 2012 due to racial profiling concerns, but was reactivated in 2025 and has seen rapid adoption, particularly among municipal agencies. As of March 10, 2026, there are 886 Task Force agreements — representing a majority (58.6%) of all active agreements.
What's the difference between # of agreements and # of agencies?
A single law enforcement agency can have up to three (3) separate 287(g) agreements active — one under each program model. When this report shows a total count of agreements, that number will be higher than the number of unique participating agencies.

For example, the 1,511 active agreements on March 10, 2026 correspond to 1,278 unique agencies. Both figures are meaningful: the agreement count reflects the total scope of delegated authority, while the agency count reflects the number of distinct departments involved in the program.
What are the known limitations of the data?
ICE’s data is a snapshot, not a ledger. We can only see what’s active at the time each spreadsheet is published. There is no official historical archive, so  tracking is reconstructed from saved snapshots.

We use a composite key (state + agency name + agreement type + signature date) to track agreements, but this key is fragile: when ICE corrects a typo, it can appear as a simultaneous cancellation and new agreement.

Agreement cancellation tracking is only available for agreements removed from ICE's published list since December 8, 2025. Some municipality population values may show as "NOT FOUND" where Census data couldn’t be reliably matched. ICE has also historically over-counted agreements by one due to including the header row in their total, along with other typographical and data entry errors.