Find your state legislators, see their committees, and track how they vote.
Live site: nina-coder.github.io/civic-data
Structured, open data on state legislatures — starting with Colorado — plus a static site that lets anyone look up their legislators by address. Designed to scale to all 50 states.
The data includes:
- 100 legislators — all 65 House members and 35 Senate members, with party, district, contact info, and photo links
- Committees — membership rosters and chair assignments for all standing committees in both chambers
- Bills + votes — introduced bills with full vote records broken down by legislator
- District boundaries — GeoJSON files for all 100 legislative districts, sourced from Census TIGER
All data files are in YAML and GeoJSON, easy to read and import.
Clone the repo and explore the YAML files directly:
git clone https://github.com/nina-coder/civic-data.git
cd civic-dataLegislators are in data/legislators/, one file per chamber:
ls data/legislators/
# house.yaml senate.yaml
head -30 data/legislators/house.yamlCommittee rosters are in data/committees/, bills in data/bills/, and district boundaries in data/districts/.
-
Install dependencies:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Set up API keys:
cp .env.example .env # Edit .env and add your OpenStates and LegiScan API keys -
Sync data from upstream sources:
python scripts/sync.py
-
Build the static site:
python scripts/build.py
-
Open the site:
open docs/index.html # or: python -m http.server --directory docs
| Source | What it provides | License |
|---|---|---|
| OpenStates | Legislators, committees, bills | CC BY 4.0 |
| LegiScan | Vote records, bill text | Free tier, attribution required |
| Census TIGER | District boundaries | Public domain |
| Census Geocoder | Address-to-district lookup | Public domain |
Code: MIT — Copyright 2026 Nina Rivera
Data: CC BY 4.0 — Copyright 2026 Nina Rivera. Underlying source data is subject to the terms of each upstream provider (see table above).
See CONTRIBUTING.md for how to add states, fix data errors, or report issues.