GEOAMCAN API / DATASET

IRS SOI ZIP Income API

Published income/tax items by AGI bracket plus published all-income totals. Postal ZIPs are not Census ZCTAs. Explore coverage, source context and a verified API example.

Geographypostal ZIP; tax years 2019–2023
ReleaseTax years 2019–2023
Available records970,320

What you can build

Published income/tax items by AGI bracket plus published all-income totals. Postal ZIPs are not Census ZCTAs. Use this dataset as a sourced input to an application, analytical model or retrieval tool. Retain its native dimensions when joining it with your own records.

Query IRS SOI ZIP Income

The example below is a real bounded request against the available release. Replace the environment variable with your server-side API credential. Review endpoint parameters and response schemas before changing selectors.

Verified API request
curl --fail --get "https://api.geoamcan.com/v1/income/zip?postal_zip=35004&year=2023&agi_bracket=0&limit=1" \
  -H "Authorization: Bearer $GEOAMCAN_API_KEY"

Saved response excerpt

{
  "requested_area": {
    "postal_zip": "35004",
    "state": null,
    "year": 2023,
    "agi_bracket": 0,
    "include_geometry": false
  },
  "data": [
    {
      "year": 2023,
      "state_fips": "01",
      "postal_zip": "35004",
      "agi_bracket": 0,
      "metrics": {
        "N1": 5430,
        "N2": 10200,
        "ELF": 5080,
        "RAC": 940,
        "TCE": 30,
        "PREP": 2490,
        "SCHF": 0,
        "VITA": 20,
        "CPREP": 140,
        "MARS1": 2560,
        "MARS2": 1980,
        "MARS4": 750
      },
      "flags": {
        "missing": {},
        "geography": "postal_zip",
        "count_unit": "source_reported_count",
        "amount_unit": "thousands_USD",
        "source_rounding_and_disclosure_protection": true
      },
      "derived_mean_agi_usd_per_return": 73124.67771639042
    }
  ],
  "availability": {
    "status": "available",
    "dataset": "irs-zip-income"
  },
  "snapshot": {
    "irs-zip-income": {
      "release_id": 93,
      "release": "Tax years 2019–2023 parser v1 job 119",
      "fingerprint": "665309f5d888d9ff171443ef0fa40dc1"
    }
  },
  "returned_count": 1,
  "complete": true,
  "next_offset": null,
  "limitations": [
    "Published income/tax items by AGI bracket plus published all-income totals. Postal ZIPs are not Census ZCTAs."
  ],
  "source_attribution": {
    "irs-zip-income": "Internal Revenue Service — https://www.irs.gov/statistics/soi-tax-stats-individual-income-tax-statistics-zip-code-data-soi"
  },
  "metric_definitions": {
    "N1": {
      "label": "Number of tax returns",
      "unit": "returns"
    },
    "N2": {
      "label": "Number of individuals",
      "unit": "individuals"
    },
    "A00100": {
      "label": "Adjusted gross income",
      "unit": "thousands_USD"
    },
    "A00200": {
      "label": "Wages and salaries",
      "unit": "thousands_USD"
    }
  }
}

Captured 2026-11-03. Excerpt omits pagination credentials and may shorten nested records. Download verified source responses.

Coverage and interpretation

Coverage is limited to published source geographies and releases. Missing, suppressed and unavailable observations must not be treated as zero.

The active release shown here is a catalog snapshot. Check the live catalog and response provenance for current readiness. The underlying public source and Geoamcan access terms are separate; consult the source’s licensing and attribution requirements.

Source and methodology

Source: Internal Revenue Service. Geoamcan is an independent API provider, with no agency affiliation or endorsement. Read our data methodology for source handling, geographic joins and update practices.

Related data

Put this data to work.

Tell us about your application, coverage needs and expected API usage.

Get API access ↗Read integration guides