Skip to content

📊 census

U.S. Census Bureau demographic and population data including American Community Survey (ACS) estimates, decennial census results, and population estimates. Provides comprehensive demographic profiles, household characteristics, income distributions, educational attainment, housing statistics, and migration patterns at national, state, and county levels.

57 datasets · 870 columns

population_summary · table

State-level population summary showing total, male, and female population by year. Aggregates data from acs_population table.

View — columns are resolved by the query engine at runtime.

income_summary · table

State-level median household income and per capita income by year, from the ACS 5-Year acs_income table — about 2 years behind the current year. For a more current, single-year state estimate query acs1_income directly (no equivalent view exists for it yet).

View — columns are resolved by the query engine at runtime.

poverty_rate · table

State-level poverty rates calculated from poverty universe and below poverty level counts. Shows percentage of population below poverty level.

View — columns are resolved by the query engine at runtime.

education_attainment · table

State-level educational attainment showing population with high school diploma, bachelor's degree, master's degree, and doctorate. Includes percentages, all as a share of pop_25_plus (population 25 and over). bachelors_rate_pct is bachelor's degree ONLY (ACS B15003_022) and excludes anyone whose highest degree is a master's, professional, or doctorate — it is NOT the "bachelor's degree or higher" rate that external benchmarks usually report. advanced_degree_pct is master's plus doctorate only (professional-school degrees, B15003_024, are not ingested). hs_rate_pct is regular high school diploma only, excluding GED/equivalency. To approximate "bachelor's or higher", use bachelors_rate_pct + advanced_degree_pct, which omits professional degrees and therefore understates the standard figure.

View — columns are resolved by the query engine at runtime.

unemployment_rate · table

State-level unemployment rates calculated from labor force and unemployed population. Shows labor force participation and unemployment percentages. Source is the ACS 5-Year survey (table B23025, via acs_employment): each row is a rolling 5-year estimate ending in "year", not a single-year annual rate, so values will differ from BLS LAUS annual or monthly unemployment rates (econ.regional_employment). Use this view for ACS-consistent comparisons with other census tables; use the econ BLS tables for the official annual rate.

View — columns are resolved by the query engine at runtime.

county_vulnerability_profile · table

County-year social vulnerability profile combining ACS poverty rate (acs_poverty), senior/under-5 population share (acs_age), disability rate (acs_disability), and Spanish-limited-English-proficiency rate (acs_language) — the socioeconomic, household, and language themes of the CDC/ATSDR Social Vulnerability Index. limited_english_pct covers Spanish speakers with limited English proficiency only; acs_language has no combined-language limited-English-proficiency total. Enriched with a cross-schema join to disasters.disaster_declarations for lifetime (not year-matched) declaration and Individual-Assistance counts per county, since FEMA declarations are point-in-time events that don't line up with the ACS 5-year survey vintage. One row per county per ACS 5-year vintage.

View — columns are resolved by the query engine at runtime.

acs_population · table

American Community Survey population demographics including total population, age, sex, race, and ethnicity. Provides population counts at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_population long yes Total population
male_population long yes Male population
female_population long yes Female population

acs_income · table

Household median income and per capita income from the ACS 5-Year survey, at state and county levels. A smoothed 5-year period estimate, published about 2 years behind the current year. For a more current but state-only, single-year estimate (wider margin of error) see acs1_income.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
median_household_income long yes Median household income in the past 12 months
per_capita_income long yes Per capita income in the past 12 months

acs_housing · table

Housing unit counts, occupancy status (occupied/vacant), median home value, and median gross rent from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_housing_units long yes Total housing units
occupied_units long yes Occupied housing units
vacant_units long yes Vacant housing units
median_home_value long yes Median value of owner-occupied housing units
median_rent long yes Median gross rent

acs_education · table

Educational attainment counts for population 25 and over from the ACS 5-Year survey, at state and county levels — population 25+, high school diploma, bachelor's degree, master's degree, and doctorate. See the education_attainment view for derived rate percentages.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
pop_25_plus long yes Total population 25 years and over
hs_graduate long yes Regular high school diploma (excludes GED/equivalency)
bachelors long yes Bachelor's degree only (excludes higher degrees)
masters long yes Master's degree
doctorate long yes Doctorate degree

acs_employment · table

Labor force status counts (civilian labor force, employed, unemployed, not in labor force) from the ACS 5-Year survey, at state and county levels. Raw counts only — see the unemployment_rate view for derived unemployment and labor-force-participation percentages.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
labor_force long yes Civilian labor force (population 16 years and over)
employed long yes Employed (civilian labor force)
unemployed long yes Unemployed (civilian labor force)
not_in_labor_force long yes Not in labor force

acs_poverty · table

Poverty universe (population for whom poverty status is determined) and count below poverty level from the ACS 5-Year survey, at state and county levels. Raw counts only, with no demographic breakdown — see the poverty_rate view for the derived poverty percentage.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
poverty_universe long yes Population for whom poverty status is determined (excludes institutionalized, military, unrelated children under 15)
below_poverty long yes Income below poverty level in past 12 months

decennial_population · table

Decennial Census total population plus White/Black/Asian-alone race counts, at state and county levels, for census years 2000, 2010, and 2020 (every 10 years). Unified schema across all years with columns normalized to canonical names regardless of year-specific API variable codes (P001001 vs P1_001N, etc.).

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_population long yes Total population
white_alone long yes Population identifying as White alone
black_alone long yes Population identifying as Black or African American alone
asian_alone long yes Population identifying as Asian alone

acs_race_ethnicity · table

Population counts by race (White, Black, American Indian/Alaska Native, Asian, Pacific Islander, other, two-or-more) and by Hispanic/Latino origin, from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
white_alone long yes White alone
white_alone_moe bigint yes 90% CI margin of error for white_alone (Census variable B02001_002M; negative sentinels normalized to null)
black_alone long yes Black or African American alone
black_alone_moe bigint yes 90% CI margin of error for black_alone (Census variable B02001_003M; negative sentinels normalized to null)
american_indian_alone long yes American Indian and Alaska Native alone
american_indian_alone_moe bigint yes 90% CI margin of error for american_indian_alone (Census variable B02001_004M; negative sentinels normalized to null)
asian_alone long yes Asian alone
asian_alone_moe bigint yes 90% CI margin of error for asian_alone (Census variable B02001_005M; negative sentinels normalized to null)
pacific_islander_alone long yes Native Hawaiian and Other Pacific Islander alone
pacific_islander_alone_moe bigint yes 90% CI margin of error for pacific_islander_alone (Census variable B02001_006M; negative sentinels normalized to null)
other_race_alone long yes Some other race alone
other_race_alone_moe bigint yes 90% CI margin of error for other_race_alone (Census variable B02001_007M; negative sentinels normalized to null)
two_or_more_races long yes Two or more races
two_or_more_races_moe bigint yes 90% CI margin of error for two_or_more_races (Census variable B02001_008M; negative sentinels normalized to null)
hispanic_latino long yes Hispanic or Latino origin (any race)
hispanic_latino_moe bigint yes 90% CI margin of error for hispanic_latino (Census variable B03003_003M; negative sentinels normalized to null)
not_hispanic_latino long yes Not Hispanic or Latino
not_hispanic_latino_moe bigint yes 90% CI margin of error for not_hispanic_latino (Census variable B03003_002M; negative sentinels normalized to null)

acs_age · table

Median age and population counts by age bracket (under 5, 5-17, 18-64, 65+) from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
median_age double yes Median age
median_age_moe double yes 90% CI margin of error for median_age (Census variable B01002_001M; negative sentinels normalized to null)
under_5_years long yes Population under 5 years
age_5_to_17 long yes Population 5 to 17 years (school age)
age_18_to_64 long yes Working age population 18 to 64
age_65_and_over long yes Senior population 65 years and over

acs_commuting · table

Commute mode counts (drove alone, carpooled, public transit, walked, bicycled, worked from home) and mean travel time to work, from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_workers long yes Total workers 16 years and over
total_workers_moe bigint yes 90% CI margin of error for total_workers (Census variable B08301_001M; negative sentinels normalized to null)
drove_alone long yes Workers who drove alone
drove_alone_moe bigint yes 90% CI margin of error for drove_alone (Census variable B08301_003M; negative sentinels normalized to null)
carpooled long yes Workers who carpooled
carpooled_moe bigint yes 90% CI margin of error for carpooled (Census variable B08301_004M; negative sentinels normalized to null)
public_transit long yes Workers using public transportation
public_transit_moe bigint yes 90% CI margin of error for public_transit (Census variable B08301_010M; negative sentinels normalized to null)
walked long yes Workers who walked to work
walked_moe bigint yes 90% CI margin of error for walked (Census variable B08301_019M; negative sentinels normalized to null)
bicycle long yes Workers who bicycled to work
bicycle_moe bigint yes 90% CI margin of error for bicycle (Census variable B08301_018M; negative sentinels normalized to null)
worked_from_home long yes Workers who worked from home
worked_from_home_moe bigint yes 90% CI margin of error for worked_from_home (Census variable B08301_021M; negative sentinels normalized to null)
mean_travel_time double yes Mean travel time to work (minutes)
mean_travel_time_moe double yes 90% CI margin of error for mean_travel_time (Census variable B08135_001M; negative sentinels normalized to null)

acs_health_insurance · table

Health insurance coverage counts (with/without coverage, public, private) from the ACS 5-Year survey, at state and county levels. Raw counts, not rates, and not broken out by age (age groups are summed into the totals).

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_population long yes Total civilian noninstitutionalized population
total_population_moe bigint yes 90% CI margin of error for total_population (Census variable B27001_001M; negative sentinels normalized to null)
with_health_insurance long yes Population with health insurance coverage
no_health_insurance long yes Population without health insurance coverage
public_coverage long yes Population with public health insurance
public_coverage_moe bigint yes 90% CI margin of error for public_coverage (Census variable B27003_004M; negative sentinels normalized to null)
private_coverage long yes Population with private health insurance
private_coverage_moe bigint yes 90% CI margin of error for private_coverage (Census variable B27002_004M; negative sentinels normalized to null)

acs_language · table

Population 5+ counts by language spoken at home (English only, Spanish, Spanish with limited English proficiency, other Indo-European, Asian/Pacific Island, other), from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
population_5_plus long yes Population 5 years and over
population_5_plus_moe bigint yes 90% CI margin of error for population_5_plus (Census variable B16001_001M; negative sentinels normalized to null)
english_only long yes Speak only English at home
english_only_moe bigint yes 90% CI margin of error for english_only (Census variable B16001_002M; negative sentinels normalized to null)
spanish long yes Speak Spanish at home
spanish_moe bigint yes 90% CI margin of error for spanish (Census variable B16001_003M; negative sentinels normalized to null)
spanish_limited_english long yes Speak Spanish, limited English proficiency
spanish_limited_english_moe bigint yes 90% CI margin of error for spanish_limited_english (Census variable B16001_005M; negative sentinels normalized to null)
other_indo_european long yes Speak other Indo-European language
other_indo_european_moe bigint yes 90% CI margin of error for other_indo_european (Census variable B16001_006M; negative sentinels normalized to null)
asian_pacific_languages long yes Speak Asian and Pacific Island languages
asian_pacific_languages_moe bigint yes 90% CI margin of error for asian_pacific_languages (Census variable B16001_009M; negative sentinels normalized to null)
other_languages long yes Speak other languages
other_languages_moe bigint yes 90% CI margin of error for other_languages (Census variable B16001_012M; negative sentinels normalized to null)

acs_disability · table

Population counts with any disability and by disability type (hearing, vision, cognitive, ambulatory), from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_population long yes Total civilian noninstitutionalized population
total_population_moe bigint yes 90% CI margin of error for total_population (Census variable B18101_001M; negative sentinels normalized to null)
with_disability long yes Population with a disability
hearing_difficulty long yes Population with hearing difficulty
hearing_difficulty_moe bigint yes 90% CI margin of error for hearing_difficulty (Census variable B18102_004M; negative sentinels normalized to null)
vision_difficulty long yes Population with vision difficulty
vision_difficulty_moe bigint yes 90% CI margin of error for vision_difficulty (Census variable B18103_004M; negative sentinels normalized to null)
cognitive_difficulty long yes Population with cognitive difficulty
cognitive_difficulty_moe bigint yes 90% CI margin of error for cognitive_difficulty (Census variable B18104_004M; negative sentinels normalized to null)
ambulatory_difficulty long yes Population with ambulatory difficulty
ambulatory_difficulty_moe bigint yes 90% CI margin of error for ambulatory_difficulty (Census variable B18105_004M; negative sentinels normalized to null)

acs_veterans · table

Veteran and nonveteran population counts, with a male/female veteran breakdown, from the ACS 5-Year survey, at state and county levels. No breakdown by period of service or employment status — see acs_veterans_by_period and acs_veterans_employment.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
civilian_population_18_plus long yes Civilian population 18 years and over
civilian_population_18_plus_moe bigint yes 90% CI margin of error for civilian_population_18_plus (Census variable B21001_001M; negative sentinels normalized to null)
veterans long yes Veteran population
veterans_moe bigint yes 90% CI margin of error for veterans (Census variable B21001_002M; negative sentinels normalized to null)
nonveterans long yes Nonveteran population
nonveterans_moe bigint yes 90% CI margin of error for nonveterans (Census variable B21001_003M; negative sentinels normalized to null)
male_veterans long yes Male veterans
male_veterans_moe bigint yes 90% CI margin of error for male_veterans (Census variable B21001_005M; negative sentinels normalized to null)
female_veterans long yes Female veterans
female_veterans_moe bigint yes 90% CI margin of error for female_veterans (Census variable B21001_023M; negative sentinels normalized to null)

acs_veterans_by_period · table

Civilian veterans 18 years and over broken down by period of military service (Gulf War II/post-9/11, Gulf War I, Vietnam era, Korean War, World War II, and the between-conflict gaps), from ACS table B21002, at state and county levels. Complements acs_veterans (total veteran/nonveteran counts, no period breakdown).

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
veterans_with_period_reported long yes Civilian veterans 18 years and over with period of service classified
veterans_with_period_reported_moe bigint yes 90% CI margin of error for veterans_with_period_reported (Census variable B21002_001M; negative sentinels normalized to null)
gulf_war_ii_only long yes Gulf War II (9/2001 or later) only, no Gulf War I, no Vietnam era — the post-9/11/recently-separated cohort
gulf_war_ii_only_moe bigint yes 90% CI margin of error for gulf_war_ii_only (Census variable B21002_002M; negative sentinels normalized to null)
gulf_war_ii_and_gulf_war_i long yes Gulf War II and Gulf War I (8/1990-8/2001), no Vietnam era
gulf_war_ii_and_gulf_war_i_moe bigint yes 90% CI margin of error for gulf_war_ii_and_gulf_war_i (Census variable B21002_003M; negative sentinels normalized to null)
gulf_war_ii_and_gulf_war_i_and_vietnam long yes Gulf War II, Gulf War I, and Vietnam era, all three
gulf_war_ii_and_gulf_war_i_and_vietnam_moe bigint yes 90% CI margin of error for gulf_war_ii_and_gulf_war_i_and_vietnam (Census variable B21002_004M; negative sentinels normalized to null)
gulf_war_i_only long yes Gulf War I (8/1990-8/2001) only, no Vietnam era
gulf_war_i_only_moe bigint yes 90% CI margin of error for gulf_war_i_only (Census variable B21002_005M; negative sentinels normalized to null)
gulf_war_i_and_vietnam long yes Gulf War I and Vietnam era
gulf_war_i_and_vietnam_moe bigint yes 90% CI margin of error for gulf_war_i_and_vietnam (Census variable B21002_006M; negative sentinels normalized to null)
vietnam_era_only long yes Vietnam era only, no Korean War, no World War II
vietnam_era_only_moe bigint yes 90% CI margin of error for vietnam_era_only (Census variable B21002_007M; negative sentinels normalized to null)
vietnam_era_and_korean_war long yes Vietnam era and Korean War, no World War II
vietnam_era_and_korean_war_moe bigint yes 90% CI margin of error for vietnam_era_and_korean_war (Census variable B21002_008M; negative sentinels normalized to null)
vietnam_era_and_korean_war_and_wwii long yes Vietnam era, Korean War, and World War II, all three
vietnam_era_and_korean_war_and_wwii_moe bigint yes 90% CI margin of error for vietnam_era_and_korean_war_and_wwii (Census variable B21002_009M; negative sentinels normalized to null)
korean_war_only long yes Korean War only, no Vietnam era, no World War II
korean_war_only_moe bigint yes 90% CI margin of error for korean_war_only (Census variable B21002_010M; negative sentinels normalized to null)
korean_war_and_wwii long yes Korean War and World War II, no Vietnam era
korean_war_and_wwii_moe bigint yes 90% CI margin of error for korean_war_and_wwii (Census variable B21002_011M; negative sentinels normalized to null)
wwii_only long yes World War II only, no Korean War, no Vietnam era
wwii_only_moe bigint yes 90% CI margin of error for wwii_only (Census variable B21002_012M; negative sentinels normalized to null)
between_gulf_war_and_vietnam_only long yes Served between the Gulf War and Vietnam eras only (no named conflict)
between_gulf_war_and_vietnam_only_moe bigint yes 90% CI margin of error for between_gulf_war_and_vietnam_only (Census variable B21002_013M; negative sentinels normalized to null)
between_vietnam_and_korean_war_only long yes Served between the Vietnam and Korean War eras only (no named conflict)
between_vietnam_and_korean_war_only_moe bigint yes 90% CI margin of error for between_vietnam_and_korean_war_only (Census variable B21002_014M; negative sentinels normalized to null)
between_korean_war_and_wwii_only long yes Served between the Korean War and World War II eras only (no named conflict)
between_korean_war_and_wwii_only_moe bigint yes 90% CI margin of error for between_korean_war_and_wwii_only (Census variable B21002_015M; negative sentinels normalized to null)
pre_wwii_only long yes Served before World War II only
pre_wwii_only_moe bigint yes 90% CI margin of error for pre_wwii_only (Census variable B21002_016M; negative sentinels normalized to null)

acs_veterans_employment · table

Civilian population 18 to 64 years by veteran status, age group (18-34, 35-54, 55-64) and labor force status (in labor force / employed / unemployed / not in labor force), from ACS table B21005, at state and county levels. Complements acs_veterans (population counts, no labor force breakdown) — unemployment rate by veteran status is unemployed / in_labor_force for the matching age group and veteran status. Estimates are carried for every cell; margins of error only for the in-labor-force and unemployed cells, because the Census API limits one request to 50 variables.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
population_18_to_64 long yes Civilian population 18 to 64 years
population_18_to_34 long yes Civilian population 18 to 34 years
veterans_18_to_34 long yes Veterans, 18 to 34 years
veterans_18_to_34_in_labor_force long yes Veterans, 18 to 34 years, in labor force
veterans_18_to_34_in_labor_force_moe bigint yes 90% CI margin of error for veterans_18_to_34_in_labor_force (Census variable B21005_004M; negative sentinels normalized to null)
veterans_18_to_34_employed long yes Veterans, 18 to 34 years, in labor force, employed
veterans_18_to_34_unemployed long yes Veterans, 18 to 34 years, in labor force, unemployed
veterans_18_to_34_unemployed_moe bigint yes 90% CI margin of error for veterans_18_to_34_unemployed (Census variable B21005_006M; negative sentinels normalized to null)
veterans_18_to_34_not_in_labor_force long yes Veterans, 18 to 34 years, not in labor force
nonveterans_18_to_34 long yes Nonveterans, 18 to 34 years
nonveterans_18_to_34_in_labor_force long yes Nonveterans, 18 to 34 years, in labor force
nonveterans_18_to_34_in_labor_force_moe bigint yes 90% CI margin of error for nonveterans_18_to_34_in_labor_force (Census variable B21005_009M; negative sentinels normalized to null)
nonveterans_18_to_34_employed long yes Nonveterans, 18 to 34 years, in labor force, employed
nonveterans_18_to_34_unemployed long yes Nonveterans, 18 to 34 years, in labor force, unemployed
nonveterans_18_to_34_unemployed_moe bigint yes 90% CI margin of error for nonveterans_18_to_34_unemployed (Census variable B21005_011M; negative sentinels normalized to null)
nonveterans_18_to_34_not_in_labor_force long yes Nonveterans, 18 to 34 years, not in labor force
population_35_to_54 long yes Civilian population 35 to 54 years
veterans_35_to_54 long yes Veterans, 35 to 54 years
veterans_35_to_54_in_labor_force long yes Veterans, 35 to 54 years, in labor force
veterans_35_to_54_in_labor_force_moe bigint yes 90% CI margin of error for veterans_35_to_54_in_labor_force (Census variable B21005_015M; negative sentinels normalized to null)
veterans_35_to_54_employed long yes Veterans, 35 to 54 years, in labor force, employed
veterans_35_to_54_unemployed long yes Veterans, 35 to 54 years, in labor force, unemployed
veterans_35_to_54_unemployed_moe bigint yes 90% CI margin of error for veterans_35_to_54_unemployed (Census variable B21005_017M; negative sentinels normalized to null)
veterans_35_to_54_not_in_labor_force long yes Veterans, 35 to 54 years, not in labor force
nonveterans_35_to_54 long yes Nonveterans, 35 to 54 years
nonveterans_35_to_54_in_labor_force long yes Nonveterans, 35 to 54 years, in labor force
nonveterans_35_to_54_in_labor_force_moe bigint yes 90% CI margin of error for nonveterans_35_to_54_in_labor_force (Census variable B21005_020M; negative sentinels normalized to null)
nonveterans_35_to_54_employed long yes Nonveterans, 35 to 54 years, in labor force, employed
nonveterans_35_to_54_unemployed long yes Nonveterans, 35 to 54 years, in labor force, unemployed
nonveterans_35_to_54_unemployed_moe bigint yes 90% CI margin of error for nonveterans_35_to_54_unemployed (Census variable B21005_022M; negative sentinels normalized to null)
nonveterans_35_to_54_not_in_labor_force long yes Nonveterans, 35 to 54 years, not in labor force
population_55_to_64 long yes Civilian population 55 to 64 years
veterans_55_to_64 long yes Veterans, 55 to 64 years
veterans_55_to_64_in_labor_force long yes Veterans, 55 to 64 years, in labor force
veterans_55_to_64_in_labor_force_moe bigint yes 90% CI margin of error for veterans_55_to_64_in_labor_force (Census variable B21005_026M; negative sentinels normalized to null)
veterans_55_to_64_employed long yes Veterans, 55 to 64 years, in labor force, employed
veterans_55_to_64_unemployed long yes Veterans, 55 to 64 years, in labor force, unemployed
veterans_55_to_64_unemployed_moe bigint yes 90% CI margin of error for veterans_55_to_64_unemployed (Census variable B21005_028M; negative sentinels normalized to null)
veterans_55_to_64_not_in_labor_force long yes Veterans, 55 to 64 years, not in labor force
nonveterans_55_to_64 long yes Nonveterans, 55 to 64 years
nonveterans_55_to_64_in_labor_force long yes Nonveterans, 55 to 64 years, in labor force
nonveterans_55_to_64_in_labor_force_moe bigint yes 90% CI margin of error for nonveterans_55_to_64_in_labor_force (Census variable B21005_031M; negative sentinels normalized to null)
nonveterans_55_to_64_employed long yes Nonveterans, 55 to 64 years, in labor force, employed
nonveterans_55_to_64_unemployed long yes Nonveterans, 55 to 64 years, in labor force, unemployed
nonveterans_55_to_64_unemployed_moe bigint yes 90% CI margin of error for nonveterans_55_to_64_unemployed (Census variable B21005_033M; negative sentinels normalized to null)
nonveterans_55_to_64_not_in_labor_force long yes Nonveterans, 55 to 64 years, not in labor force

acs_migration · table

Population counts by prior-year residence (same house, moved within county, moved from a different county in the same state, moved from a different state, moved from abroad), from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
population_1_year_plus long yes Population 1 year and over
population_1_year_plus_moe bigint yes 90% CI margin of error for population_1_year_plus (Census variable B07001_001M; negative sentinels normalized to null)
same_house long yes Same house 1 year ago
same_house_moe bigint yes 90% CI margin of error for same_house (Census variable B07001_017M; negative sentinels normalized to null)
moved_within_county long yes Moved within same county
moved_within_county_moe bigint yes 90% CI margin of error for moved_within_county (Census variable B07001_033M; negative sentinels normalized to null)
moved_from_different_county_same_state long yes Moved from different county, same state
moved_from_different_county_same_state_moe bigint yes 90% CI margin of error for moved_from_different_county_same_state (Census variable B07001_049M; negative sentinels normalized to null)
moved_from_different_state long yes Moved from different state
moved_from_different_state_moe bigint yes 90% CI margin of error for moved_from_different_state (Census variable B07001_065M; negative sentinels normalized to null)
moved_from_abroad long yes Moved from abroad
moved_from_abroad_moe bigint yes 90% CI margin of error for moved_from_abroad (Census variable B07001_081M; negative sentinels normalized to null)

acs_occupation · table

Employed civilian population counts by broad occupation category (management/business/ science/arts, service, sales/office, natural resources/construction/maintenance, production/transportation/moving), from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_employed long yes Total employed civilian population 16+
total_employed_moe bigint yes 90% CI margin of error for total_employed (Census variable C24010_001M; negative sentinels normalized to null)
management_business_science_arts long yes Management, business, science, and arts occupations
management_business_science_arts_moe bigint yes 90% CI margin of error for management_business_science_arts (Census variable C24010_003M; negative sentinels normalized to null)
service_occupations long yes Service occupations
service_occupations_moe bigint yes 90% CI margin of error for service_occupations (Census variable C24010_019M; negative sentinels normalized to null)
sales_office long yes Sales and office occupations
sales_office_moe bigint yes 90% CI margin of error for sales_office (Census variable C24010_027M; negative sentinels normalized to null)
natural_resources_construction_maintenance long yes Natural resources, construction, and maintenance occupations
natural_resources_construction_maintenance_moe bigint yes 90% CI margin of error for natural_resources_construction_maintenance (Census variable C24010_030M; negative sentinels normalized to null)
production_transportation_moving long yes Production, transportation, and material moving occupations
production_transportation_moving_moe bigint yes 90% CI margin of error for production_transportation_moving (Census variable C24010_037M; negative sentinels normalized to null)

acs_industry · table

Employed civilian population counts across 13 broad industry sectors (agriculture, construction, manufacturing, trade, transportation, information, finance, professional services, education/health, arts/entertainment, other services, public administration), from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_employed long yes Total employed civilian population 16+
total_employed_moe bigint yes 90% CI margin of error for total_employed (Census variable C24030_001M; negative sentinels normalized to null)
agriculture_forestry_mining long yes Agriculture, forestry, fishing, hunting, and mining
agriculture_forestry_mining_moe bigint yes 90% CI margin of error for agriculture_forestry_mining (Census variable C24030_003M; negative sentinels normalized to null)
construction long yes Construction
construction_moe bigint yes 90% CI margin of error for construction (Census variable C24030_006M; negative sentinels normalized to null)
manufacturing long yes Manufacturing
manufacturing_moe bigint yes 90% CI margin of error for manufacturing (Census variable C24030_007M; negative sentinels normalized to null)
wholesale_trade long yes Wholesale trade
wholesale_trade_moe bigint yes 90% CI margin of error for wholesale_trade (Census variable C24030_008M; negative sentinels normalized to null)
retail_trade long yes Retail trade
retail_trade_moe bigint yes 90% CI margin of error for retail_trade (Census variable C24030_009M; negative sentinels normalized to null)
transportation_utilities long yes Transportation and warehousing, and utilities
transportation_utilities_moe bigint yes 90% CI margin of error for transportation_utilities (Census variable C24030_010M; negative sentinels normalized to null)
information long yes Information
information_moe bigint yes 90% CI margin of error for information (Census variable C24030_013M; negative sentinels normalized to null)
finance_insurance_real_estate long yes Finance and insurance, and real estate
finance_insurance_real_estate_moe bigint yes 90% CI margin of error for finance_insurance_real_estate (Census variable C24030_014M; negative sentinels normalized to null)
professional_scientific_management long yes Professional, scientific, management, admin, and waste management
professional_scientific_management_moe bigint yes 90% CI margin of error for professional_scientific_management (Census variable C24030_017M; negative sentinels normalized to null)
educational_healthcare_social long yes Educational services, health care, and social assistance
educational_healthcare_social_moe bigint yes 90% CI margin of error for educational_healthcare_social (Census variable C24030_021M; negative sentinels normalized to null)
arts_entertainment_recreation_food long yes Arts, entertainment, recreation, accommodation, and food services
arts_entertainment_recreation_food_moe bigint yes 90% CI margin of error for arts_entertainment_recreation_food (Census variable C24030_024M; negative sentinels normalized to null)
other_services long yes Other services (except public administration)
other_services_moe bigint yes 90% CI margin of error for other_services (Census variable C24030_027M; negative sentinels normalized to null)
public_administration long yes Public administration
public_administration_moe bigint yes 90% CI margin of error for public_administration (Census variable C24030_028M; negative sentinels normalized to null)

acs_internet · table

Household counts with/without an internet subscription and with/without a computer, plus a with-broadband count (no corresponding without-broadband column), from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_households long yes Total households
total_households_moe bigint yes 90% CI margin of error for total_households (Census variable B28002_001M; negative sentinels normalized to null)
with_internet long yes Households with an internet subscription
with_internet_moe bigint yes 90% CI margin of error for with_internet (Census variable B28002_002M; negative sentinels normalized to null)
with_broadband long yes Households with broadband internet
with_broadband_moe bigint yes 90% CI margin of error for with_broadband (Census variable B28002_004M; negative sentinels normalized to null)
no_internet long yes Households without internet access
no_internet_moe bigint yes 90% CI margin of error for no_internet (Census variable B28002_013M; negative sentinels normalized to null)
with_computer long yes Households with a computer
with_computer_moe bigint yes 90% CI margin of error for with_computer (Census variable B28001_002M; negative sentinels normalized to null)
no_computer long yes Households without a computer
no_computer_moe bigint yes 90% CI margin of error for no_computer (Census variable B28001_011M; negative sentinels normalized to null)

acs_vehicle_access · table

Household counts by vehicle availability (no vehicle available vs. total households), from the ACS 5-Year survey table B08201 (Household Size by Vehicles Available), at state and county levels. no_vehicle_households / total_households is the standard "vehicle access" deprivation rate used alongside broadband (acs_internet) as a transportation/isolation proxy.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_households long yes Total households
total_households_moe bigint yes 90% CI margin of error for total_households (Census variable B08201_001M; negative sentinels normalized to null)
no_vehicle_households long yes Households with no vehicle available
no_vehicle_households_moe bigint yes 90% CI margin of error for no_vehicle_households (Census variable B08201_002M; negative sentinels normalized to null)

acs_nativity · table

Population counts by nativity and citizenship (native born, foreign born, naturalized citizen, not a citizen), from the ACS 5-Year survey, at state and county levels. native_born and foreign_born are both derived sums (B05001 has no single variable for either concept): native_born = born_in_us + born_in_pr_island_areas + born_abroad_american_parents (002+003+004), foreign_born = naturalized_citizen + not_a_citizen (005+006). The three native_born components are also exposed as their own columns — born_in_pr_island_areas in particular is analytically live on its own (most of Florida's Puerto Rico-born population), not just a summand. The full row identity is native_born + foreign_born = total_population, and at the component level born_in_us + born_in_pr_island_areas + born_abroad_american_parents + naturalized_citizen + not_a_citizen = total_population; both are DQ-asserted.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_population long yes Total population
total_population_moe bigint yes 90% CI margin of error for total_population (Census variable B05001_001M; negative sentinels normalized to null)
native_born long yes Native born (born in the US, plus Puerto Rico/island areas, plus abroad of American parents — sum of its three real components rather than a residual)
native_born_moe bigint yes 90% CI margin of error for native_born, aggregated per Census MOE-of-a-sum convention (sqrt of sum of squared component MOEs — B05001_002M/003M/004M; negative sentinels on any component normalize the whole value to null)
born_in_us long yes Born in the United States (Census variable B05001_002E) — the largest component of native_born, exposed directly rather than only summed
born_in_us_moe bigint yes 90% CI margin of error for born_in_us (Census variable B05001_002M; negative sentinels normalized to null)
born_in_pr_island_areas long yes Born in Puerto Rico or a US island area (Census variable B05001_003E) — analytically live on its own, not just a native_born component
born_in_pr_island_areas_moe bigint yes 90% CI margin of error for born_in_pr_island_areas (Census variable B05001_003M; negative sentinels normalized to null)
born_abroad_american_parents long yes Born abroad of American parent(s) (Census variable B05001_004E)
born_abroad_american_parents_moe bigint yes 90% CI margin of error for born_abroad_american_parents (Census variable B05001_004M; negative sentinels normalized to null)
foreign_born long yes Foreign born (naturalized citizens plus non-citizens; there is no single Census variable for this concept)
foreign_born_moe bigint yes 90% CI margin of error for foreign_born, aggregated per Census MOE-of-a-sum convention (sqrt of sum of squared component MOEs — B05001_005M/006M; negative sentinels on either component normalize the whole value to null)
naturalized_citizen long yes Naturalized US citizen
naturalized_citizen_moe bigint yes 90% CI margin of error for naturalized_citizen (Census variable B05001_005M; negative sentinels normalized to null)
not_a_citizen long yes Not a US citizen
not_a_citizen_moe bigint yes 90% CI margin of error for not_a_citizen (Census variable B05001_006M; negative sentinels normalized to null)

acs_marital_status · table

Marital status counts (never married, married, separated, widowed, divorced) by sex, for population 15 and over, from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
name string yes Geographic area name from Census API
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
b12001_001e string yes Population 15 years and over (total)
b12001_003e string yes Male never married
b12001_004e string yes Male now married (excluding separated)
b12001_006e string yes Male separated
b12001_009e string yes Male widowed
b12001_010e string yes Male divorced
b12001_012e string yes Female never married
b12001_013e string yes Female now married (excluding separated)
b12001_015e string yes Female separated
b12001_018e string yes Female widowed
b12001_019e string yes Female divorced

acs_household_type · table

Household counts by type (family vs nonfamily, married-couple, single householder with no spouse, living alone) plus average household size, from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_households long yes Total households
total_households_moe bigint yes 90% CI margin of error for total_households (Census variable B11001_001M; negative sentinels normalized to null)
family_households long yes Family households
family_households_moe bigint yes 90% CI margin of error for family_households (Census variable B11001_002M; negative sentinels normalized to null)
married_couple_family long yes Married-couple family
married_couple_family_moe bigint yes 90% CI margin of error for married_couple_family (Census variable B11001_003M; negative sentinels normalized to null)
male_householder_no_spouse long yes Male householder, no spouse present
male_householder_no_spouse_moe bigint yes 90% CI margin of error for male_householder_no_spouse (Census variable B11001_005M; negative sentinels normalized to null)
female_householder_no_spouse long yes Female householder, no spouse present
female_householder_no_spouse_moe bigint yes 90% CI margin of error for female_householder_no_spouse (Census variable B11001_006M; negative sentinels normalized to null)
nonfamily_households long yes Nonfamily households
nonfamily_households_moe bigint yes 90% CI margin of error for nonfamily_households (Census variable B11001_007M; negative sentinels normalized to null)
living_alone long yes Householder living alone
living_alone_moe bigint yes 90% CI margin of error for living_alone (Census variable B11001_008M; negative sentinels normalized to null)
average_household_size double yes Average household size
average_household_size_moe double yes 90% CI margin of error for average_household_size (Census variable B25010_001M; negative sentinels normalized to null)

acs_housing_tenure · table

Occupied housing unit counts by tenure (owner-occupied vs renter-occupied), plus median home value, median gross rent, and median year structure built, from the ACS 5-Year survey, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
occupied_units long yes Total occupied housing units
occupied_units_moe bigint yes 90% CI margin of error for occupied_units (Census variable B25003_001M; negative sentinels normalized to null)
owner_occupied long yes Owner-occupied units
owner_occupied_moe bigint yes 90% CI margin of error for owner_occupied (Census variable B25003_002M; negative sentinels normalized to null)
renter_occupied long yes Renter-occupied units
renter_occupied_moe bigint yes 90% CI margin of error for renter_occupied (Census variable B25003_003M; negative sentinels normalized to null)
median_home_value long yes Median value of owner-occupied units
median_home_value_moe bigint yes 90% CI margin of error for median_home_value (Census variable B25077_001M; negative sentinels normalized to null)
median_gross_rent long yes Median gross rent
median_gross_rent_moe bigint yes 90% CI margin of error for median_gross_rent (Census variable B25064_001M; negative sentinels normalized to null)
median_year_built long yes Median year structure built
median_year_built_moe bigint yes 90% CI margin of error for median_year_built (Census variable B25035_001M; negative sentinels normalized to null)

acs_housing_tenure_by_age · table

Occupied housing unit counts split by tenure (owner-occupied vs renter-occupied) and age of householder, from ACS 5-year table B25007 ("Tenure by Age of Householder"), at state and county levels. Age bands match B25007's published structure: 15-24, 25-34, 35-44, 45-54, 55-59, 60-64, 65-74, 75-84, 85+ (nine bands, identical for owners and renters). Lets a generation-cohort ownership analysis be computed directly in-engine — same age band, same vintage — rather than relying on third-party CPS reprocessing. A true generation-matched historical series still requires stitching multiple ACS vintages across the cohort's aging trajectory; this table exposes the single-vintage building block.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_occupied long yes Total occupied housing units (all tenures, all ages)
total_occupied_moe bigint yes 90% CI margin of error for total_occupied (Census variable B25007_001M; negative sentinels normalized to null)
owner_occupied long yes Owner-occupied units (all ages)
owner_occupied_moe bigint yes 90% CI margin of error for owner_occupied (Census variable B25007_002M; negative sentinels normalized to null)
owner_15_to_24 long yes Owner-occupied units where householder is 15 to 24 years
owner_15_to_24_moe bigint yes 90% CI margin of error for owner_15_to_24 (Census variable B25007_003M; negative sentinels normalized to null)
owner_25_to_34 long yes Owner-occupied units where householder is 25 to 34 years
owner_25_to_34_moe bigint yes 90% CI margin of error for owner_25_to_34 (Census variable B25007_004M; negative sentinels normalized to null)
owner_35_to_44 long yes Owner-occupied units where householder is 35 to 44 years
owner_35_to_44_moe bigint yes 90% CI margin of error for owner_35_to_44 (Census variable B25007_005M; negative sentinels normalized to null)
owner_45_to_54 long yes Owner-occupied units where householder is 45 to 54 years
owner_45_to_54_moe bigint yes 90% CI margin of error for owner_45_to_54 (Census variable B25007_006M; negative sentinels normalized to null)
owner_55_to_59 long yes Owner-occupied units where householder is 55 to 59 years
owner_55_to_59_moe bigint yes 90% CI margin of error for owner_55_to_59 (Census variable B25007_007M; negative sentinels normalized to null)
owner_60_to_64 long yes Owner-occupied units where householder is 60 to 64 years
owner_60_to_64_moe bigint yes 90% CI margin of error for owner_60_to_64 (Census variable B25007_008M; negative sentinels normalized to null)
owner_65_to_74 long yes Owner-occupied units where householder is 65 to 74 years
owner_65_to_74_moe bigint yes 90% CI margin of error for owner_65_to_74 (Census variable B25007_009M; negative sentinels normalized to null)
owner_75_to_84 long yes Owner-occupied units where householder is 75 to 84 years
owner_75_to_84_moe bigint yes 90% CI margin of error for owner_75_to_84 (Census variable B25007_010M; negative sentinels normalized to null)
owner_85_and_over long yes Owner-occupied units where householder is 85 years and over
owner_85_and_over_moe bigint yes 90% CI margin of error for owner_85_and_over (Census variable B25007_011M; negative sentinels normalized to null)
renter_occupied long yes Renter-occupied units (all ages)
renter_occupied_moe bigint yes 90% CI margin of error for renter_occupied (Census variable B25007_012M; negative sentinels normalized to null)
renter_15_to_24 long yes Renter-occupied units where householder is 15 to 24 years
renter_15_to_24_moe bigint yes 90% CI margin of error for renter_15_to_24 (Census variable B25007_013M; negative sentinels normalized to null)
renter_25_to_34 long yes Renter-occupied units where householder is 25 to 34 years
renter_25_to_34_moe bigint yes 90% CI margin of error for renter_25_to_34 (Census variable B25007_014M; negative sentinels normalized to null)
renter_35_to_44 long yes Renter-occupied units where householder is 35 to 44 years
renter_35_to_44_moe bigint yes 90% CI margin of error for renter_35_to_44 (Census variable B25007_015M; negative sentinels normalized to null)
renter_45_to_54 long yes Renter-occupied units where householder is 45 to 54 years
renter_45_to_54_moe bigint yes 90% CI margin of error for renter_45_to_54 (Census variable B25007_016M; negative sentinels normalized to null)
renter_55_to_59 long yes Renter-occupied units where householder is 55 to 59 years
renter_55_to_59_moe bigint yes 90% CI margin of error for renter_55_to_59 (Census variable B25007_017M; negative sentinels normalized to null)
renter_60_to_64 long yes Renter-occupied units where householder is 60 to 64 years
renter_60_to_64_moe bigint yes 90% CI margin of error for renter_60_to_64 (Census variable B25007_018M; negative sentinels normalized to null)
renter_65_to_74 long yes Renter-occupied units where householder is 65 to 74 years
renter_65_to_74_moe bigint yes 90% CI margin of error for renter_65_to_74 (Census variable B25007_019M; negative sentinels normalized to null)
renter_75_to_84 long yes Renter-occupied units where householder is 75 to 84 years
renter_75_to_84_moe bigint yes 90% CI margin of error for renter_75_to_84 (Census variable B25007_020M; negative sentinels normalized to null)
renter_85_and_over long yes Renter-occupied units where householder is 85 years and over
renter_85_and_over_moe bigint yes 90% CI margin of error for renter_85_and_over (Census variable B25007_021M; negative sentinels normalized to null)

acs_housing_year_built_detail · table

Housing units bracketed by decade of structure built (ACS 5-Year table B25034), at state and county levels — ten brackets (built 2020 or later, 2010-2019, 2000-2009, 1990-1999, 1980-1989, 1970-1979, 1960-1969, 1950-1959, 1940-1949, and 1939 or earlier) plus the table's own total. Complements acs_housing_tenure's median_year_built: a median only tells you 50% of units are older/newer than itself, not the share relative to an arbitrary threshold (e.g. "percent of housing stock built before 1980") — these brackets answer that directly. Verified live 2026-09-11: bracket sum matches the table's own total exactly (Bronx County NY, 2023 ACS5); pre-1939 share is far higher in an established Northeast county (Nantucket MA ~17%) than a Sun Belt boomtown (Maricopa AZ ~1%), matching known housing-stock-age geography. Tract-grain is NOT included — this codebase's declarative ACS infrastructure has no per-county tract fan-out mechanism; state and county grain only (see all_geographies).

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_units long yes Total housing units (all vintages) — brackets below should sum to this
total_units_moe bigint yes 90% CI margin of error for total_units (Census variable B25034_001M; negative sentinels normalized to null)
built_2020_or_later long yes Housing units built 2020 or later
built_2020_or_later_moe bigint yes 90% CI margin of error for built_2020_or_later (Census variable B25034_002M; negative sentinels normalized to null)
built_2010_to_2019 long yes Housing units built 2010 to 2019
built_2010_to_2019_moe bigint yes 90% CI margin of error for built_2010_to_2019 (Census variable B25034_003M; negative sentinels normalized to null)
built_2000_to_2009 long yes Housing units built 2000 to 2009
built_2000_to_2009_moe bigint yes 90% CI margin of error for built_2000_to_2009 (Census variable B25034_004M; negative sentinels normalized to null)
built_1990_to_1999 long yes Housing units built 1990 to 1999
built_1990_to_1999_moe bigint yes 90% CI margin of error for built_1990_to_1999 (Census variable B25034_005M; negative sentinels normalized to null)
built_1980_to_1989 long yes Housing units built 1980 to 1989
built_1980_to_1989_moe bigint yes 90% CI margin of error for built_1980_to_1989 (Census variable B25034_006M; negative sentinels normalized to null)
built_1970_to_1979 long yes Housing units built 1970 to 1979
built_1970_to_1979_moe bigint yes 90% CI margin of error for built_1970_to_1979 (Census variable B25034_007M; negative sentinels normalized to null)
built_1960_to_1969 long yes Housing units built 1960 to 1969
built_1960_to_1969_moe bigint yes 90% CI margin of error for built_1960_to_1969 (Census variable B25034_008M; negative sentinels normalized to null)
built_1950_to_1959 long yes Housing units built 1950 to 1959
built_1950_to_1959_moe bigint yes 90% CI margin of error for built_1950_to_1959 (Census variable B25034_009M; negative sentinels normalized to null)
built_1940_to_1949 long yes Housing units built 1940 to 1949
built_1940_to_1949_moe bigint yes 90% CI margin of error for built_1940_to_1949 (Census variable B25034_010M; negative sentinels normalized to null)
built_1939_or_earlier long yes Housing units built 1939 or earlier
built_1939_or_earlier_moe bigint yes 90% CI margin of error for built_1939_or_earlier (Census variable B25034_011M; negative sentinels normalized to null)

acs_income_distribution · table

Household counts by ACS income bracket (under $10k through $200k+) plus total households and the Gini index of income inequality, from the ACS 5-Year survey at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_households long yes Total households
total_households_moe bigint yes 90% CI margin of error for total_households (Census variable B19001_001M; negative sentinels normalized to null)
income_under_10k long yes Households with income under $10,000
income_under_10k_moe bigint yes 90% CI margin of error for income_under_10k (Census variable B19001_002M; negative sentinels normalized to null)
income_10k_to_25k long yes Households with income $10,000 to $24,999
income_25k_to_50k long yes Households with income $25,000 to $49,999
income_50k_to_100k long yes Households with income $50,000 to $99,999
income_100k_to_200k long yes Households with income $100,000 to $199,999
income_200k_plus long yes Households with income $200,000 or more
income_200k_plus_moe bigint yes 90% CI margin of error for income_200k_plus (Census variable B19001_017M; negative sentinels normalized to null)
gini_index double yes Gini index of income inequality
gini_index_moe double yes 90% CI margin of error for gini_index (Census variable B19083_001M; negative sentinels normalized to null)

decennial_housing · table

Total, occupied, and vacant housing unit counts from the Decennial Census, at state and county levels, for census years 2000, 2010, and 2020 (every 10 years).

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
total_housing_units long yes Total housing units
occupied_units long yes Occupied housing units
vacant_units long yes Vacant housing units

pep_population · table

Population Estimates Program (PEP) annual population estimate (July 1 reference date), at state and county levels, for the years between decennial censuses. Data year 2019 comes from the pep/population dataset (which also includes a population density column for that year); data years >= 2020 come from the shared latest pep/charv vintage (population only, July 1 estimate; the April 1, 2020 census base is not loaded). The vintage column identifies which source dataset produced each row. One row per geography per data year.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
population long yes Total population estimate
density double yes Population density (only for pep/population data years, i.e. 2019)
vintage string yes PEP data vintage used to fetch this row: either the data year itself (pep/population, data year 2019) or the shared latest published vintage (pep/charv, data years >= 2020). Distinguishes the two source datasets.

pep_components_of_change · table

Population Estimates Program (PEP) components of population change for every county, one row per county per data year (July 1 reference date): the population estimate, births, deaths, natural change (births - deaths), net international migration, net DOMESTIC migration (people moving between U.S. counties, the figure that shows whether a county is gaining or losing residents to other places), total net migration and the residual (change the components do not explain). Counts are people over the estimate year (July 1 of the prior year to June 30). The first year of each vintage is shorter: data year 2010 runs from the April 1, 2010 census base and data year 2020 from the April 1, 2020 base, so those two years carry about three months of births, deaths and migration. Data years 2010-2019 come from the final 2010-2019 vintage; data years 2020 onward come from the latest published vintage (the vintage column says which), so the series breaks at 2019/2020 because the 2020 vintage re-bases on the 2020 census. From the 2022 vintage Connecticut is published as its nine planning regions (county_fips 09110-09190) instead of its eight counties (09001-09015), so Connecticut rows for data years 2020 onward do not join geo.counties; every other county does. Complements pep_population (which has population and density only). The Census API serves components for data year 2019 only, so this table reads the bulk files co-est{vintage}-alldata.csv. Join to disasters.disaster_declarations or to disasters.ihp_housing_assistance_owners on county_fips. Source: www2.census.gov/programs-surveys/popest/datasets/.

Column Type Null Description
state_fips string no 2-digit state FIPS code (FK to geo.state_ref)
county_fips string no 5-digit county FIPS code (FK to geo.counties; Connecticut planning regions for data years 2020 onward do not join)
state_name string yes State name
county_name string yes County name as published by PEP (parish, borough, planning region for Connecticut 2020 onward)
population_estimate long yes Resident population estimate at July 1 of the data year
births long yes Births during the estimate year (from April 1 for data years 2010 and 2020)
deaths long yes Deaths during the estimate year (from April 1 for data years 2010 and 2020)
natural_change long yes Natural increase, births minus deaths
international_migration long yes Net international migration (people arriving from abroad minus people leaving)
domestic_migration long yes Net domestic migration, people who moved in from other U.S. counties minus people who moved out; negative means the county lost residents to other places
net_migration long yes Net migration, international plus domestic
residual long yes Residual, population change not explained by the components (reconciles the estimate to the census base)
vintage string no PEP vintage of the source file (2019 for data years 2010-2019, the latest vintage for 2020 onward)

acs_county_migration_flows · table

American Community Survey 5-year county-to-county migration flows: for each reference county (county_fips) and each other area it exchanged residents with, the people who moved IN from that area (lived there one year before the survey, live in the county now), the people who moved OUT to it, and the net, each with its 90 percent margin of error. It is origin-destination flow data, unlike acs_migration (counts by prior residence only). It is a survey of people, so it covers households that file no tax return and is not cut off at the IRS reporting threshold, but every figure is a sample estimate with a wide margin of error for small flows (moved_in_moe often exceeds moved_in). One row per vintage x reference county x other area. other_area_type says what the other area is: county (other_area_fips is a 5-digit county FIPS; the county-to-county flows), county_subdivision (a 10-digit county plus minor civil division code, in the states that publish MCD flows; these overlap the county rows, so filter them out before summing), or world_region (Asia, Europe and so on, other_area_fips NULL; moved_out and net are NULL because outbound moves abroad are not measured). year is the last year of the 5-year ACS window (year 2020 = ACS 2016-2020). Coverage 2010 through 2020: Census stopped publishing county-to-county flows after the 2016-2020 window (the 2017-2021 release is county-to-state only), so there is no later year. Each flow is listed from both ends, once under each reference county. Puerto Rico municipios appear from 2012. Join county_fips to geo.counties; join disasters.disaster_declarations on county_fips for flows in disaster-hit counties. Source: Census Data API api.census.gov/data/{year}/acs/flows (census.gov/topics/population/migration/guidance/ county-to-county-migration-flows.html). Requires CENSUS_API_KEY.

Column Type Null Description
county_fips string no 5-digit FIPS of the reference county (FK to geo.counties)
county_name string yes Reference county name with state
other_area_fips string yes FIPS of the other area, 5 digits for a county or 10 for a county subdivision; NULL for a world region (the 2016 vintage sends a single space there, normalized to NULL)
other_area_name string no Name of the other area (county with state, county subdivision, or world region)
other_area_type string no county, county_subdivision or world_region; sum only one type to avoid counting a flow twice
moved_in long yes People who lived in the other area one year ago and live in the reference county now
moved_in_moe long yes 90 percent margin of error of moved_in
moved_out long yes People who lived in the reference county one year ago and live in the other area now; NULL for a world region
moved_out_moe long yes 90 percent margin of error of moved_out
net_moved long yes Net migration into the reference county from the other area, moved_in minus moved_out; negative means the county lost residents to that area; NULL for a world region
net_moved_moe long yes 90 percent margin of error of net_moved

acs_congressional_district · table

American Community Survey 5-year demographics and economics for every U.S. House district, one row per vintage year x district: total population, median household income, per capita income, median age, unemployment rate, poverty rate, share aged 65 and over, bachelor's degree or higher, foreign-born share, home ownership, median rent and home value, and housing cost burden (renters and mortgaged owners paying 30 percent or more of income on housing). Counts come with derived percentages (the _pct columns; NULL when the denominator is zero). It is a survey, so every figure is a sample estimate (margins of error are not loaded) and medians are NULL where the Census suppresses them. Covers the 435 voting districts plus the non-voting delegates (district 98: District of Columbia and Puerto Rico) for each vintage from 2012; the placeholder rows the API returns for states whose districts are not defined in a vintage (Connecticut, Illinois, Michigan and New Hampshire in some years) are not stored. year is the last year of the 5-year ACS window (year 2022 = ACS 2018-2022). District lines change at redistricting, so each ACS vintage is tabulated on one Congress's lines; the congress column says which (for example 118). Never compare a district across Congresses without checking that congress matches, because the same cd_fips can cover different territory. Do not join geo.congressional_districts on cd_fips alone: its year is a TIGER boundary vintage, so join to the boundary year whose Congress matches. Dollar figures are in inflation-adjusted dollars of the vintage year, so compare incomes across vintages only after adjusting. Use with fec.candidate_district_profile and officials members for district-grain election analysis. Source: Census Data API api.census.gov/data/{year}/acs/acs5 with for=congressional district. Requires CENSUS_API_KEY.

Column Type Null Description
cd_fips string no 4-digit congressional district code, state FIPS + district number (00 = at-large, 98 = non-voting delegate or resident commissioner); joins geo.congressional_districts.cd_fips for the same Congress
state_fips string no 2-digit state FIPS code (FK to geo.state_ref)
district string no 2-digit district number within the state; 00 at-large, 98 non-voting delegate (DC, Puerto Rico)
congress integer no Congress whose district lines the row uses (113 = 113th Congress, 2013-2015), parsed from the Census geography name; district lines change with it
geo_name string no Census geography name, e.g. Congressional District 1 (118th Congress), Alabama
total_population long yes Total population (B01003)
median_household_income long yes Median household income in the past 12 months, in inflation-adjusted dollars of the vintage year (B19013); NULL where suppressed
per_capita_income long yes Per capita income in the past 12 months, in inflation-adjusted dollars of the vintage year (B19301)
median_age double yes Median age in years, both sexes (B01002)
civilian_labor_force long yes Civilian labor force, population 16 and over (B23025)
unemployed long yes Unemployed civilians in the labor force (B23025)
unemployment_rate_pct double yes Unemployed as a percent of the civilian labor force
poverty_universe long yes Population for whom poverty status is determined (B17001)
below_poverty long yes People with income in the past 12 months below the poverty level (B17001)
poverty_rate_pct double yes People below the poverty level as a percent of the population for whom poverty status is determined
population_65_plus long yes People aged 65 and over, sum of the male and female 65-66 through 85+ age cells of B01001
population_65_plus_pct double yes People aged 65 and over as a percent of total population (B01001)
population_25_plus long yes Population 25 years and over (B15003)
bachelors_or_higher long yes People 25 and over with a bachelor's, master's, professional or doctorate degree (B15003_022-025)
bachelors_or_higher_pct double yes People 25 and over with a bachelor's degree or higher as a percent of people 25 and over
foreign_born long yes Foreign-born population (B05002)
foreign_born_pct double yes Foreign-born as a percent of total population (B05002 total)
occupied_housing_units long yes Occupied housing units (B25003)
owner_occupied_units long yes Owner-occupied housing units (B25003)
owner_occupied_pct double yes Owner-occupied units as a percent of occupied housing units
median_gross_rent long yes Median gross rent in dollars per month (B25064)
median_home_value long yes Median value of owner-occupied housing units in dollars (B25077)
renter_households long yes Renter households (B25070 total, includes those whose burden is not computed)
renters_cost_burdened long yes Renter households paying 30 percent or more of income on gross rent (B25070_007-010)
renters_severely_burdened long yes Renter households paying 50 percent or more of income on gross rent (B25070_010)
renter_cost_burden_pct double yes Renters paying 30 percent or more of income on rent, as a percent of renter households with a computed burden (excludes B25070_011 not computed)
mortgaged_owner_households long yes Owner households with a mortgage (B25091)
owners_cost_burdened long yes Owner households with a mortgage paying 30 percent or more of income on owner costs (B25091_008-011)
owner_cost_burden_pct double yes Mortgaged owners paying 30 percent or more of income on housing costs, as a percent of owner households with a mortgage

cbp_establishments · table

County Business Patterns provides annual data on business establishments, employment, and payroll by industry (NAICS) at state and county levels. No sales/receipts column — for actual dollar sales by NAICS (including retail trade, naics_code '44'/'45') at county grain, see economic_census (quinquennial, not annual).

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
naics_code string yes 2017 NAICS industry code
establishments long yes Number of establishments
employees long yes Number of employees (mid-March)
annual_payroll long yes Annual payroll ($1,000)
first_quarter_payroll long yes First quarter payroll ($1,000)

acs1_population · table

ACS 1-Year population estimates (total, male, female population, median age), state level only (areas with 65,000+ population — no county breakout). More current than the 5-year table but based on a smaller annual sample, so estimates carry wider margins of error.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
total_population long yes Total population
total_population_moe bigint yes 90% CI margin of error for total_population (Census variable B01001_001M; negative sentinels normalized to null)
male_population long yes Male population
male_population_moe bigint yes 90% CI margin of error for male_population (Census variable B01001_002M; negative sentinels normalized to null)
female_population long yes Female population
female_population_moe bigint yes 90% CI margin of error for female_population (Census variable B01001_026M; negative sentinels normalized to null)
median_age double yes Median age
median_age_moe double yes 90% CI margin of error for median_age (Census variable B01002_001M; negative sentinels normalized to null)

acs1_income · table

Household median income and per capita income from the ACS 1-Year survey, state level plus one national row per year (areas with 65,000+ population — no county breakout). The national row has geography = 'us', name = 'United States' and a null state column; it is the Census-published national estimate, so the national median household income needs no caller-side aggregation (state medians cannot be averaged into a national median). More current than the 5-year acs_income table (about 1 year behind vs. 2), but based on a smaller annual sample, so estimates carry wider margins of error.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
median_household_income long yes Median household income
median_household_income_moe bigint yes 90% CI margin of error for median_household_income (Census variable B19013_001M; negative sentinels normalized to null)
per_capita_income long yes Per capita income
per_capita_income_moe bigint yes 90% CI margin of error for per_capita_income (Census variable B19301_001M; negative sentinels normalized to null)

economic_census · table

Establishment counts, employment, annual payroll, and total sales/receipts (RCPTOT, in $1,000s) by NAICS industry, at state and county grain, quinquennial (2017, 2022, 2027, ...). This is the only table in the corpus with actual dollar sales/receipts broken out by industry at county level — including retail trade (naics_code '44' or '45', e.g. '44-45' combined or finer subsectors like '445' grocery/'441' motor vehicle), down to the smallest counties, so it answers "does this county's growth support retail demand" with real retail sales dollars rather than population/income/employment proxies. Uses dimension resolver to handle NAICS version differences: - 2017: Uses NAICS2017 variable - 2022: Uses NAICS2022 variable Partitioned by year only (not geography) to reduce file count. For annual (non-quinquennial) county-level establishment counts, employment, and payroll by NAICS — no sales — see cbp_establishments. For annual county-level employment and wages by NAICS — no sales — see econ.county_qcew.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
naics_code string yes NAICS industry code (canonical header; source variable is the vintage-specific NAICS20xx, normalized by CensusResponseTransformer)
establishments long yes Number of establishments
employees long yes Number of employees
payroll long yes Annual payroll ($1,000)
sales long yes Total sales/receipts ($1,000)

saipe_poverty · table

Small Area Income and Poverty Estimates (SAIPE) annual estimates of median household income, poverty count, and poverty rate (all ages and ages 0-17), at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
all_ages_poverty_count long yes All ages in poverty count estimate
all_ages_poverty_rate double yes All ages poverty rate estimate
child_poverty_count long yes Ages 0-17 in poverty count estimate
child_poverty_rate double yes Ages 0-17 poverty rate estimate
median_household_income long yes Median household income estimate

sahie_insurance · table

Small Area Health Insurance Estimates (SAHIE) annual estimates of insured/uninsured population counts and insured/uninsured rates, at state and county levels.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
insured_count long yes Number insured estimate
uninsured_count long yes Number uninsured estimate
insured_rate double yes Percent insured estimate
uninsured_rate double yes Percent uninsured estimate

bds_dynamics · table

Business Dynamics Statistics annual job creation, job destruction, net job creation, establishment, firm, and employee counts, at state level. No industry or firm- characteristics breakdown in this table.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
job_creation long yes Number of jobs created
job_destruction long yes Number of jobs destroyed
net_job_creation long yes Net job creation (creation - destruction)
establishments long yes Number of establishments
firms long yes Number of firms
employees long yes Number of employees

abs_characteristics · table

Annual Business Survey (ABS) employer-firm counts, sales receipts, employee counts, and annual payroll, at state level. No owner-demographic (race, sex, veteran, education) breakdown in this table.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
firms long yes Number of employer firms
receipts long yes Sales receipts ($1,000)
employees long yes Number of employees
payroll long yes Annual payroll ($1,000)

nonemployer_statistics · table

Nonemployer Statistics establishment counts and total receipts by NAICS industry, for businesses with no paid employees (self-employed/unincorporated), at state and county levels. Physically partitioned by year only (not geography) to reduce file count.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
county string yes County FIPS code (3 digits, within state)
county_fips string yes 5-digit county FIPS code (state + county) for joining to geo.counties
naics_code string yes NAICS industry code (canonical header; source variable is the vintage-specific NAICS20xx, normalized by CensusResponseTransformer)
establishments long yes Number of nonemployer establishments
receipts long yes Total receipts ($1,000)

building_permits · table

Building Permits Survey tracks new privately-owned residential construction permits by state. Uses December cumulative (YTD) totals. Data from https://www2.census.gov/econ/bps/State/ URL format is stYYMMy.txt where YYMM is year-month code (e.g., 2212 = Dec 2022). Partition 'period_code' stores the raw YYMM code for URL compatibility only — it is NOT a year (e.g. 2012 is Dec 2020, not 2012) and must never be filtered as one. Use the derived survey_year / survey_month columns (parsed from survey_date) for year/month filtering.

Column Type Null Description
survey_date string yes Survey date in YYYYMM format
state_fips string yes State FIPS code (2-digit)
state_name string yes State name
single_family_units string yes Single-family housing units authorized
single_family_value_thousands string yes Value of single-family permits ($1000)
duplex_units string yes Duplex housing units authorized
duplex_value_thousands string yes Value of duplex permits ($1000)
three_four_unit_units string yes 3-4 unit housing units authorized
three_four_unit_value_thousands string yes Value of 3-4 unit permits ($1000)
five_plus_unit_units string yes 5+ unit housing units authorized
five_plus_unit_value_thousands string yes Value of 5+ unit permits ($1000)
survey_year INTEGER yes Calendar year parsed from survey_date (YYYYMM); the real time filter target
survey_month INTEGER yes Calendar month (1-12) parsed from survey_date (YYYYMM)

qwi_employment · table

LEHD Quarterly Workforce Indicators, Sex-by-Age tabulation at state level (all industries, private ownership). One row per state x quarter x demographic cell. Ingested from the per-state bulk CSV rather than the per-quarter API: one file carries that state's whole history, so a release costs 51 fetches instead of ~4,700, and every published measure and suppression flag is retained rather than a five-variable projection. Payroll is entirely NULL (s_payroll=5) in every row as of R2021Q4 onward -- Census permanently suppressed QWI Total Payroll measures for privacy protection and redirects users to BLS QCEW instead; this is a source-side omission, not an ingestion gap.

Column Type Null Description
periodicity varchar yes
seasonadj varchar yes
geo_level varchar yes
geography varchar yes
ind_level varchar yes
industry varchar yes
ownercode varchar yes
sex varchar yes
agegrp varchar yes
race varchar yes
ethnicity varchar yes
education varchar yes
firmage varchar yes
firmsize varchar yes
year int yes
quarter int yes
agg_level varchar yes
emp bigint yes
emp_end bigint yes
emp_s bigint yes
emp_total bigint yes
emp_spv bigint yes
hir_a bigint yes
hir_n bigint yes
hir_r bigint yes
sep bigint yes
hir_aend bigint yes
sep_beg bigint yes
hir_aend_repl bigint yes
hir_aend_r double yes
sep_beg_r double yes
hir_aend_repl_r double yes
hir_as bigint yes
hir_ns bigint yes
sep_s bigint yes
sep_snx bigint yes
turn_ovr_s double yes
frm_jb_gn bigint yes
frm_jb_ls bigint yes
frm_jb_c bigint yes
frm_jb_gn_s bigint yes
frm_jb_ls_s bigint yes
frm_jb_cs bigint yes
earn_s bigint yes
earn_beg bigint yes
earn_hir_as bigint yes
earn_hir_ns bigint yes
earn_sep_s bigint yes
payroll bigint yes
s_emp int yes
s_emp_end int yes
s_emp_s int yes
s_emp_total int yes
s_emp_spv int yes
s_hir_a int yes
s_hir_n int yes
s_hir_r int yes
s_sep int yes
s_hir_aend int yes
s_sep_beg int yes
s_hir_aend_repl int yes
s_hir_aend_r int yes
s_sep_beg_r int yes
s_hir_aend_repl_r int yes
s_hir_as int yes
s_hir_ns int yes
s_sep_s int yes
s_sep_snx int yes
s_turn_ovr_s int yes
s_frm_jb_gn int yes
s_frm_jb_ls int yes
s_frm_jb_c int yes
s_frm_jb_gn_s int yes
s_frm_jb_ls_s int yes
s_frm_jb_cs int yes
s_earn_s int yes
s_earn_beg int yes
s_earn_hir_as int yes
s_earn_hir_ns int yes
s_earn_sep_s int yes
s_payroll int yes

lodes_workplace · table

LEHD Origin-Destination Employment Statistics (LODES) Workplace Area Characteristics (WAC): total job counts at the workplace census block level, broken out by worker age bracket (<=29, 30-54, 55+) and by monthly earnings tier, partitioned by state and year.

Column Type Null Description
w_geocode string yes Workplace census block code (15 digits)
c000 string yes Total number of jobs
ca01 string yes Jobs for workers age 29 or younger
ca02 string yes Jobs for workers age 30 to 54
ca03 string yes Jobs for workers age 55 or older
ce01 string yes Jobs with monthly earnings $1,250 or less
ce02 string yes Jobs with monthly earnings $1,251 to $3,333
ce03 string yes Jobs with monthly earnings $3,333 or more

acs_earnings_by_education · table

Median earnings in the past 12 months by sex and educational attainment, for the population 25 years and over, from the ACS 5-Year survey table B20004, state level only (no county breakout — the table is fetched with for=state:, unlike most other acs_ tables in this schema which also carry a county grain). Reports total, male, and female median earnings (dollars) at 6 attainment levels: less than high school, high school graduate (includes equivalency), some college or associate's degree, bachelor's degree, and graduate or professional degree. Complements acs_education (population counts by attainment, no earnings) and acs_income (household income, not tied to the householder's own educational attainment).

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
median_earnings_total long yes Median earnings, total population 25+ with earnings
median_earnings_total_moe bigint yes 90% CI margin of error for median_earnings_total (Census variable B20004_001M; negative sentinels normalized to null)
median_earnings_less_than_hs long yes Median earnings, less than high school graduate
median_earnings_less_than_hs_moe bigint yes 90% CI margin of error for median_earnings_less_than_hs (Census variable B20004_002M; negative sentinels normalized to null)
median_earnings_hs_graduate long yes Median earnings, high school graduate (includes equivalency)
median_earnings_hs_graduate_moe bigint yes 90% CI margin of error for median_earnings_hs_graduate (Census variable B20004_003M; negative sentinels normalized to null)
median_earnings_some_college long yes Median earnings, some college or associate's degree
median_earnings_some_college_moe bigint yes 90% CI margin of error for median_earnings_some_college (Census variable B20004_004M; negative sentinels normalized to null)
median_earnings_bachelors long yes Median earnings, bachelor's degree
median_earnings_bachelors_moe bigint yes 90% CI margin of error for median_earnings_bachelors (Census variable B20004_005M; negative sentinels normalized to null)
median_earnings_graduate_degree long yes Median earnings, graduate or professional degree
median_earnings_graduate_degree_moe bigint yes 90% CI margin of error for median_earnings_graduate_degree (Census variable B20004_006M; negative sentinels normalized to null)
median_earnings_male_total long yes Median earnings, male, total 25+ with earnings
median_earnings_male_total_moe bigint yes 90% CI margin of error for median_earnings_male_total (Census variable B20004_007M; negative sentinels normalized to null)
median_earnings_male_less_than_hs long yes Median earnings, male, less than high school graduate
median_earnings_male_less_than_hs_moe bigint yes 90% CI margin of error for median_earnings_male_less_than_hs (Census variable B20004_008M; negative sentinels normalized to null)
median_earnings_male_hs_graduate long yes Median earnings, male, high school graduate (includes equivalency)
median_earnings_male_hs_graduate_moe bigint yes 90% CI margin of error for median_earnings_male_hs_graduate (Census variable B20004_009M; negative sentinels normalized to null)
median_earnings_male_some_college long yes Median earnings, male, some college or associate's degree
median_earnings_male_some_college_moe bigint yes 90% CI margin of error for median_earnings_male_some_college (Census variable B20004_010M; negative sentinels normalized to null)
median_earnings_male_bachelors long yes Median earnings, male, bachelor's degree
median_earnings_male_bachelors_moe bigint yes 90% CI margin of error for median_earnings_male_bachelors (Census variable B20004_011M; negative sentinels normalized to null)
median_earnings_male_graduate_degree long yes Median earnings, male, graduate or professional degree
median_earnings_male_graduate_degree_moe bigint yes 90% CI margin of error for median_earnings_male_graduate_degree (Census variable B20004_012M; negative sentinels normalized to null)
median_earnings_female_total long yes Median earnings, female, total 25+ with earnings
median_earnings_female_total_moe bigint yes 90% CI margin of error for median_earnings_female_total (Census variable B20004_013M; negative sentinels normalized to null)
median_earnings_female_less_than_hs long yes Median earnings, female, less than high school graduate
median_earnings_female_less_than_hs_moe bigint yes 90% CI margin of error for median_earnings_female_less_than_hs (Census variable B20004_014M; negative sentinels normalized to null)
median_earnings_female_hs_graduate long yes Median earnings, female, high school graduate (includes equivalency)
median_earnings_female_hs_graduate_moe bigint yes 90% CI margin of error for median_earnings_female_hs_graduate (Census variable B20004_015M; negative sentinels normalized to null)
median_earnings_female_some_college long yes Median earnings, female, some college or associate's degree
median_earnings_female_some_college_moe bigint yes 90% CI margin of error for median_earnings_female_some_college (Census variable B20004_016M; negative sentinels normalized to null)
median_earnings_female_bachelors long yes Median earnings, female, bachelor's degree
median_earnings_female_bachelors_moe bigint yes 90% CI margin of error for median_earnings_female_bachelors (Census variable B20004_017M; negative sentinels normalized to null)
median_earnings_female_graduate_degree long yes Median earnings, female, graduate or professional degree
median_earnings_female_graduate_degree_moe bigint yes 90% CI margin of error for median_earnings_female_graduate_degree (Census variable B20004_018M; negative sentinels normalized to null)

acs_nativity_by_education · table

Joint nativity-by-education counts for the population 25 years and over, from the ACS 5-Year survey table B06009 (Place of Birth by Educational Attainment in the United States), state level only (no county breakout). Unlike acs_nativity (population by nativity only) and acs_education (population by attainment only), this table carries the actual joint counts — e.g. foreign_born_bachelors_or_higher is the real number of foreign-born adults with a bachelor's degree or higher, not an estimate derived by assuming independence across the two separate tables.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
pop_25_plus long yes Total population 25 years and over
pop_25_plus_moe bigint yes 90% CI margin of error for pop_25_plus (Census variable B06009_001M; negative sentinels normalized to null)
foreign_born_pop_25_plus long yes Foreign-born population 25 years and over
foreign_born_pop_25_plus_moe bigint yes 90% CI margin of error for foreign_born_pop_25_plus (Census variable B06009_025M; negative sentinels normalized to null)
foreign_born_less_than_hs long yes Foreign born, less than high school graduate
foreign_born_less_than_hs_moe bigint yes 90% CI margin of error for foreign_born_less_than_hs (Census variable B06009_026M; negative sentinels normalized to null)
foreign_born_hs_graduate long yes Foreign born, high school graduate (includes equivalency)
foreign_born_hs_graduate_moe bigint yes 90% CI margin of error for foreign_born_hs_graduate (Census variable B06009_027M; negative sentinels normalized to null)
foreign_born_some_college long yes Foreign born, some college or associate's degree
foreign_born_some_college_moe bigint yes 90% CI margin of error for foreign_born_some_college (Census variable B06009_028M; negative sentinels normalized to null)
foreign_born_bachelors long yes Foreign born, bachelor's degree
foreign_born_bachelors_moe bigint yes 90% CI margin of error for foreign_born_bachelors (Census variable B06009_029M; negative sentinels normalized to null)
foreign_born_graduate_degree long yes Foreign born, graduate or professional degree
foreign_born_graduate_degree_moe bigint yes 90% CI margin of error for foreign_born_graduate_degree (Census variable B06009_030M; negative sentinels normalized to null)
foreign_born_bachelors_or_higher long yes Foreign born with a bachelor's degree or higher (029E + 030E)
native_bachelors_or_higher long yes Native-born with a bachelor's degree or higher — sums the bachelor's (011E/017E/023E) and graduate-or-professional (012E/018E/024E) cells across B06009's three native-birthplace categories (born in state of residence, born in another US state, native born outside the US).

acs_income_by_nativity · table

Median household income and household counts by nativity of the householder (total, native, foreign born, foreign born naturalized citizen, foreign born not a citizen), from the ACS 5-Year subject table S0501 (Selected Characteristics of the Native and Foreign-Born Populations), state level only (no county breakout). S0501 classifies households by the nativity of the population column; row 089 (households_) is the households-count denominator and row 101 (median_household_income_) the dollar estimate, for each of the 5 nativity columns S0501 defines (C01 total, C02 native, C03 foreign born, C04 foreign born naturalized citizen, C05 foreign born not a citizen). Fetched from the acs5/subject endpoint (a different Census API dataset path than the acs5 detailed-table endpoint the other acs_* tables in this schema use).

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
households_total long yes Total households
households_native long yes Households classified under the native population
households_foreign_born long yes Households classified under the foreign-born population
households_naturalized long yes Households classified under the foreign-born, naturalized-citizen population
households_noncitizen long yes Households classified under the foreign-born, not-a-citizen population
median_household_income_total long yes Median household income, all households (dollars)
median_household_income_native long yes Median household income, native population (dollars)
median_household_income_foreign_born long yes Median household income, foreign-born population (dollars)
median_household_income_naturalized long yes Median household income, foreign-born naturalized-citizen population (dollars)
median_household_income_noncitizen long yes Median household income, foreign-born not-a-citizen population (dollars)

acs_industry_by_nativity · table

Industry mix of the civilian employed population 16 years and over by nativity, from the ACS 5-Year subject table S0501 (Selected Characteristics of the Native and Foreign-Born Populations), state level only. Answers "what share of industry X's workforce is foreign-born": for each of 3 nativity groups (total, native, foreign born) S0501 reports the PERCENT of that group's employed people working in each of 13 broad industries (columns pct), plus the group's employed headcount (employed_). Workers in an industry for a group = employed_ * pct / 100; the foreign-born share of an industry's workforce = employed_foreign_born * _pct_foreign_born / (employed_total * _pct_total). Percentages are published rounded to 0.1, so derived counts carry that rounding on top of the ACS sampling error. Industries are the 13 broad groups S0501 publishes (no finer NAICS detail; finer industry by nativity exists only in ACS PUMS microdata). The naturalized-citizen / non-citizen split S0501 also publishes is not carried (the Census API caps a request at 50 variables). Values are null where the Census suppresses an estimate.

Column Type Null Description
geo_name string yes Geographic area name
state string yes State FIPS code (2 digits)
employed_total long yes Civilian employed population 16 years and over, all employed people
employed_native long yes Civilian employed population 16 years and over, native-born
employed_foreign_born long yes Civilian employed population 16 years and over, foreign-born
agriculture_mining_pct_total double yes Percent of employed all employed people working in Agriculture, forestry, fishing and hunting, and mining
agriculture_mining_pct_native double yes Percent of employed native-born working in Agriculture, forestry, fishing and hunting, and mining
agriculture_mining_pct_foreign_born double yes Percent of employed foreign-born working in Agriculture, forestry, fishing and hunting, and mining
construction_pct_total double yes Percent of employed all employed people working in Construction
construction_pct_native double yes Percent of employed native-born working in Construction
construction_pct_foreign_born double yes Percent of employed foreign-born working in Construction
manufacturing_pct_total double yes Percent of employed all employed people working in Manufacturing
manufacturing_pct_native double yes Percent of employed native-born working in Manufacturing
manufacturing_pct_foreign_born double yes Percent of employed foreign-born working in Manufacturing
wholesale_trade_pct_total double yes Percent of employed all employed people working in Wholesale trade
wholesale_trade_pct_native double yes Percent of employed native-born working in Wholesale trade
wholesale_trade_pct_foreign_born double yes Percent of employed foreign-born working in Wholesale trade
retail_trade_pct_total double yes Percent of employed all employed people working in Retail trade
retail_trade_pct_native double yes Percent of employed native-born working in Retail trade
retail_trade_pct_foreign_born double yes Percent of employed foreign-born working in Retail trade
transportation_utilities_pct_total double yes Percent of employed all employed people working in Transportation and warehousing, and utilities
transportation_utilities_pct_native double yes Percent of employed native-born working in Transportation and warehousing, and utilities
transportation_utilities_pct_foreign_born double yes Percent of employed foreign-born working in Transportation and warehousing, and utilities
information_pct_total double yes Percent of employed all employed people working in Information
information_pct_native double yes Percent of employed native-born working in Information
information_pct_foreign_born double yes Percent of employed foreign-born working in Information
finance_real_estate_pct_total double yes Percent of employed all employed people working in Finance and insurance, and real estate and rental and leasing
finance_real_estate_pct_native double yes Percent of employed native-born working in Finance and insurance, and real estate and rental and leasing
finance_real_estate_pct_foreign_born double yes Percent of employed foreign-born working in Finance and insurance, and real estate and rental and leasing
professional_admin_services_pct_total double yes Percent of employed all employed people working in Professional, scientific, and management, and administrative and waste management services
professional_admin_services_pct_native double yes Percent of employed native-born working in Professional, scientific, and management, and administrative and waste management services
professional_admin_services_pct_foreign_born double yes Percent of employed foreign-born working in Professional, scientific, and management, and administrative and waste management services
education_health_pct_total double yes Percent of employed all employed people working in Educational services, and health care and social assistance
education_health_pct_native double yes Percent of employed native-born working in Educational services, and health care and social assistance
education_health_pct_foreign_born double yes Percent of employed foreign-born working in Educational services, and health care and social assistance
arts_food_services_pct_total double yes Percent of employed all employed people working in Arts, entertainment, and recreation, and accommodation and food services
arts_food_services_pct_native double yes Percent of employed native-born working in Arts, entertainment, and recreation, and accommodation and food services
arts_food_services_pct_foreign_born double yes Percent of employed foreign-born working in Arts, entertainment, and recreation, and accommodation and food services
other_services_pct_total double yes Percent of employed all employed people working in Other services (except public administration)
other_services_pct_native double yes Percent of employed native-born working in Other services (except public administration)
other_services_pct_foreign_born double yes Percent of employed foreign-born working in Other services (except public administration)
public_administration_pct_total double yes Percent of employed all employed people working in Public administration
public_administration_pct_native double yes Percent of employed native-born working in Public administration
public_administration_pct_foreign_born double yes Percent of employed foreign-born working in Public administration

cps_voting_supplement · table

State-level reported voting and registration rates for the citizen voting-age population, from the Census Bureau's Current Population Survey (CPS) Voting and Registration Supplement — a biennial November survey module (even years only: congressional and presidential election years), not part of the ACS and not on the acs5 endpoint. The CPS API (api.census.gov/data/{year}/cps/voting/nov) returns person-level survey microdata (one row per respondent, with person weight PWSSWGT), not a pre-tabulated table, so this table is a weighted state-level aggregation of that microdata computed by CpsVotingSupplementTransformer: voted_rate_pct / registered_rate_pct are the population-weighted share of respondents answering "Yes" to PES1 (did you vote?) / PES2 (registered to vote?), among respondents who gave a Yes/No answer (excluding "Not in Universe", "Refused", "Don't Know"). population_reported_voted / population_reported_registered are the weighted denominators (the estimated citizen voting-age population that answered the question); sample_size_voted / sample_size_registered are the unweighted respondent counts backing each estimate, for margin-of-error context. Available biennially from 1996 (the earliest api.census.gov vintage for this dataset with PES1/PES2 variable coding stable through the most recent cycle — the November 1994 file predates api.census.gov and used different variable codes, PES3/PES4, for the same two questions, so 1994 is not in this table). CAUTION for turnout-gap or turnout-rate comparisons across states: this table is SELF-REPORTED turnout among the citizen voting-age population, known to systematically OVER-REPORT relative to actual counted votes (social-desirability bias) — it is NOT voting-eligible population (VEP), the standard denominator the turnout literature actually uses (Cantoni & Pons; McDonald/US Elections Project). For any question comparing turnout RATES between groups of states (e.g. by a policy like voter-ID requirements), prefer pairing real certified vote totals (e.g. officials.presidential_election_results or an equivalent FEC/certified- results table) with a VEP-style population denominator instead of this table's self-reported rate — this table alone will overstate turnout by roughly 10 points and can misstate a gap's size even when the direction is right.

Column Type Null Description
state string yes State FIPS code (2 digits), from the Census API for=state:* geography clause
sample_size_voted long yes Unweighted respondent count answering the vote question (PES1) Yes or No
population_reported_voted double yes Weighted citizen voting-age population answering the vote question Yes or No
population_voted double yes Weighted population reporting they voted (PES1 = Yes)
voted_rate_pct double yes Reported voting rate — 100 * population_voted / population_reported_voted
sample_size_registered long yes Unweighted respondent count answering the registration question (PES2) Yes or No
population_reported_registered double yes Weighted citizen voting-age population answering the registration question Yes or No
population_registered double yes Weighted population reporting they are registered (PES2 = Yes)
registered_rate_pct double yes Reported registration rate — 100 * population_registered / population_reported_registered

uscis_i765_employment_authorization · table

Work-permit (Employment Authorization Document, EAD) applications processed by USCIS, from the quarterly Form I-765 report of the Department of Homeland Security / USCIS Chief Data and Analytics Office. One row per fiscal year x fiscal quarter x EAD eligibility category x filing type. The category is the immigration basis for the permit (ead_category codes such as A03 refugee, A055 granted asylum, A124/C19 TPS, C08 pending asylum application, C09 pending adjustment of status, C26 H-4 spouse of H-1B worker, C33 DACA; ead_category_description gives the USCIS wording). filing_type is Initial, Renewal, Replacement or Not Requested. Counts are receipts (applications received in the quarter), approvals and denials (decisions made in the quarter, which may relate to applications received earlier), and pending (applications awaiting a decision at quarter end). fiscal_year is the U.S. federal fiscal year (Oct 1 - Sep 30): fiscal_quarter 1 is October-December of the previous calendar year. CAUTION: these are application FLOWS and a pending backlog, NOT counts of people currently holding a valid work permit, and one person can file more than once. There is no industry or occupation breakdown in any USCIS release; do not use this table for employment by industry. Counts are restated by USCIS in later releases. Pending cannot be reconstructed by summing quarters. Coverage starts at FY2025 (the earliest quarterly workbooks USCIS still publishes as xlsx); FY2026 Q1 is not published by USCIS and is absent. Source: https://www.uscis.gov/tools/reports-and-studies/immigration-and-citizenship-data

Column Type Null Description
fiscal_quarter integer no Federal fiscal quarter (1 = Oct-Dec of the previous calendar year, 4 = Jul-Sep)
ead_category string no USCIS EAD eligibility category code (e.g. A03, A055, C08, C26); codes can be re-lettered by USCIS between releases
ead_category_description string yes USCIS wording for the eligibility category
filing_type string no Initial, Renewal, Replacement or Not Requested
receipts long yes Applications received during the quarter
approvals long yes Applications approved during the quarter (may have been received earlier)
denials long yes Applications denied during the quarter (may have been received earlier)
pending long yes Applications awaiting a decision at the end of the quarter (a point-in-time backlog, not additive across quarters)