IPUMS & Tidycensus

The two tools that shape how most people actually work with US demographic data. Neither is used to build this site's reports — but you cannot describe the demographic landscape honestly without them.

Why they are here
This site hands you finished data: current county measures, comparable across the same geographies, ready to read or download. IPUMS and tidycensus are how you would build your own — the deep history, the microdata, the census tracts, the custom pulls. They serve the need this site deliberately does not: see why there is no history beyond the prior year. If you need to go further than what is here, go here.

IPUMS

Run by the University of Minnesota, IPUMS takes census and survey microdata — the individual anonymized records behind the published tables — and harmonizes it, so that variables mean the same thing across decades. That harmonization is the hard part, and it is why IPUMS is the backbone of most serious demographic research. Free, with registration.

IPUMS USA Microdata
Decennial census and ACS microdata, 1850 to the present. The standard source for long-run US demographic history.
IPUMS CPS Microdata
Current Population Survey microdata, harmonized from 1962 — including the ASEC supplement, the source of the official national poverty measure.
IPUMS NHGIS Tables + GIS
Aggregate census tables and matching GIS boundary files back to 1790, with boundaries harmonized over time — which is what makes genuine historical comparison possible when county and tract lines move.
Harmonized NHIS and MEPS microdata — the health-survey counterpart, covering the national surveys listed on the Sources page.
Census microdata for 100+ countries, harmonized on the same principles — for when the question stops at the US border and the answer does not.

Start at ipums.org. Note the trade-off: microdata is enormously powerful and not remotely quick — you build your own estimates, and you own the methodology.

Tidycensus & the R toolchain

If IPUMS is where the deep data lives, tidycensus is how most analysts get census data into a working session. Written by Kyle Walker (Texas Christian University), it wraps the Census API so an ACS pull is a few lines of R — returned tidy, and optionally with map geometry attached. Since 2017 it has quietly become the default.

ACS and decennial data as tidy data frames, with geometry on request. Needs a free Census API key — the same key this site's ACS5 Data Explorer page uses to query the API live. (GitHub)
Census TIGER/Line boundary files as ready-to-map objects. The companion to tidycensus: one gives you the numbers, the other the shapes.
Walker's book, readable free online. Genuinely the best single introduction to working with census data — worth reading even if you never write a line of R, because the chapters on margins of error, geography, and comparison over time are about the data itself, not the language.
Python equivalents Python
pygris (boundaries, also Walker) and cenpy (Census API access) cover similar ground for Python users.

Which should you use?

A rough guide, since the three overlap:

Want the current answer for a county? Stay here — that is what this site is for, and the data is loaded within days of release.
Want to pull your own ACS fields, tracts, or earlier years? Use ACS5 Data Explorer on this site, or tidycensus if you work in R.
Want long-run history, or to compute something nobody publishes? That is IPUMS territory. It is also, for what it is worth, the same reason this site calculates its own life expectancy — when the number you need does not exist, you build it from the records underneath.