📊 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.
50 datasets · 674 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.
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.
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total population |
male_ |
long | yes | Male population |
female_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
median_ |
long | yes | Median household income in the past 12 months |
per_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total housing units |
occupied_ |
long | yes | Occupied housing units |
vacant_ |
long | yes | Vacant housing units |
median_ |
long | yes | Median value of owner-occupied housing units |
median_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
pop_ |
long | yes | Total population 25 years and over |
hs_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
labor_ |
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_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
poverty_ |
long | yes | Population for whom poverty status is determined (excludes institutionalized, military, unrelated children under 15) |
below_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total population |
white_ |
long | yes | Population identifying as White alone |
black_ |
long | yes | Population identifying as Black or African American alone |
asian_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
white_ |
long | yes | White alone |
white_ |
bigint | yes | 90% CI margin of error for white_alone (Census variable B02001_002M; negative sentinels normalized to null) |
black_ |
long | yes | Black or African American alone |
black_ |
bigint | yes | 90% CI margin of error for black_alone (Census variable B02001_003M; negative sentinels normalized to null) |
american_ |
long | yes | American Indian and Alaska Native alone |
american_ |
bigint | yes | 90% CI margin of error for american_indian_alone (Census variable B02001_004M; negative sentinels normalized to null) |
asian_ |
long | yes | Asian alone |
asian_ |
bigint | yes | 90% CI margin of error for asian_alone (Census variable B02001_005M; negative sentinels normalized to null) |
pacific_ |
long | yes | Native Hawaiian and Other Pacific Islander alone |
pacific_ |
bigint | yes | 90% CI margin of error for pacific_islander_alone (Census variable B02001_006M; negative sentinels normalized to null) |
other_ |
long | yes | Some other race alone |
other_ |
bigint | yes | 90% CI margin of error for other_race_alone (Census variable B02001_007M; negative sentinels normalized to null) |
two_ |
long | yes | Two or more races |
two_ |
bigint | yes | 90% CI margin of error for two_or_more_races (Census variable B02001_008M; negative sentinels normalized to null) |
hispanic_ |
long | yes | Hispanic or Latino origin (any race) |
hispanic_ |
bigint | yes | 90% CI margin of error for hispanic_latino (Census variable B03003_003M; negative sentinels normalized to null) |
not_ |
long | yes | Not Hispanic or Latino |
not_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
median_ |
double | yes | Median age |
median_ |
double | yes | 90% CI margin of error for median_age (Census variable B01002_001M; negative sentinels normalized to null) |
under_ |
long | yes | Population under 5 years |
age_ |
long | yes | Population 5 to 17 years (school age) |
age_ |
long | yes | Working age population 18 to 64 |
age_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total workers 16 years and over |
total_ |
bigint | yes | 90% CI margin of error for total_workers (Census variable B08301_001M; negative sentinels normalized to null) |
drove_ |
long | yes | Workers who drove alone |
drove_ |
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_ |
bigint | yes | 90% CI margin of error for carpooled (Census variable B08301_004M; negative sentinels normalized to null) |
public_ |
long | yes | Workers using public transportation |
public_ |
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_ |
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_ |
bigint | yes | 90% CI margin of error for bicycle (Census variable B08301_018M; negative sentinels normalized to null) |
worked_ |
long | yes | Workers who worked from home |
worked_ |
bigint | yes | 90% CI margin of error for worked_from_home (Census variable B08301_021M; negative sentinels normalized to null) |
mean_ |
double | yes | Mean travel time to work (minutes) |
mean_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total civilian noninstitutionalized population |
total_ |
bigint | yes | 90% CI margin of error for total_population (Census variable B27001_001M; negative sentinels normalized to null) |
with_ |
long | yes | Population with health insurance coverage |
no_ |
long | yes | Population without health insurance coverage |
public_ |
long | yes | Population with public health insurance |
public_ |
bigint | yes | 90% CI margin of error for public_coverage (Census variable B27003_004M; negative sentinels normalized to null) |
private_ |
long | yes | Population with private health insurance |
private_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
population_ |
long | yes | Population 5 years and over |
population_ |
bigint | yes | 90% CI margin of error for population_5_plus (Census variable B16001_001M; negative sentinels normalized to null) |
english_ |
long | yes | Speak only English at home |
english_ |
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_ |
bigint | yes | 90% CI margin of error for spanish (Census variable B16001_003M; negative sentinels normalized to null) |
spanish_ |
long | yes | Speak Spanish, limited English proficiency |
spanish_ |
bigint | yes | 90% CI margin of error for spanish_limited_english (Census variable B16001_005M; negative sentinels normalized to null) |
other_ |
long | yes | Speak other Indo-European language |
other_ |
bigint | yes | 90% CI margin of error for other_indo_european (Census variable B16001_006M; negative sentinels normalized to null) |
asian_ |
long | yes | Speak Asian and Pacific Island languages |
asian_ |
bigint | yes | 90% CI margin of error for asian_pacific_languages (Census variable B16001_009M; negative sentinels normalized to null) |
other_ |
long | yes | Speak other languages |
other_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total civilian noninstitutionalized population |
total_ |
bigint | yes | 90% CI margin of error for total_population (Census variable B18101_001M; negative sentinels normalized to null) |
with_ |
long | yes | Population with a disability |
hearing_ |
long | yes | Population with hearing difficulty |
hearing_ |
bigint | yes | 90% CI margin of error for hearing_difficulty (Census variable B18102_004M; negative sentinels normalized to null) |
vision_ |
long | yes | Population with vision difficulty |
vision_ |
bigint | yes | 90% CI margin of error for vision_difficulty (Census variable B18103_004M; negative sentinels normalized to null) |
cognitive_ |
long | yes | Population with cognitive difficulty |
cognitive_ |
bigint | yes | 90% CI margin of error for cognitive_difficulty (Census variable B18104_004M; negative sentinels normalized to null) |
ambulatory_ |
long | yes | Population with ambulatory difficulty |
ambulatory_ |
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.
| Column | Type | Null | Description |
|---|---|---|---|
geo_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
civilian_ |
long | yes | Civilian population 18 years and over |
civilian_ |
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_ |
bigint | yes | 90% CI margin of error for veterans (Census variable B21001_002M; negative sentinels normalized to null) |
nonveterans |
long | yes | Nonveteran population |
nonveterans_ |
bigint | yes | 90% CI margin of error for nonveterans (Census variable B21001_003M; negative sentinels normalized to null) |
male_ |
long | yes | Male veterans |
male_ |
bigint | yes | 90% CI margin of error for male_veterans (Census variable B21001_005M; negative sentinels normalized to null) |
female_ |
long | yes | Female veterans |
female_ |
bigint | yes | 90% CI margin of error for female_veterans (Census variable B21001_023M; negative sentinels normalized to null) |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
population_ |
long | yes | Population 1 year and over |
population_ |
bigint | yes | 90% CI margin of error for population_1_year_plus (Census variable B07001_001M; negative sentinels normalized to null) |
same_ |
long | yes | Same house 1 year ago |
same_ |
bigint | yes | 90% CI margin of error for same_house (Census variable B07001_017M; negative sentinels normalized to null) |
moved_ |
long | yes | Moved within same county |
moved_ |
bigint | yes | 90% CI margin of error for moved_within_county (Census variable B07001_033M; negative sentinels normalized to null) |
moved_ |
long | yes | Moved from different county, same state |
moved_ |
bigint | yes | 90% CI margin of error for moved_from_different_county_same_state (Census variable B07001_049M; negative sentinels normalized to null) |
moved_ |
long | yes | Moved from different state |
moved_ |
bigint | yes | 90% CI margin of error for moved_from_different_state (Census variable B07001_065M; negative sentinels normalized to null) |
moved_ |
long | yes | Moved from abroad |
moved_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total employed civilian population 16+ |
total_ |
bigint | yes | 90% CI margin of error for total_employed (Census variable C24010_001M; negative sentinels normalized to null) |
management_ |
long | yes | Management, business, science, and arts occupations |
management_ |
bigint | yes | 90% CI margin of error for management_business_science_arts (Census variable C24010_003M; negative sentinels normalized to null) |
service_ |
long | yes | Service occupations |
service_ |
bigint | yes | 90% CI margin of error for service_occupations (Census variable C24010_019M; negative sentinels normalized to null) |
sales_ |
long | yes | Sales and office occupations |
sales_ |
bigint | yes | 90% CI margin of error for sales_office (Census variable C24010_027M; negative sentinels normalized to null) |
natural_ |
long | yes | Natural resources, construction, and maintenance occupations |
natural_ |
bigint | yes | 90% CI margin of error for natural_resources_construction_maintenance (Census variable C24010_030M; negative sentinels normalized to null) |
production_ |
long | yes | Production, transportation, and material moving occupations |
production_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total employed civilian population 16+ |
total_ |
bigint | yes | 90% CI margin of error for total_employed (Census variable C24030_001M; negative sentinels normalized to null) |
agriculture_ |
long | yes | Agriculture, forestry, fishing, hunting, and mining |
agriculture_ |
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_ |
bigint | yes | 90% CI margin of error for construction (Census variable C24030_006M; negative sentinels normalized to null) |
manufacturing |
long | yes | Manufacturing |
manufacturing_ |
bigint | yes | 90% CI margin of error for manufacturing (Census variable C24030_007M; negative sentinels normalized to null) |
wholesale_ |
long | yes | Wholesale trade |
wholesale_ |
bigint | yes | 90% CI margin of error for wholesale_trade (Census variable C24030_008M; negative sentinels normalized to null) |
retail_ |
long | yes | Retail trade |
retail_ |
bigint | yes | 90% CI margin of error for retail_trade (Census variable C24030_009M; negative sentinels normalized to null) |
transportation_ |
long | yes | Transportation and warehousing, and utilities |
transportation_ |
bigint | yes | 90% CI margin of error for transportation_utilities (Census variable C24030_010M; negative sentinels normalized to null) |
information |
long | yes | Information |
information_ |
bigint | yes | 90% CI margin of error for information (Census variable C24030_013M; negative sentinels normalized to null) |
finance_ |
long | yes | Finance and insurance, and real estate |
finance_ |
bigint | yes | 90% CI margin of error for finance_insurance_real_estate (Census variable C24030_014M; negative sentinels normalized to null) |
professional_ |
long | yes | Professional, scientific, management, admin, and waste management |
professional_ |
bigint | yes | 90% CI margin of error for professional_scientific_management (Census variable C24030_017M; negative sentinels normalized to null) |
educational_ |
long | yes | Educational services, health care, and social assistance |
educational_ |
bigint | yes | 90% CI margin of error for educational_healthcare_social (Census variable C24030_021M; negative sentinels normalized to null) |
arts_ |
long | yes | Arts, entertainment, recreation, accommodation, and food services |
arts_ |
bigint | yes | 90% CI margin of error for arts_entertainment_recreation_food (Census variable C24030_024M; negative sentinels normalized to null) |
other_ |
long | yes | Other services (except public administration) |
other_ |
bigint | yes | 90% CI margin of error for other_services (Census variable C24030_027M; negative sentinels normalized to null) |
public_ |
long | yes | Public administration |
public_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total households |
total_ |
bigint | yes | 90% CI margin of error for total_households (Census variable B28002_001M; negative sentinels normalized to null) |
with_ |
long | yes | Households with an internet subscription |
with_ |
bigint | yes | 90% CI margin of error for with_internet (Census variable B28002_002M; negative sentinels normalized to null) |
with_ |
long | yes | Households with broadband internet |
with_ |
bigint | yes | 90% CI margin of error for with_broadband (Census variable B28002_004M; negative sentinels normalized to null) |
no_ |
long | yes | Households without internet access |
no_ |
bigint | yes | 90% CI margin of error for no_internet (Census variable B28002_013M; negative sentinels normalized to null) |
with_ |
long | yes | Households with a computer |
with_ |
bigint | yes | 90% CI margin of error for with_computer (Census variable B28001_002M; negative sentinels normalized to null) |
no_ |
long | yes | Households without a computer |
no_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total households |
total_ |
bigint | yes | 90% CI margin of error for total_households (Census variable B08201_001M; negative sentinels normalized to null) |
no_ |
long | yes | Households with no vehicle available |
no_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total population |
total_ |
bigint | yes | 90% CI margin of error for total_population (Census variable B05001_001M; negative sentinels normalized to null) |
native_ |
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_ |
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_ |
long | yes | Born in the United States (Census variable B05001_002E) — the largest component of native_born, exposed directly rather than only summed |
born_ |
bigint | yes | 90% CI margin of error for born_in_us (Census variable B05001_002M; negative sentinels normalized to null) |
born_ |
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_ |
bigint | yes | 90% CI margin of error for born_in_pr_island_areas (Census variable B05001_003M; negative sentinels normalized to null) |
born_ |
long | yes | Born abroad of American parent(s) (Census variable B05001_004E) |
born_ |
bigint | yes | 90% CI margin of error for born_abroad_american_parents (Census variable B05001_004M; negative sentinels normalized to null) |
foreign_ |
long | yes | Foreign born (naturalized citizens plus non-citizens; there is no single Census variable for this concept) |
foreign_ |
bigint | yes | 90% CI margin of error for foreign_born (Census variable B05001_006M; negative sentinels normalized to null) |
naturalized_ |
long | yes | Naturalized US citizen |
naturalized_ |
bigint | yes | 90% CI margin of error for naturalized_citizen (Census variable B05001_005M; negative sentinels normalized to null) |
not_ |
long | yes | Not a US citizen |
not_ |
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_ |
string | yes | Population 15 years and over (total) |
b12001_ |
string | yes | Male never married |
b12001_ |
string | yes | Male now married (excluding separated) |
b12001_ |
string | yes | Male separated |
b12001_ |
string | yes | Male widowed |
b12001_ |
string | yes | Male divorced |
b12001_ |
string | yes | Female never married |
b12001_ |
string | yes | Female now married (excluding separated) |
b12001_ |
string | yes | Female separated |
b12001_ |
string | yes | Female widowed |
b12001_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total households |
total_ |
bigint | yes | 90% CI margin of error for total_households (Census variable B11001_001M; negative sentinels normalized to null) |
family_ |
long | yes | Family households |
family_ |
bigint | yes | 90% CI margin of error for family_households (Census variable B11001_002M; negative sentinels normalized to null) |
married_ |
long | yes | Married-couple family |
married_ |
bigint | yes | 90% CI margin of error for married_couple_family (Census variable B11001_003M; negative sentinels normalized to null) |
male_ |
long | yes | Male householder, no spouse present |
male_ |
bigint | yes | 90% CI margin of error for male_householder_no_spouse (Census variable B11001_005M; negative sentinels normalized to null) |
female_ |
long | yes | Female householder, no spouse present |
female_ |
bigint | yes | 90% CI margin of error for female_householder_no_spouse (Census variable B11001_006M; negative sentinels normalized to null) |
nonfamily_ |
long | yes | Nonfamily households |
nonfamily_ |
bigint | yes | 90% CI margin of error for nonfamily_households (Census variable B11001_007M; negative sentinels normalized to null) |
living_ |
long | yes | Householder living alone |
living_ |
bigint | yes | 90% CI margin of error for living_alone (Census variable B11001_008M; negative sentinels normalized to null) |
average_ |
double | yes | Average household size |
average_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
occupied_ |
long | yes | Total occupied housing units |
occupied_ |
bigint | yes | 90% CI margin of error for occupied_units (Census variable B25003_001M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units |
owner_ |
bigint | yes | 90% CI margin of error for owner_occupied (Census variable B25003_002M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units |
renter_ |
bigint | yes | 90% CI margin of error for renter_occupied (Census variable B25003_003M; negative sentinels normalized to null) |
median_ |
long | yes | Median value of owner-occupied units |
median_ |
bigint | yes | 90% CI margin of error for median_home_value (Census variable B25077_001M; negative sentinels normalized to null) |
median_ |
long | yes | Median gross rent |
median_ |
bigint | yes | 90% CI margin of error for median_gross_rent (Census variable B25064_001M; negative sentinels normalized to null) |
median_ |
long | yes | Median year structure built |
median_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total occupied housing units (all tenures, all ages) |
total_ |
bigint | yes | 90% CI margin of error for total_occupied (Census variable B25007_001M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units (all ages) |
owner_ |
bigint | yes | 90% CI margin of error for owner_occupied (Census variable B25007_002M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 15 to 24 years |
owner_ |
bigint | yes | 90% CI margin of error for owner_15_to_24 (Census variable B25007_003M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 25 to 34 years |
owner_ |
bigint | yes | 90% CI margin of error for owner_25_to_34 (Census variable B25007_004M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 35 to 44 years |
owner_ |
bigint | yes | 90% CI margin of error for owner_35_to_44 (Census variable B25007_005M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 45 to 54 years |
owner_ |
bigint | yes | 90% CI margin of error for owner_45_to_54 (Census variable B25007_006M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 55 to 59 years |
owner_ |
bigint | yes | 90% CI margin of error for owner_55_to_59 (Census variable B25007_007M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 60 to 64 years |
owner_ |
bigint | yes | 90% CI margin of error for owner_60_to_64 (Census variable B25007_008M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 65 to 74 years |
owner_ |
bigint | yes | 90% CI margin of error for owner_65_to_74 (Census variable B25007_009M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 75 to 84 years |
owner_ |
bigint | yes | 90% CI margin of error for owner_75_to_84 (Census variable B25007_010M; negative sentinels normalized to null) |
owner_ |
long | yes | Owner-occupied units where householder is 85 years and over |
owner_ |
bigint | yes | 90% CI margin of error for owner_85_and_over (Census variable B25007_011M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units (all ages) |
renter_ |
bigint | yes | 90% CI margin of error for renter_occupied (Census variable B25007_012M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 15 to 24 years |
renter_ |
bigint | yes | 90% CI margin of error for renter_15_to_24 (Census variable B25007_013M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 25 to 34 years |
renter_ |
bigint | yes | 90% CI margin of error for renter_25_to_34 (Census variable B25007_014M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 35 to 44 years |
renter_ |
bigint | yes | 90% CI margin of error for renter_35_to_44 (Census variable B25007_015M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 45 to 54 years |
renter_ |
bigint | yes | 90% CI margin of error for renter_45_to_54 (Census variable B25007_016M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 55 to 59 years |
renter_ |
bigint | yes | 90% CI margin of error for renter_55_to_59 (Census variable B25007_017M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 60 to 64 years |
renter_ |
bigint | yes | 90% CI margin of error for renter_60_to_64 (Census variable B25007_018M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 65 to 74 years |
renter_ |
bigint | yes | 90% CI margin of error for renter_65_to_74 (Census variable B25007_019M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 75 to 84 years |
renter_ |
bigint | yes | 90% CI margin of error for renter_75_to_84 (Census variable B25007_020M; negative sentinels normalized to null) |
renter_ |
long | yes | Renter-occupied units where householder is 85 years and over |
renter_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total housing units (all vintages) — brackets below should sum to this |
total_ |
bigint | yes | 90% CI margin of error for total_units (Census variable B25034_001M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 2020 or later |
built_ |
bigint | yes | 90% CI margin of error for built_2020_or_later (Census variable B25034_002M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 2010 to 2019 |
built_ |
bigint | yes | 90% CI margin of error for built_2010_to_2019 (Census variable B25034_003M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 2000 to 2009 |
built_ |
bigint | yes | 90% CI margin of error for built_2000_to_2009 (Census variable B25034_004M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 1990 to 1999 |
built_ |
bigint | yes | 90% CI margin of error for built_1990_to_1999 (Census variable B25034_005M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 1980 to 1989 |
built_ |
bigint | yes | 90% CI margin of error for built_1980_to_1989 (Census variable B25034_006M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 1970 to 1979 |
built_ |
bigint | yes | 90% CI margin of error for built_1970_to_1979 (Census variable B25034_007M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 1960 to 1969 |
built_ |
bigint | yes | 90% CI margin of error for built_1960_to_1969 (Census variable B25034_008M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 1950 to 1959 |
built_ |
bigint | yes | 90% CI margin of error for built_1950_to_1959 (Census variable B25034_009M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 1940 to 1949 |
built_ |
bigint | yes | 90% CI margin of error for built_1940_to_1949 (Census variable B25034_010M; negative sentinels normalized to null) |
built_ |
long | yes | Housing units built 1939 or earlier |
built_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total households |
total_ |
bigint | yes | 90% CI margin of error for total_households (Census variable B19001_001M; negative sentinels normalized to null) |
income_ |
long | yes | Households with income under $10,000 |
income_ |
bigint | yes | 90% CI margin of error for income_under_10k (Census variable B19001_002M; negative sentinels normalized to null) |
income_ |
long | yes | Households with income $10,000 to $24,999 |
income_ |
long | yes | Households with income $25,000 to $49,999 |
income_ |
long | yes | Households with income $50,000 to $99,999 |
income_ |
long | yes | Households with income $100,000 to $199,999 |
income_ |
long | yes | Households with income $200,000 or more |
income_ |
bigint | yes | 90% CI margin of error for income_200k_plus (Census variable B19001_017M; negative sentinels normalized to null) |
gini_ |
double | yes | Gini index of income inequality |
gini_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
total_ |
long | yes | Total housing units |
occupied_ |
long | yes | Occupied housing units |
vacant_ |
long | yes | Vacant housing units |
pep_population · table¶
Population Estimates Program (PEP) annual population estimate, at state and county levels, for the years between decennial censuses. Data years <= 2020 come from the pep/population dataset (which also includes a population density column for those years); data years >= 2021 come from the shared latest pep/charv vintage (population only). The vintage column identifies which of the two source datasets produced each row, so the two never double-claim a data year. KNOWN GAP: year 2020 itself is absent from production despite being within the pep/population vintage's range — see observedCoverage below (contiguous: false) before assuming a query over 2019-2021 has every year.
| Column | Type | Null | Description |
|---|---|---|---|
geo_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
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. <= 2020) |
vintage |
string | yes | PEP data vintage used to fetch this row: either the data year itself (pep/population, data years <= 2020) or the shared latest published vintage (pep/charv, data years >= 2021). Distinguishes the two source datasets so a data year is never ambiguous between them. |
cbp_establishments · table¶
County Business Patterns provides annual data on business establishments, employment, and payroll by industry (NAICS) at state and county levels.
| Column | Type | Null | Description |
|---|---|---|---|
geo_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
naics_ |
string | yes | 2017 NAICS industry code |
establishments |
long | yes | Number of establishments |
employees |
long | yes | Number of employees (mid-March) |
annual_ |
long | yes | Annual payroll ($1,000) |
first_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
total_ |
long | yes | Total population |
total_ |
bigint | yes | 90% CI margin of error for total_population (Census variable B01001_001M; negative sentinels normalized to null) |
male_ |
long | yes | Male population |
male_ |
bigint | yes | 90% CI margin of error for male_population (Census variable B01001_002M; negative sentinels normalized to null) |
female_ |
long | yes | Female population |
female_ |
bigint | yes | 90% CI margin of error for female_population (Census variable B01001_026M; negative sentinels normalized to null) |
median_ |
double | yes | Median age |
median_ |
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 only (areas with 65,000+ population — no county breakout). 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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
median_ |
long | yes | Median household income |
median_ |
bigint | yes | 90% CI margin of error for median_household_income (Census variable B19013_001M; negative sentinels normalized to null) |
per_ |
long | yes | Per capita income |
per_ |
bigint | yes | 90% CI margin of error for per_capita_income (Census variable B19301_001M; negative sentinels normalized to null) |
economic_census · table¶
Economic Census provides comprehensive business statistics including establishments, employment, payroll, and sales by industry. 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.
| Column | Type | Null | Description |
|---|---|---|---|
geo_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
naics_ |
string | yes | NAICS industry code (version depends on census year) |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
all_ |
long | yes | All ages in poverty count estimate |
all_ |
double | yes | All ages poverty rate estimate |
child_ |
long | yes | Ages 0-17 in poverty count estimate |
child_ |
double | yes | Ages 0-17 poverty rate estimate |
median_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
insured_ |
long | yes | Number insured estimate |
uninsured_ |
long | yes | Number uninsured estimate |
insured_ |
double | yes | Percent insured estimate |
uninsured_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
job_ |
long | yes | Number of jobs created |
job_ |
long | yes | Number of jobs destroyed |
net_ |
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_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
county |
string | yes | County FIPS code (3 digits, within state) |
county_ |
string | yes | 5-digit county FIPS code (state + county) for joining to geo.counties |
naics_ |
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_ |
string | yes | Survey date in YYYYMM format |
state_ |
string | yes | State FIPS code (2-digit) |
state_ |
string | yes | State name |
single_ |
string | yes | Single-family housing units authorized |
single_ |
string | yes | Value of single-family permits ($1000) |
duplex_ |
string | yes | Duplex housing units authorized |
duplex_ |
string | yes | Value of duplex permits ($1000) |
three_ |
string | yes | 3-4 unit housing units authorized |
three_ |
string | yes | Value of 3-4 unit permits ($1000) |
five_ |
string | yes | 5+ unit housing units authorized |
five_ |
string | yes | Value of 5+ unit permits ($1000) |
survey_ |
INTEGER | yes | Calendar year parsed from survey_date (YYYYMM); the real time filter target |
survey_ |
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 (sPayroll=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_ |
varchar | yes | |
geography |
varchar | yes | |
ind_ |
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_ |
varchar | yes | |
Emp |
bigint | yes | |
EmpEnd |
bigint | yes | |
EmpS |
bigint | yes | |
EmpTotal |
bigint | yes | |
EmpSpv |
bigint | yes | |
HirA |
bigint | yes | |
HirN |
bigint | yes | |
HirR |
bigint | yes | |
Sep |
bigint | yes | |
HirAEnd |
bigint | yes | |
SepBeg |
bigint | yes | |
HirAEndRepl |
bigint | yes | |
HirAEndR |
double | yes | |
SepBegR |
double | yes | |
HirAEndReplR |
double | yes | |
HirAS |
bigint | yes | |
HirNS |
bigint | yes | |
SepS |
bigint | yes | |
SepSnx |
bigint | yes | |
TurnOvrS |
double | yes | |
FrmJbGn |
bigint | yes | |
FrmJbLs |
bigint | yes | |
FrmJbC |
bigint | yes | |
FrmJbGnS |
bigint | yes | |
FrmJbLsS |
bigint | yes | |
FrmJbCS |
bigint | yes | |
EarnS |
bigint | yes | |
EarnBeg |
bigint | yes | |
EarnHirAS |
bigint | yes | |
EarnHirNS |
bigint | yes | |
EarnSepS |
bigint | yes | |
Payroll |
bigint | yes | |
sEmp |
int | yes | |
sEmpEnd |
int | yes | |
sEmpS |
int | yes | |
sEmpTotal |
int | yes | |
sEmpSpv |
int | yes | |
sHirA |
int | yes | |
sHirN |
int | yes | |
sHirR |
int | yes | |
sSep |
int | yes | |
sHirAEnd |
int | yes | |
sSepBeg |
int | yes | |
sHirAEndRepl |
int | yes | |
sHirAEndR |
int | yes | |
sSepBegR |
int | yes | |
sHirAEndReplR |
int | yes | |
sHirAS |
int | yes | |
sHirNS |
int | yes | |
sSepS |
int | yes | |
sSepSnx |
int | yes | |
sTurnOvrS |
int | yes | |
sFrmJbGn |
int | yes | |
sFrmJbLs |
int | yes | |
sFrmJbC |
int | yes | |
sFrmJbGnS |
int | yes | |
sFrmJbLsS |
int | yes | |
sFrmJbCS |
int | yes | |
sEarnS |
int | yes | |
sEarnBeg |
int | yes | |
sEarnHirAS |
int | yes | |
sEarnHirNS |
int | yes | |
sEarnSepS |
int | yes | |
sPayroll |
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_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
median_ |
long | yes | Median earnings, total population 25+ with earnings |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_total (Census variable B20004_001M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, less than high school graduate |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_less_than_hs (Census variable B20004_002M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, high school graduate (includes equivalency) |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_hs_graduate (Census variable B20004_003M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, some college or associate's degree |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_some_college (Census variable B20004_004M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, bachelor's degree |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_bachelors (Census variable B20004_005M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, graduate or professional degree |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_graduate_degree (Census variable B20004_006M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, male, total 25+ with earnings |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_male_total (Census variable B20004_007M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, male, less than high school graduate |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_male_less_than_hs (Census variable B20004_008M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, male, high school graduate (includes equivalency) |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_male_hs_graduate (Census variable B20004_009M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, male, some college or associate's degree |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_male_some_college (Census variable B20004_010M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, male, bachelor's degree |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_male_bachelors (Census variable B20004_011M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, male, graduate or professional degree |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_male_graduate_degree (Census variable B20004_012M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, female, total 25+ with earnings |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_female_total (Census variable B20004_013M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, female, less than high school graduate |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_female_less_than_hs (Census variable B20004_014M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, female, high school graduate (includes equivalency) |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_female_hs_graduate (Census variable B20004_015M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, female, some college or associate's degree |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_female_some_college (Census variable B20004_016M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, female, bachelor's degree |
median_ |
bigint | yes | 90% CI margin of error for median_earnings_female_bachelors (Census variable B20004_017M; negative sentinels normalized to null) |
median_ |
long | yes | Median earnings, female, graduate or professional degree |
median_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
pop_ |
long | yes | Total population 25 years and over |
pop_ |
bigint | yes | 90% CI margin of error for pop_25_plus (Census variable B06009_001M; negative sentinels normalized to null) |
foreign_ |
long | yes | Foreign-born population 25 years and over |
foreign_ |
bigint | yes | 90% CI margin of error for foreign_born_pop_25_plus (Census variable B06009_025M; negative sentinels normalized to null) |
foreign_ |
long | yes | Foreign born, less than high school graduate |
foreign_ |
bigint | yes | 90% CI margin of error for foreign_born_less_than_hs (Census variable B06009_026M; negative sentinels normalized to null) |
foreign_ |
long | yes | Foreign born, high school graduate (includes equivalency) |
foreign_ |
bigint | yes | 90% CI margin of error for foreign_born_hs_graduate (Census variable B06009_027M; negative sentinels normalized to null) |
foreign_ |
long | yes | Foreign born, some college or associate's degree |
foreign_ |
bigint | yes | 90% CI margin of error for foreign_born_some_college (Census variable B06009_028M; negative sentinels normalized to null) |
foreign_ |
long | yes | Foreign born, bachelor's degree |
foreign_ |
bigint | yes | 90% CI margin of error for foreign_born_bachelors (Census variable B06009_029M; negative sentinels normalized to null) |
foreign_ |
long | yes | Foreign born, graduate or professional degree |
foreign_ |
bigint | yes | 90% CI margin of error for foreign_born_graduate_degree (Census variable B06009_030M; negative sentinels normalized to null) |
foreign_ |
long | yes | Foreign born with a bachelor's degree or higher (029E + 030E) |
native_ |
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_ |
string | yes | Geographic area name |
state |
string | yes | State FIPS code (2 digits) |
households_ |
long | yes | Total households |
households_ |
long | yes | Households classified under the native population |
households_ |
long | yes | Households classified under the foreign-born population |
households_ |
long | yes | Households classified under the foreign-born, naturalized-citizen population |
households_ |
long | yes | Households classified under the foreign-born, not-a-citizen population |
median_ |
long | yes | Median household income, all households (dollars) |
median_ |
long | yes | Median household income, native population (dollars) |
median_ |
long | yes | Median household income, foreign-born population (dollars) |
median_ |
long | yes | Median household income, foreign-born naturalized-citizen population (dollars) |
median_ |
long | yes | Median household income, foreign-born not-a-citizen population (dollars) |
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_ |
long | yes | Unweighted respondent count answering the vote question (PES1) Yes or No |
population_ |
double | yes | Weighted citizen voting-age population answering the vote question Yes or No |
population_ |
double | yes | Weighted population reporting they voted (PES1 = Yes) |
voted_ |
double | yes | Reported voting rate — 100 * population_voted / population_reported_voted |
sample_ |
long | yes | Unweighted respondent count answering the registration question (PES2) Yes or No |
population_ |
double | yes | Weighted citizen voting-age population answering the registration question Yes or No |
population_ |
double | yes | Weighted population reporting they are registered (PES2 = Yes) |
registered_ |
double | yes | Reported registration rate — 100 * population_registered / population_reported_registered |