Population by Race and Ethnicity (ACS)
How many people live in each Georgia community, broken down by race and ethnicity - American Community Survey 5-year estimates down to the census-tract level.
- 2020–2024
- annual
- 1.0.0
- b2023587a4bb
Overview
Population counts by race and ethnicity from the American Community Survey 5-year estimates (detailed table B03002, Hispanic or Latino Origin by Race), for Georgia at state, county, school district, and census tract geography, vintages 2020-2024. Categories are mutually exclusive (Hispanic of any race plus the not-Hispanic alone groups) and sum exactly to the total, matching the platform's canonical demographic vocabulary.
Row grain: One row per year, county_fips, district_code, tract_geoid, demographic.
population_count — Population Count (count)
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 via the dimension's district_census_id.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 via the dimension's district_census_id. |
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. |
demographic | string | — | — | no | Race/ethnicity category (FK to the demographics dimension). Mutually exclusive B03002 mapping: 'hispanic' is Hispanic or Latino of any race; every other category is the not-Hispanic alone group; 'all' is total population. Categories sum exactly to 'all'.Full description▾Race/ethnicity category (FK to the demographics dimension). Mutually exclusive B03002 mapping: 'hispanic' is Hispanic or Latino of any race; every other category is the not-Hispanic alone group; 'all' is total population. Categories sum exactly to 'all'. 9 allowed values▾
|
population_count | integer | — | yes | Estimated residents in the category.Full description▾ACS 5-year estimate of the number of residents in the demographic category (survey estimate, not a full count - see population_count_moe). | |
population_count_moe | integer | — | yes | 90 percent margin of error for population_count, as published. Never the headline metric.Full description▾90 percent margin of error for population_count, 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.
| 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 |
demographic | foreign_key | 9 allowed values▾
| multi-value, enum-enforced |
district_type | dimension_attribute | 7 allowed values▾
| multi-value, enum-enforced |
demographic_category | dimension_attribute | 12 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/population_by_race"counties data for 2024
curl "https://georgiacivicdata.org/api/v1/census/population_by_race?year=2024"One district (code 660), 2024
curl "https://georgiacivicdata.org/api/v1/census/population_by_race?district_code=660&year=2024&detail=districts"One county (FIPS 13121), 2024
curl "https://georgiacivicdata.org/api/v1/census/population_by_race?county_fips=13121&year=2024&detail=counties"Download 2024 as CSV
curl "https://georgiacivicdata.org/api/v1/census/population_by_race?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 categories are mutually exclusive and sum exactly to the 'all' row: 'hispanic' is Hispanic or Latino of any race, and every other category is the not-Hispanic 'alone' group ('other' = some other race alone; 'multiracial' = two or more races). A NULL population_count_moe next to a present estimate means a controlled estimate (fixed to official population totals, no sampling error published) - it is not suppression of the estimate itself. Census race/ethnicity is self-reported and differs from administrative race capture in school and justice data - related, not equivalent. 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.