Skip to content
← All datasets

Median Household Income (ACS)

What a typical household earns in each Georgia community, overall and by race/ethnicity of householder - American Community Survey 5-year medians down to the census-tract level.

Year coverage
20202024
Updated
annual
Version
2.0.0
Schema hash
1a483ec739a8

Detail levels available

StateCounty · defaultDistrict

Overview

Median household income by Census race/ethnicity iteration of householder from the American Community Survey 5-year estimates (table B19013 and its race iterations B19013B-I), for Georgia at state, county, school district, and census tract geography, vintages 2020-2024. Inflation-adjusted dollars with 90 percent margins of error.

Row grain: One row per year, county_fips, district_code, tract_geoid, race_iteration.

Key metric

median_household_incomeMedian Household Income (currency)

The single headline value most answers want.

Variables

Every column in the fact table. The code is the exact field name the API returns.

ColumnTypeUnitRangeNull?Description
yearYearintegernoACS 5-year vintage END year: 2024 covers the pooled 2020-2024 survey period (dollars inflation-adjusted to 2024). Consecutive vintages overlap.
Full description
ACS 5-year vintage END year: 2024 covers the pooled 2020-2024 survey period (dollars inflation-adjusted to 2024). Consecutive vintages overlap.
county_fipsCounty FIPSstringyes5-digit county FIPS code (state 13 + county). Populated only on county-level rows.
Full description
5-digit county FIPS code (state 13 + county). Populated only on county-level rows.

Joins counties; adds its label columns.

district_codeDistrict CodestringyesGCD school district code (FK to the education districts dimension). Populated only on district-level rows - Census unified-school-district estimates mapped onto the ~180 standard districts.
Full description
GCD school district code (FK to the education districts dimension). Populated only on district-level rows - Census unified-school-district estimates mapped onto the ~180 standard districts.

Joins districts; adds its label columns.

tract_geoidTract GEOIDstringyes11-digit census tract GEOID (2020 boundaries). Populated only on tract-level rows.
Full description
11-digit census tract GEOID (2020 boundaries). Populated only on tract-level rows.

Joins tracts; adds its label columns.

race_iterationRace IterationstringnoCensus race-iteration table of the householder; the groups overlap, so never combine them - 'all' is the total.
Full description
Census race-iteration table membership, by race/ethnicity of the householder (topic-specific categorical - NOT the shared demographic axis and no FK to the demographics dimension). 'all' = all households (B19013); 'white' = White alone, not Hispanic or Latino (iteration H); 'hispanic' = Hispanic or Latino of any race (iteration I); 'black', 'native_american', 'asian', 'pacific_islander', 'other', 'multiracial' = the race-alone iterations B-G, which INCLUDE Hispanic householders. The iterations OVERLAP and are NOT mutually exclusive (a Hispanic Black householder is in both 'hispanic' and 'black'), so the rows are never additive and must not be combined across this column.
9 allowed values
  • all — total / aggregate
  • asian
  • black
  • hispanic
  • multiracial
  • native_american
  • other
  • pacific_islander
  • white
median_household_incomeMedian Household IncomeintegercurrencyyesMedian household income, dollars.
Full description
Median household income in the past 12 months, inflation-adjusted to the vintage end year. Censored at both scale ends as published: 250001 means $250,000 or more; 2499 means $2,499 or less. NULL when the source could not compute a median (too few households in the category).
median_household_income_moeMedian Household Income Moeintegercurrencyyes90 percent margin of error for median_household_income, dollars, as published. Never the headline metric.
Full description
90 percent margin of error for median_household_income, dollars, as published. Never the headline metric.

Filters

Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.

ParameterKindAllowed valuesNotes
yearyear_exactany value
year_minyear_rangeany value
year_maxyear_rangeany value
detaildetailcountiesdistrictsstatestractsenum-enforced, default: counties
district_codeforeign_keyany valuemulti-value
county_fipsforeign_keyany valuemulti-value
tract_geoidforeign_keyany valuemulti-value
race_iterationcategorical
9 allowed values
  • all
  • asian
  • black
  • hispanic
  • multiracial
  • native_american
  • other
  • pacific_islander
  • white
multi-value, enum-enforced
district_typedimension_attribute
7 allowed values
  • commission_charter
  • resa
  • standard
  • state_agency
  • state_charter
  • state_school
  • state_special
multi-value, enum-enforced

Example requests

Run these against the base URL — they return live data.

All rows (first page), counties level

curl "https://georgiacivicdata.org/api/v1/census/median_household_income"

counties data for 2024

curl "https://georgiacivicdata.org/api/v1/census/median_household_income?year=2024"

Filtered to race_iteration = asian for 2024

curl "https://georgiacivicdata.org/api/v1/census/median_household_income?year=2024&race_iteration=asian"

One district (code 660), 2024

curl "https://georgiacivicdata.org/api/v1/census/median_household_income?district_code=660&year=2024&detail=districts"

One county (FIPS 13121), 2024

curl "https://georgiacivicdata.org/api/v1/census/median_household_income?county_fips=13121&year=2024&detail=counties"

Download 2024 as CSV

curl "https://georgiacivicdata.org/api/v1/census/median_household_income?year=2024&format=csv"

Notes & limitations

NULL handling

  • Suppressed cells (too few students to report) are NULL, never zero.
  • Zero is a real, reported value.

Limitations

Race/ethnicity of householder is served on the topic-specific race_iteration column, NOT the shared demographic axis, because the Census race-iteration tables OVERLAP: 'white' is White alone NOT Hispanic (B19013H) and 'hispanic' is Hispanic of any race (B19013I), but the remaining groups are race-ALONE iterations (B19013B-G) that INCLUDE Hispanic householders - a Hispanic Black householder is in both 'hispanic' and 'black'. The demographics dimension promises mutually exclusive categories, which these rows cannot honor (the Census publishes no other non-Hispanic income splits), so never combine rows across race_iteration values; 'all' (B19013) is all households and is the default pin. population_by_race (B03002) IS mutually exclusive and stays on demographic. Universe: households; race is the HOUSEHOLDER's. Dollars are inflation-adjusted to each vintage's END year, so cross-vintage comparisons mix different dollars. Medians never sum or average across geographies or categories. Published medians are censored at BOTH scale ends and preserved as-is (see the jam_values listing on the column): 250001 means '$250,000 or more' and 2499 means '$2,499 or less'. A NULL median means the source could not compute one - rare for the 'all' row (about 1 percent of tracts, never at county/state grain) but increasingly common for small race iterations at tract grain (from about 10 percent of tract rows for 'white' to nearly all for 'native_american' and 'pacific_islander'), because a median needs enough sampled households in the group to estimate. ACS 5-year period estimates: the year column is the vintage END year and each estimate pools five years of survey responses (2024 = 2020-2024). Consecutive vintages share about 80% of their sample, so the series is heavily smoothed - never difference overlapping vintages as if they were annual change. Estimates are survey-based and carry 90% margins of error (the *_moe columns); tract-level margins can be large relative to the estimate. All levels serve vintages 2020-2024 only, on 2020-vintage tract boundaries. State rows have NULL county_fips, district_code, and tract_geoid; county rows carry only county_fips, district rows only district_code, tract rows only tract_geoid. District rows cover the ~180 standard (city/county) districts only: the Census publishes school-district estimates at unified school district geography, which has no codes for charter schools, RESAs, or state agencies, and its few Census-only districts (e.g. the Fort Stewart military district) have no GCD district code and are dropped.