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 it means for buyers and builders.

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, with an aggregator as 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 | Official daily exports, 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 | Dedicated scrapers, fragile to site 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 a 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
Normalized multistate feeds
Several commercial aggregators scrape and normalize all 50 state legislatures plus D.C. and Puerto Rico into one schema. They are the closest thing the industry has to a canonical multistate feed, and the licence terms and pricing vary enough that they are worth comparing directly.
What they fix: schema normalization, consistent bill IDs, state-by-state scraper maintenance, cross-state search.
What they don’t fix: real-time latency (daily for most states), committee hearing schedules (spotty), full-text version diffs (generally links to source PDFs).
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: a normalized aggregator 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.
One merged feed, labelled per signal, with two gaps named
LawSignals runs on a merged feed: direct APIs where a state offers one, dedicated scrapers where it does not, and each legislature’s own bulk archive where it publishes one. Bills are scored against a written practice-area scope, and federal rulemaking arrives separately from the Federal Register. Coverage is labeled per signal per state, with no marketing claim of uniform real-time 50-state coverage, because that claim isn’t true.
Two gaps worth naming, since this post is about being specific: committee hearing schedules are not a covered signal, and there is no news-to-bill layer. If hearing schedules are load-bearing for your work, that is a real reason to look elsewhere.
If you’re evaluating a tracker and want to talk through coverage specific to your jurisdictions, book a demo.
Related solutions: See our state legislation tracking page for full multistate capabilities, explore our policy tracking software, or learn about bill tracking software evaluation criteria.
