# US County Migration API – IRS Moves In and Out of Every County

Households, people and income moving between US counties each year since 2011, from IRS tax return address changes (SOI migration data).

$0.80 per 1,000 flows

[Get an API key](https://pushbuild.com/apis/app/signup?api=us-county-migration)

Example request

```
POST /us-county-migration/run
{
  "county": "Travis",
  "state": "TX",
  "maxItems": 20
}
```

## What it returns

How many households and people moved into or out of any US county each year, where they came from or went, and their total adjusted gross income, from the IRS Statistics of Income migration data, built from address changes on individual tax returns.

Search by county name and state or FIPS code, inbound, outbound or both, for one year or all years since 2011-2012, with a minimum flow size. Each flow has origin and destination county and state, households (returns), people (exemptions), AGI in thousands and AGI per household. Optional summary rows give each county's total in- and out-migration, non-movers and foreign moves.

Source: IRS SOI county-to-county migration files, 2011-2012 through 2022-2023 (a new year appears about two years after the move). Small flows are suppressed by the IRS and folded into "other flows".

Charged per flow returned.

## Request

`POST https://api.pushbuild.com/us-county-migration/run` with a JSON body. Send your key in the `X-API-Key` header.

| Field | Type | Description |
| --- | --- | --- |
| `county` | string | County name or its start, e.g. Travis. Pair with state. |
| `state` | string | Two-letter state of the county, or alone for every county in the state. |
| `countyFips` | list of strings | Five-digit county FIPS codes, e.g. 48453. |
| `direction` | string: inbound, outbound, both | inbound (moved into the county), outbound (moved out) or both. Default: `"inbound"`. |
| `year` | integer | First filing year of the pair, e.g. 2022 for moves between 2022 and 2023 returns. Leave empty for all years. |
| `minPeople` | integer | Smallest flow to return. |
| `includeSummaryRows` | boolean | Also return total, non-migrant, foreign and suppressed other-flow rows. |
| `maxItems` | integer | Maximum items to return (1-500). Default: `100`. |

### Example

```
curl -X POST https://api.pushbuild.com/us-county-migration/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"county": "Travis", "state": "TX", "maxItems": 20}'
```

### Response

```
{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}
```

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

## Pricing

Pay only for results returned: $0.80 per 1,000 flows. No charge for errors or empty searches.

## Use it from Claude, ChatGPT or Cursor

This API is also an MCP server: `https://api.pushbuild.com/mcp/us-county-migration`. Add it to any assistant that supports remote MCP servers, with your key in the `X-API-Key` header. Same prices. [Setup for each app](https://pushbuild.com/apis/mcp.html).

## Related APIs

- [US Federal Civil Cases API](https://pushbuild.com/apis/federal-civil-cases.html): Search every civil case filed in US district courts since 1988 by party, nature of suit, district, dates and outcome, from the Federal Judicial Center's Integrated Database..
- [US Immigration Court Outcomes API](https://pushbuild.com/apis/immigration-court-outcomes.html): Asylum and relief grant rates and case decisions in US immigration courts by fiscal year, court, judge, nationality and case type, from EOIR monthly data..
- [US Place Names API](https://pushbuild.com/apis/usgs-place-names.html): Official US geographic names from USGS GNIS (The National Map gazetteer): cities, towns, census places, summits, ridges, streams, lakes, bridges and historical places with feature class, state, county and coordinates..
- [UniProt API](https://pushbuild.com/apis/uniprot-proteins.html): UniProtKB protein data: search by protein, gene, organism, keyword or accession and get protein name, genes, organism, length, mass, function, subcellular location, associated diseases, PDB structures and Swiss-Prot review status..
- [UN SDG Indicators API](https://pushbuild.com/apis/un-sdg-indicators.html): United Nations Sustainable Development Goals global database: about 700 data series (poverty, hunger, health, education, gender, water, energy, jobs, inequality, climate) with observations by country or region and year, units, nature and source.
- [UK Postcode API](https://pushbuild.com/apis/uk-postcodes.html): Bulk UK postcode lookup with latitude/longitude, district, ward, county, region, constituency, NHS and police areas and deprivation index; reverse geocode coordinates to nearest postcodes; autocomplete partial postcodes; outcode data; terminated postcode detection..

## Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

[hello@pushbuild.com](mailto:hello@pushbuild.com?subject=API%20question)

[(617) 299-8887](tel:+16172998887)

---
As of 2026-11-05. Source: https://pushbuild.com/apis/us-county-migration.html
