AP-Wide Methodology Notes
This document describes how AP processed and analyzed CBP onward-destination data released through FOIA for the AP-Wide state section reports. It is written for users of the AP-Wide report pages, which present aggregated state-section findings rather than record-level tables.
The AP-Wide reports answer one main question:
When CBP recorded migrants arrested or encountered at the border, what ZIP codes did those migrants say they were headed to inside the United States?
The source material arrived in more than one release, with different structures, imperfect ZIP fields, possible duplicate records and missing values. Some destination ZIPs appeared to correspond to detention or correctional facilities rather than community destinations. AP standardized the records for analysis while preserving the limits of what the data can show.
What AP-Wide users receive
The AP-Wide report is organized as a set of state section pages covering the 50 states and Washington, D.C., plus a national state rankings page. These pages present filtered, aggregated findings rather than record-level source tables.
Each state page focuses on destination ZIPs within that state or Washington, D.C. It includes ZIP-level totals, citizenship-by-ZIP tables, per-capita ZIP comparisons where population denominators are available, and an interactive map that follows AP’s public ZIP privacy rules.
The national state rankings page compares the same cleaned records across the 50 states and Washington, D.C. It includes total migrants by state, totals by citizenship and state, per-capita migrants by state, and per-capita rates by citizenship and state.
At the project level, AP counts migrants represented, not raw rows. Using that person-level count, the current source tables represent 5,619,982 migrants in the original FOIA workbook and 876,058 migrants in the May OFO supplement. Together, before duplicate review and ZIP or detention filtering for public destination analysis, they represent 6,496,040 migrants. Because the May supplement contains some multi-subject rows, its person count is higher than its row count.
The analysis-ready community-destination ZIP set used to build public ZIP findings contains 4,510,850 migrants represented after AP’s duplicate-handling rules, valid-ZIP filtering and detention-location ZIP exclusions are applied. That final set includes 3,652,313 migrants from the original FOIA workbook and 858,537 migrants from the May OFO supplement. That exact denominator is the source of the rounded “about 4.5 million” language. It is calculated before the 10-migrant display floor is applied to individual public ZIP outputs.
Public privacy rule for ZIP-level findings
For privacy, AP does not publicly show, map, name, or otherwise identify any ZIP-level count with fewer than 10 migrants. If a story includes writing about such a ZIP code, the story should not specify a number of people if the number is fewer than 10 migrants.
This rule applies to a ZIP by itself and to any ZIP combined with another variable. For example, a country-ZIP pair such as “people from a specific citizenship recorded with destination ZIP 12345” should not be published if the subject-weighted count is less than 10. The same principle applies to other ZIP-level combinations, such as ZIP plus citizenship, ZIP plus demographic group, ZIP plus time period, or ZIP plus another reporting category.
The AP-Wide ZIP reports use 10 migrants as the display floor for public ZIP-level outputs. ZIP totals and country-ZIP tables show only rows with at least 10 migrants. Interactive maps do not show ZIPs with fewer than 10 migrants as individual points. Low-count ZIPs may appear only as anonymous nearby groups when the grouped total reaches at least 10 migrants and the geographic grouping rules described below are met.
How to read AP-provided web table downloads
The downloadable tables in AP-provided AP-Wide web reports are exports of the displayed public tables. They are not raw extracts of every record in the underlying analysis dataset, and they should not be summed to produce statewide or full-geography totals unless the table is explicitly built for that purpose.
This matters most for ZIP-level tables on state pages. Public ZIP outputs apply the 10-migrant display floor described above. A ZIP-total table includes only ZIPs with at least 10 migrants. A citizenship-by-ZIP table applies the same floor to each citizenship-ZIP pair, so it can suppress more records than the ZIP-total table. Both tables can be correct while summing to different totals.
For statewide counts, use the statewide total shown in the report text or the national state rankings table. If working from a separately provided trusted partner record-level export, sum subject_count, filter to the relevant state or Washington, D.C., and exclude rows where is_detention_zip == TRUE unless the analysis is explicitly reviewing detention-location records.
For example, a public New York report total can be larger than the sum of the downloadable ZIP-total table because New York ZIPs with fewer than 10 migrants are included in the statewide total but not displayed as individual public table rows. The citizenship-by-ZIP download can be lower still because small citizenship-ZIP combinations are also suppressed.
What the source data represents
The data is based on CBP records of migrants encountered or arrested at the border. One field in those records gives a destination ZIP code inside the United States. The ZIP field reflects where a person was recorded as saying they were headed at the time they were encountered, not necessarily where they still are today.
For that reason, the data should be described as reported onward destinations or recorded destination ZIPs. It should not be treated as proof of current residence today, settlement, sponsorship, or long-term migration.
The data also does not cover all migration into the United States. It is tied to the CBP records from the southern U.S. border included in the FOIA releases, and so migrants arriving through other means, such as airports or the northern border, are not included. Missing ZIPs, inconsistent entries, and later corrections or supplements affect the analysis.
Asylum, parole and release context
Under U.S. and international law, anyone on U.S. soil can apply for asylum, even if they entered the country illegally or overstayed a visa. They can remain in the country while their asylum claim is pending and are eligible for work permits six months after applying.
There are two kinds of asylum claims. “Affirmative” claims are for people who entered legally and applied ahead of a one-year deadline from date of entry, including tourists who overstay visas. These claims are adjudicated by asylum officers at U.S. Citizenship and Immigration Services in a nonadversarial interview setting. “Defensive” claims are for people who cross the border illegally and tell Border Patrol agents they fear being returned. These claims are decided by an immigration judge with ICE attorneys as prosecutors.
The Biden administration severely restricted asylum at the border in June 2024, and Trump suspended it entirely upon taking office, a move that is being challenged in court.
Of the 4,510,850 migrants represented in AP’s cleaned destination analysis, about 3.7 million came from the first data set. Over the last decade, people who crossed the border illegally could be detained and screened to determine whether their fears of return were credible enough to merit a judge’s consideration. In practice, this did not happen. People were released by the Border Patrol with notices to appear in immigration court or report to an ICE office nearest to their self-reported destination. Waiting times ballooned as courts were overwhelmed. In 2023, some initial appointments were more than 10 years out. During this time, they could stay and work legally.
Others, about 860,000 people in the second data set, entered the country at a land crossing with Mexico on humanitarian parole, which typically lasts two years and includes eligibility for a work permit. The vast majority came on a now-defunct mobile phone app called CBP One, which allowed entry for 1,450 people a day. They did not have to say they feared returning home or give any reason for wanting to come to the United States. A smaller number without appointments showed up at a land crossing to plead with border inspectors, typically saying their lives were in immediate danger because of a medical condition, kidnapping threat or something else. Anyone in this second group can make an “affirmative” asylum claim before the one-year deadline.
CBP is required to collect known street addresses for each person it releases at the border with notices to appear in court or report to ICE. Those addresses are where migrants said they would go. It does not mean they did, though they are legally required to keep authorities informed of where they live. They may have moved elsewhere after their initial destination or may have left the country voluntarily or involuntarily. The data represents their initial destinations.
Caveats to include in reporting
Users should carry several caveats into any story, chart, or map based on the AP-Wide report pages:
The ZIP field is a recorded onward destination as reported by the migrant, not confirmed final residence.
ZIPs were cleaned and validated; malformed or unrecognized ZIPs were excluded from ZIP-based analysis.
Known detention-facility ZIPs were excluded from public ZIP-based destination analysis.
Per-capita ZIP comparisons use Census ZCTA population estimates, which approximate ZIP geography.
National state per-capita comparisons use ACS 2019-2023 state-level total population estimates for the 50 states and Washington, D.C.
AP-provided web table downloads reflect displayed public table rows. Do not sum thresholded ZIP or citizenship-ZIP downloads to produce statewide totals.
Broad time-series analysis should be avoided because the two releases cover different periods, have different date precision, and the May supplement is concentrated in 2023 and 2024. AP used per-population comparisons as the main way to identify areas with especially large recorded destinations relative to local population.
ZIP-code cleanup
ZIP codes were one of the largest cleanup issues.
ZIP codes are labels, not quantities. They may contain leading zeros, and those leading zeros matter. In the source material, some ZIPs that should have started with zero arrived as four-digit values because Excel or another system had treated them like numbers.
For example:
07105 could appear as 7105
01702 could appear as 1702
08611 could appear as 8611
ZIP cleanup included:
blank strings were treated as missing
harmless numeric endings, such as .0, were removed
numeric-looking ZIPs were padded to five digits when appropriate
cleaned ZIPs were checked against a ZIP reference table
malformed values and values not found in the ZIP reference table were treated as missing for ZIP-based analysis
A non-empty source value was not automatically accepted as a valid destination ZIP. Entries such as placeholders, text fragments, or impossible ZIPs were excluded from ZIP-based analysis.
Examples of source values treated as missing or invalid include blank ZIP fields, text-like entries such as city or country fragments, placeholder numbers such as 0 or 11111, and numeric values with the wrong length. Some short numeric-looking values were retained only when they could be padded to a valid five-digit ZIP in the reference table.
Date and fiscal-year cleanup
Arrest dates were checked before fiscal-year analysis. Dates outside the expected project window were treated as invalid rather than allowed to produce misleading fiscal years.
This matters because date problems can create false years. For example, an Excel-origin artifact can appear as a date near the start of 1900. If that kind of value is allowed through, it can create a fake fiscal year and distort trend sections.
The cleaned approach is to validate the date first, then derive fiscal year from the cleaned date.
Missing destination ZIPs
A missing ZIP can reflect several situations: the information was not collected, was not entered, was not applicable, was lost in processing before the FOIA release, or appears in a duplicate-like record where another row carries the ZIP.
For that reason, analyses that focus on ZIP destinations use only records with usable ZIPs, but overall counts should be clear about whether they describe all subjects or only the subset with usable ZIPs.
This distinction matters for country-focused reporting. A count of all subjects from a country is not the same as a count of subjects from that country with usable destination ZIPs.
Potential duplicates
The source data contains records that can look duplicative. AP treated duplicate handling as an analytical decision, not a simple mechanical cleanup.
The goal was to identify likely duplicate-like groups without accidentally removing valid records or collapsing distinct aggregate records.
The analysis uses a demographic and source-aware key to compare records. That key includes:
source release
arrest date
citizenship
age
gender
subject count
source-unit value, using Border Patrol sector for original rows and field office for May supplement rows
destination ZIP, when assessing exact destination duplicates
Source-unit information matters because the original release and the May supplement use different source fields. In the May supplement, two otherwise similar rows from different field offices should not be treated as the same record.
ZIP-based destination analyses keep one representative record for each demographic key, retained ZIP and subject count when a duplicate-like group has only one retained ZIP.
That avoids turning one apparent record into zero. If two rows are exact copies of one record, or if a missing-ZIP companion row leaves repeated same-ZIP rows after ZIP filtering, keeping one representative better matches the usual intent of deduplication.
The order of operations also matters. Duplicate groups are identified before dropping missing or invalid ZIPs for destination analysis. If rows with missing ZIPs are removed too early, a mixed group can be missed by the duplicate-handling rule and destination counts can be overstated.
Detention and correctional facility ZIPs
The ZIP field is meant to help analyze onward destinations, but some ZIPs may correspond to detention or correctional facilities rather than community destinations.
AP excluded known detention-facility ZIPs from ZIP-based destination analyses. The exclusion list was cleaned using the same basic ZIP principles applied to the main data, including restoring leading zeros where appropriate.
AP also excluded ZIP 11368, which was manually identified as inappropriate for the destination analysis.
Separately, correctional facility reference data was used to identify ZIPs associated with correctional locations. That work required matching facility locations to ZIP areas and using nearest-area matching where a point fell on a boundary or just outside a polygon.
A detention or correctional ZIP can distort an onward-destination analysis if it is treated the same way as a home, sponsor, family, or community destination.
Public ZIP-based findings use an analysis-ready destination ZIP set. That set starts with records that have a cleaned valid ZIP, collapses duplicate-like groups with one retained ZIP to one representative record, and excludes known detention-facility ZIPs and ZIP 11368.
State pages
Each AP-Wide state page focuses on destination ZIPs assigned to that state or Washington, D.C. The state assignment comes from the cleaned destination ZIP and the ZIP reference table.
The tables show ZIP totals and citizenship-by-ZIP counts only when the relevant ZIP-level count meets the 10-migrant public display floor. Users can filter and sort the interactive tables, but any public use should continue to follow the same privacy rule: do not publish a specific ZIP-level count or ZIP-variable combination with fewer than 10 migrants.
Interactive maps on state pages show individual ZIP points only when the ZIP total meets the display floor. ZIPs below the floor may be grouped into anonymous nearby groups only when the grouped total reaches at least 10 migrants and every ZIP in the anonymous group is within 30 miles of the group marker. Low-count ZIPs that cannot be grouped under those conditions are omitted from the map. Anonymous group popups and tooltips show only the combined count, not the member ZIPs.
National state rankings
The national state rankings page compares destination patterns across the 50 states and Washington, D.C. Territories, military ZIP pseudo-state codes, and other non-state postal codes are excluded from these rankings.
The page includes four tables:
total migrants by state
total migrants by citizenship and state
per-capita migrants by state
per-capita migrants by citizenship and state
The citizenship-by-state tables include every state and Washington, D.C., for each citizenship, including zero-count states. That means a filtered view for a specific citizenship remains a complete national state comparison.
The overall state per-capita table is scaled as migrants per 10,000 residents. The citizenship-by-state per-capita table is scaled as migrants per 100,000 residents because many citizenship-state counts are too small for a per-1,000 rate to be readable.
Per-capita analysis
Some AP-Wide report tables compare migrant counts with resident population. For ZIP-level sections, AP used Census ZCTA population estimates as the denominator. For national state rankings, AP used ACS 2019-2023 state-level total population estimates as the denominator.
This measure identifies places where the recorded migrant count was large relative to the size of the local population over the multiyear period. Raw totals tend to elevate already-large places. Per-population rates can also identify smaller or mid-sized communities where recorded destinations were large relative to the existing population. AP used that comparison instead of a year-by-year trend line because it focuses on the scale of recorded destinations in relation to the community rather than on timing shifts that may reflect changes in policy, processing or source-data coverage.
A ZCTA is a Census approximation of ZIP-code geography. It is close enough for many reporting purposes, but it is not identical to a postal ZIP code. That means per-capita ZIP results should be read as ZIP-area comparisons, not exact postal geography.
To avoid rankings driven by tiny denominators, per-capita ZIP sections apply minimum thresholds before ranking ZIPs. The thresholds are intended to keep the focus on places where the numerator and denominator are large enough to support comparison.
Privacy handling for low-count ZIP-level findings
ZIP-level findings can create disclosure risk when very small counts are shown for exact ZIPs or for exact ZIP-variable combinations. That risk is not limited to maps. It also applies to tables, charts, story text and reporter notes that identify a specific ZIP.
The rule is:
ZIP totals with 10 or more migrants can appear in public ZIP-level tables or as individual ZIP points on maps.
ZIP totals with fewer than 10 migrants should not be publicly shown, mapped, named, or written about as specific ZIP-level findings.
Country-ZIP pairs, and other ZIP-variable combinations, should be public only when the subject-weighted count for that exact combination is at least 10 migrants.
In interactive maps, ZIPs with fewer than 10 migrants cannot appear as individual ZIP points.
Low-count ZIPs may be grouped into anonymous nearby ZIP groups only when the combined group reaches at least 10 migrants.
Every ZIP in an anonymous map group must be within 30 miles of the group marker.
Low-count ZIPs that cannot be grouped under those conditions are omitted from the map.
Anonymous map group popups and tooltips show only the combined count, not the member ZIPs.
The 30-mile rule is based on distance between ZIP-area centroids and the anonymous group marker. The group marker is based on a weighted center of the ZIPs in the group.
The maps are designed to show broad geographic patterns without displaying exact ZIP points with counts from 1 to 9. The table filters are designed for the same privacy principle: public ZIP totals and country-ZIP pairs should meet the 10-migrant floor.
What the reports can support
The AP-Wide reports can support questions such as:
Which destination ZIPs were most commonly recorded in a state or Washington, D.C., subject to the 10-migrant display floor?
Which states appeared most often in the destination field?
How did recorded destination patterns vary by citizenship while observing the country-ZIP privacy floor?
Which ZIP areas or states had large recorded counts relative to local population?
How much of a country-specific subset had usable destination ZIPs?
The reports are less suited for questions such as:
Where did migrants ultimately live?
Where did migrants stay long term?
Which sponsors, households, or organizations received migrants?
How many migrants currently live in a given ZIP code?
Broad year-by-year trend claims, especially claims that treat the combined data as a clean time series.
Whether a specific ZIP count reflects community destination, detention, transit or data-entry practice without further reporting.
Suggested wording for stories
Better wording for stories includes:
“CBP records reviewed by AP list [ZIP/state] as the onward destination for…”
“The records represent migrants arrested or encountered at the border from…”
“AP’s public ZIP-level destination findings exclude missing ZIPs and ZIPs tied to detention facilities, and collapse likely duplicate-like groups with one retained ZIP to one representative record.”
“For privacy, AP does not publish ZIP-level counts or country-ZIP pairs with fewer than 10 migrants.”
Avoid wording that overstates the data:
Do not say the ZIP code is where someone ultimately lived unless independently confirmed.
Do not describe this as a count of all migrants, all asylum-seekers or all people released into the United States.
Do not compare January-July 2025 directly with complete years.
Do not use the May OFO supplement for day-by-day timing because its dates appear to be month-coded.
Do not identify a ZIP-level finding when the relevant ZIP total or ZIP-variable count is fewer than 10 migrants.