Pushbuild

IRS Income by ZIP Code API – Tax Return Statistics 2011-2023

IRS individual income tax statistics for every US ZIP code by AGI bracket, tax years 2011-2023: returns, AGI, wages, dividends, capital gains, business income, deductions, credits and tax.

$0.80 per 1,000 records

Get an API key

Example request

POST /irs-income-by-zip/run
{
  "zips": [
    "10001",
    "94105"
  ],
  "maxItems": 20
}

What it returns

IRS individual income tax statistics for every US ZIP code, by adjusted gross income bracket, for tax years 2011 through 2023: number of returns by filing status, people, AGI and average AGI per return, wages, interest, dividends, business income, capital gains, IRA distributions, pensions, Social Security, unemployment, partnership and S-corp income, itemized deductions (state and local taxes, mortgage interest, charity), taxable income, EITC and child tax credit, income tax, total tax liability, refunds and amounts owed. Dollar amounts are in dollars.

Look up ZIP codes, a state's ZIP codes, or rank ZIP codes nationally by average AGI, wages, capital gains, business income, EITC or tax. Pick one tax year, every year for trends, the ZIP total or any of the six AGI brackets.

Source: IRS Statistics of Income ZIP code data, rebuilt yearly. The IRS leaves out ZIP codes with fewer than 100 returns and rounds counts.

Charged per ZIP code row returned.

Request

POST https://api.pushbuild.com/irs-income-by-zip/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
zipslist of stringsFive-digit ZIP codes, e.g. 10001, 94105.
stateslist of stringsTwo-letter state codes. Use with sort to rank a state's ZIP codes.
taxYearinteger2011-2023. Defaults to the latest year.
allYearsbooleanReturn every tax year (for trends) instead of one.
incomeBracketstring: any, all, $1 under $25,000, $25,000 under $50,000, $50,000 under $75,000, $75,000 under $100,000, $100,000 under $200,000, $200,000 or moreall (ZIP total, default), any (every bracket), or one bracket. Default: "all".
minReturnsintegerSkip ZIP codes with fewer returns, useful when ranking.
sortstring: avgAgi, agi, returns, wages, capitalGains, businessIncome, eitc, totalTaxRank by a measure, highest first: avgAgi, agi, returns, wages, capitalGains, businessIncome, eitc, totalTax.
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/irs-income-by-zip/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"zips": ["10001", "94105"], "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 records. 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/irs-income-by-zip. 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.

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

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.

Want this data inside your own app or CRM? API integrations and data sync