State legislative data sources: how the 50 states publish bill data (2026)
A reference for how each state publishes legislative data. API availability, refresh cadence, coverage gaps, and what this all means if you're buying or building a multistate tracker.

Legislative data is deceptively hard. Fifty state legislatures, one Congress, five territorial legislatures, each publishing bill data in its own format, on its own cadence, through its own interface. If you’re building or buying a tracker, the data-source landscape is the difference between a system that works and one that quietly rots.
This is a 2026 field guide to what each source looks like, what you can rely on, and where the gaps live.
The four tiers
There are four classes of state legislative data in practice. The top tier (five states) publishes real-time APIs. A second tier (about 20 states) publishes machine-readable daily exports. A third tier works only through HTML scraping, but reliably. A fourth tier of four to six states is inconsistent enough that production tracking requires third-party aggregation or manual maintenance.
| Tier | Cadence | States | Typical access |
|---|---|---|---|
| 1. Real-time API | < 15 min | CA, TX, NY, IL, FL | Direct state API plus Open States backup |
| 2. Daily machine-readable | 4 to 24h | MA, NJ, PA, OH, MI, GA, NC, VA, WA, CO, AZ, MN, WI, MO, TN, SC, IN, MD, CT, OR | Open States, LegiScan, NCSL feeds |
| 3. HTML scrape, stable | 6 to 48h | KY, LA, AL, OK, AR, IA, KS, UT, NV, NM, NE, WV, MS, MT, NH, ME, VT, DE, RI, HI | Open States scrapers, fragile to rewrites |
| 4. Inconsistent / manual | Variable | AK, ID, ND, SD, WY | Mixed. Usually needs human maintenance |
Tier assignments reflect the most reliable available feed, not every feed. Several Tier 3 states (Virginia, for example) do have an official API, but it’s maintained inconsistently enough that production systems usually prefer the Open States normalized copy.
These tiers are a snapshot. States occasionally modernize. Minnesota jumped from Tier 3 to Tier 2 in 2024 when it launched a normalized data portal. States also regress when legislative IT budgets change. Any serious tracker should reassess at least annually.
What’s actually in a legislative feed
Bills, actions, and versions
A useful feed exposes three linked objects.
Bill metadata. Bill number, title, sponsors, session, current status, practice-area classification where available.
Actions. The audit trail: introduction, committee referral, committee hearing, committee vote, floor vote, engrossment, enrollment, signature or veto.
Versions. The text of the bill at each amendment point. A single bill may go through 4 to 20 versions.
Tier 1 states deliver all three as structured JSON. Tier 3 states typically deliver metadata as structured data but amendments and text as PDFs that get processed downstream.
Committee hearings
Committee hearing schedules are the weak link in almost every jurisdiction. Practically no state publishes them as a first-class API resource. They live on committee pages, in PDFs, or embedded inside general calendars that combine floor and committee sessions.
For teams that need to testify, the gap between “the bill was scheduled” and “we learned it was scheduled” can be 12 to 36 hours. Closing that gap is a disproportionate amount of the engineering value of a tracking product.
Votes
Floor votes are reliable across all 50 states. Committee votes are all over the map. Some states record roll-call committee votes in the feed. Others record only the outcome. A handful, mostly in Tier 4, record committee votes by voice without attribution.
Third-party aggregators
Open States (Plural Policy)
Open States started as a non-profit aggregator and is now commercial. It scrapes and normalizes all 50 state legislatures plus D.C. and Puerto Rico. It is the closest thing the industry has to a canonical multistate feed.
What it fixes: schema normalization, consistent bill IDs, state-by-state scraper maintenance, cross-state search. The data model is stable, documented, and queryable via GraphQL.
What it doesn’t fix: real-time latency (daily for most states), committee hearing schedules (spotty), full-text version diffs (generally links to source PDFs), news-to-bill association.
LegiScan
LegiScan is a paid alternative. Historically stronger on committee votes and enrolled text. Requires an API key beyond trivial usage.
What it fixes: committee vote attribution, enrolled text availability, Congress alongside states.
What it doesn’t fix: the same committee hearing gap. It also has coverage holes in smaller states.
NCSL
The National Conference of State Legislatures maintains topic-specific trackers and a general search interface. Useful for one-off research, not designed for production integration.
A production tracker almost never relies on a single source. The pattern that works: Open States as baseline, LegiScan for committee votes, direct APIs for the top five states, and domain-specific scrapers for committee hearings. Merge, deduplicate, normalize into one schema.
Congress is its own case
Congress is not a 51st state, but it shares enough structure that most trackers integrate it alongside state data.
The Congress.gov API, launched in 2022 and expanded through 2025, is now a Tier 1 source. Well documented, stable, with committee action coverage stronger than any individual state. GovTrack and ProPublica Congress API pre-date the official API and remain in active use.
Unlike state feeds, Congress has a real-time feed for:
- Bill introductions and actions (sub-hour)
- Committee markups with roll-call votes
- Floor votes with member attribution
- Enacted law text via GPO
Congress is the only legislature where a tracker can honestly claim near-zero latency on every action type that matters.
What this means for a tracking product
Three practical consequences fall out of the landscape.
Cadence should be per state, not global. A tool promising real-time for all 50 states is either lying or applying “real-time” to actions that can’t be. Users can handle latency if they know about it.
Reliability takes defensive engineering. Tier 3 scrapers break silently when a state redesigns its legislature site. A tracker without automated schema-drift detection will have states quietly disappear from coverage for weeks before anyone notices.
Coverage is not uniform. “50-state coverage” is underspecified. Ask: committee hearings, covered in how many states? Committee vote attribution, how many? Full-text amendment diffs, how many? News-to-bill association, how many? These are the questions to ask a vendor, and to ask yourself if you’re building.
How LawSignals handles it
LawSignals runs on a merged feed. Open States as baseline, direct APIs for Tier 1, a committee-hearing scraper reading 42 state committee pages on a 15-minute loop, and a news-to-bill association layer that uses semantic matching instead of keywords. Coverage is labeled per signal per state. No marketing claim of uniform real-time 50-state coverage, because that claim isn’t true.
If you’re evaluating a tracker and want to talk through coverage specific to your jurisdictions, book a demo.

