Governmental Free & Open

US Census Bureau

The US Census Bureau is the nation's leading provider of quality demographic data. Beyond the decennial census, it provides vital statistics through various surveys including the American Community Survey (ACS), economic indicators, and population estimates

Status Tracker Past 24 hours

Current status

Operational

100.0% operational in known checks

Checked Jun 16, 7:05 PM

24h ago Now
Operational Polling issues Impacted No data
All sources
Data access source profile JSON profile →

Access

open

Collection level

L2

Confidence

medium

Recommended next action

Use the documented public content probe, then promote to freshness only after a stable value is confirmed.

Exportable data

public_api

Docker fit

docker_ok_with_storage

Estimated size

huge

apibulk-exportcsvdirect-linkend-userotherpdfportalrest-api-and-catalogxlsx
Access & Pricing Visit source →

Cost

Free

Access type

open

Signup required

No

Update alerts

Not offered

Coverage

north america

Update frequency

varies

Source Documentation

What You're Getting

US Census Bureau provides the most granular US demographic and economic data: Decennial Census (10-year), American Community Survey (ACS, 1-year and 5-year estimates), Current Population Survey (CPS), Economic Census (5-year), County Business Patterns (annual), International Trade Statistics, Building Permits, and more. Data is organized by geographic unit (nation, state, county, tract, block group) and demographic/economic variables.

Ingestion Strategy

Use the Census API — free, no authentication required for basic use (key improves rate limits). ACS 5-year data is the workhorse for sub-state geography. Queries specify variables (e.g. B01001_001E for total population), geography (e.g. state, county), and dataset (e.g. acs/acs5).

import requests, pandas as pd

# ACS 5-year: median household income by county
url = "https://api.census.gov/data/2022/acs/acs5"
params = {
    "get": "NAME,B19013_001E",
    "for": "county:*",
    "in": "state:*",
    "key": "your_key"  # optional but recommended
}
r = requests.get(url, params=params)
df = pd.DataFrame(r.json()[1:], columns=r.json()[0])

Rate Limits & API Details

  • No key: 500 requests/day; with free key: higher limits
  • Key registration: api.census.gov/data/key_signup.html
  • API base: api.census.gov/data/{year}/{dataset}
  • TIGER/Line shapefiles for geographic boundaries: census.gov/geographies/mapping-files/time-series/geo/tiger-line-file.html

Schema Stability

Variable codes (e.g. B19013_001E) change between ACS releases — the table structure is re-published each year with some changes. Always pull the variable dictionary for the specific year you're loading. Geographic FIPS codes are stable; sub-county geographies can change with Decennial Census redistricting. ACS 5-year estimates are not comparable across overlapping periods — use non-overlapping periods for trend analysis.

Data Quality Gotchas

  • Estimates with margins of error: ACS data includes MOE columns (e.g. B19013_001M) — always store and surface these, especially for small geographies
  • Geography changes: county and census tract boundaries change with each Decennial Census; use GEOIDs carefully when building time series
  • ACS 1-year vs 5-year: 1-year is current but only for areas with 65,000+ population; 5-year covers all geographies but is a rolling average
  • Suppression: small cells are suppressed for privacy (shown as -666666666) — handle these explicitly

Tool Compatibility

  • Python: census PyPI package; cenpy; direct API calls
  • R: tidycensus (excellent, highly recommended)
  • Airbyte: no official connector
  • TIGER shapefiles: use geopandas for Python spatial analysis

Benchmarking Approach

US total population (ACS 5-year, B01001_001E): should match Census Bureau published estimate within 1%. County count: 3,143. After each December ACS release, verify new year data is available within 5 business days. Cross-check median household income for a known county against Census press release. Alert if MOE-to-estimate ratio exceeds 30% for more than 20% of county rows.

Visit Data Source

Data Formats

api csv other xlsx pdf

API Quickstart

— Python — fetch population by state
Docs →
import requests

API_KEY = "your_census_key"
url = "https://api.census.gov/data/2022/acs/acs5"
params = {
    "get": "NAME,B01001_001E",   # Name + total population
    "for": "state:*",
    "key": API_KEY
}
r = requests.get(url, params=params)
rows = r.json()
for row in sorted(rows[1:], key=lambda x: -int(x[1]))[:5]:
    print(row[0], f"{int(row[1]):,}")

How to Access

  • 🌐 end user
  • 📦 bulk export

Notable Datasets

26 total
  • Decennial Census — P1TOTAL POPULATION
  • American Community Survey — S0101Age and Sex
  • American Community Survey — DP05ACS Demographic and Housing Estimates
  • American Community Survey — S1901Income in the Past 12 Months (in 2023 Inflation-Adjusted Dollars)
  • American Community Survey — DP03Selected Economic Characteristics
  • Decennial Census — P2URBAN AND RURAL
  • American Community Survey — DP02Selected Social Characteristics in the United States
  • American Community Survey — DP04Selected Housing Characteristics
  • + 18 more at the source

Index entry

Added: Apr 30, 2026

Last indexed: Jun 16, 2026

Unverified entry

Learn

Recent articles

View all →