Home › Data & downloads › Search the data
Search the data
Find a column by name or description across every panel on this site, see how well it's populated, then filter a panel's rows on that column — without downloading anything or writing code. Everything below runs on the server against the real files.
What this is, and what it is not
These are the site's downloadable panels, queried in place. A filtered table is not a finding — it is a slice of published, aggregate, group-level data (states, counties or countries, not people). Draw your own conclusions, and check the source column for each figure before you rely on it.
Prefer to work locally? Every panel is also a
plain CSV download, and this same search is available as JSON at
/data/query.json (documented at the bottom of this page).
1. Find a column
2. Filter a panel's rows
Pick a panel, a column, and a condition. above and below compare the
column as a number; contains matches it as text. Rows where the column is blank in the source file
never match a numeric filter — they are not zero, they are missing.
State panel (67 columns)
County panel (143 columns)
Country panel (48 columns)
State cognitive decline & caregiving (CDC BRFSS) (64 columns)
Use this programmatically
GET /data/query.json takes the same parameters as this page and returns the same results as
JSON — nothing here requires a browser.
| Parameter | Meaning |
|---|---|
q | Search term for column names/descriptions across panels. |
scope | Restrict the column search to one panel: state, county, country, cognitive, or all. |
panel | Panel to filter rows in: state, county, country, or cognitive. |
column | Column within that panel to filter on. |
op | above, below, or contains. |
value | Number (for above/below) or text (for contains). |
sort | Optional column to sort matched rows by. |
dir | asc (default) or desc. |
page, per_page | Pagination for row results; per_page capped at 200. |
Example:
/data/query.json?panel=state&column=alz_prevalence_65plus_pct&op=above&value=12
A malformed request (unknown panel/column, non-numeric value for above/below, missing value) returns HTTP 400
with an errors array explaining what was wrong — never a stack trace, and never an invented value.