Poverty (ACS)
The share of people living below the poverty line in each Georgia community, overall and by race/ethnicity - American Community Survey 5-year estimates down to the census-tract level.
- 2020–2024
- annual
- 2.0.0
- d7561f3e6e26
Overview
Poverty status by Census race/ethnicity iteration from the American Community Survey 5-year estimates (table B17001 and its race iterations B17001B-I), for Georgia at state, county, school district, and census tract geography, vintages 2020-2024: the share of people below the federal poverty line, with the underlying counts and 90 percent margins of error.
Row grain: One row per year, county_fips, district_code, tract_geoid, race_iteration.
poverty_rate — Poverty Rate (proportion)
The single headline value most answers want.
Variables
Every column in the fact table. The code is the exact field name the API returns.
| Column | Type | Unit | Range | Null? | Description |
|---|---|---|---|---|---|
year | integer | — | — | no | ACS 5-year vintage END year: 2024 covers the pooled 2020-2024 survey period. Consecutive vintages overlap.Full description▾ACS 5-year vintage END year: 2024 covers the pooled 2020-2024 survey period. Consecutive vintages overlap. |
county_fips | string | — | — | yes | 5-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. |
district_code | string | — | — | yes | 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.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. |
tract_geoid | string | — | — | yes | 11-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. |
race_iteration | string | — | — | no | Census race-iteration table; the groups overlap, so never sum them - 'all' is the total.Full description▾Census race-iteration table membership (topic-specific categorical - NOT the shared demographic axis and no FK to the demographics dimension). 'all' = the total population with poverty status determined (B17001); '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 members. The iterations OVERLAP and are NOT mutually exclusive (a Hispanic Black person is in both 'hispanic' and 'black'), so the rows never sum to 'all' and must not be added across this column. 9 allowed values▾
|
poverty_rate | number | — | yes | Share below the federal poverty line.Full description▾People below the federal poverty line as a share of those with poverty status determined (0-1), derived as num_below_poverty / num_poverty_universe. NULL when the category's universe is empty in the geography. Not the same construct as school data's 'economically disadvantaged'. | |
poverty_rate_moe | number | — | yes | 90 percent margin of error for poverty_rate, derived from the published count margins with the Census ratio formula: the subtraction form, with the Census addition-form fallback whenever the radicand is not positive, so a served margin is always greater than zero. Never the headline metric.Full description▾90 percent margin of error for poverty_rate, derived from the published count margins with the Census ratio formula: the subtraction form, with the Census addition-form fallback whenever the radicand is not positive, so a served margin is always greater than zero. Never the headline metric. | |
num_below_poverty | integer | — | yes | People with income below the poverty level in the past 12 months (ACS estimate) - the rate's numerator.Full description▾People with income below the poverty level in the past 12 months (ACS estimate) - the rate's numerator. | |
num_below_poverty_moe | integer | — | yes | 90 percent margin of error for num_below_poverty, as published.Full description▾90 percent margin of error for num_below_poverty, as published. | |
num_poverty_universe | integer | — | yes | Population for whom poverty status is determined (ACS estimate) - the rate's denominator. Excludes most group quarters (dorms, prisons, barracks).Full description▾Population for whom poverty status is determined (ACS estimate) - the rate's denominator. Excludes most group quarters (dorms, prisons, barracks). | |
num_poverty_universe_moe | integer | — | yes | 90 percent margin of error for num_poverty_universe, as published.Full description▾90 percent margin of error for num_poverty_universe, as published. |
Filters
Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.
| Parameter | Kind | Allowed values | Notes |
|---|---|---|---|
year | year_exact | any value | — |
year_min | year_range | any value | — |
year_max | year_range | any value | — |
detail | detail | countiesdistrictsstatestracts | enum-enforced, default: counties |
district_code | foreign_key | any value | multi-value |
county_fips | foreign_key | any value | multi-value |
tract_geoid | foreign_key | any value | multi-value |
race_iteration | categorical | 9 allowed values▾
| multi-value, enum-enforced |
district_type | dimension_attribute | 7 allowed values▾
| 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/poverty"counties data for 2024
curl "https://georgiacivicdata.org/api/v1/census/poverty?year=2024"Filtered to race_iteration = asian for 2024
curl "https://georgiacivicdata.org/api/v1/census/poverty?year=2024&race_iteration=asian"One district (code 660), 2024
curl "https://georgiacivicdata.org/api/v1/census/poverty?district_code=660&year=2024&detail=districts"One county (FIPS 13121), 2024
curl "https://georgiacivicdata.org/api/v1/census/poverty?county_fips=13121&year=2024&detail=counties"Download 2024 as CSV
curl "https://georgiacivicdata.org/api/v1/census/poverty?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 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 (B17001H) and 'hispanic' is Hispanic of any race (B17001I), but the remaining groups are race-ALONE iterations (B17001B-G) that INCLUDE Hispanic members - a Hispanic Black person is counted in both 'hispanic' and 'black'. The demographics dimension promises mutually exclusive categories, which these rows cannot honor (the Census publishes no other non-Hispanic poverty splits), so the split below-poverty counts never sum to the 'all' row and must not be added across race_iteration values; 'all' (B17001) is the total population and is the default pin. population_by_race (B03002) IS mutually exclusive and stays on demographic. Universe: the population for whom poverty status is determined, which EXCLUDES most group quarters (college dorms, prisons, military barracks) - material in counties with large institutional populations. A NULL poverty_rate at tract grain almost always means the race iteration has no poverty-determined members in that tract (a zero universe - a true absence, not suppression); the universe count on the row says which. ACS poverty is NOT the same construct as GOSA's 'economically disadvantaged' (a program-eligibility flag) - related, not equivalent. poverty_rate_moe is derived from the published count margins with the Census ratio formula (addition-form fallback whenever the subtraction form's radicand is not positive, so a served margin is never zero); a degenerate small-sample margin above 1.0 is set to NULL. 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.