OrbTop

OpenStates Legislation Crawler - 50-State Bill Tracker

BUSINESSAUTOMATIONOTHER

OpenStates Legislation Crawler - 50-State Bill Tracker

Extract state legislation records from the Open States API v3 covering all 50 US states, Washington DC, and Puerto Rico. Filter bills by jurisdiction, session, subject, keyword, or date range. Outputs bill metadata, primary sponsors, legislative action history, vote records, and bill text version links -- ideal for AI policy monitoring, regulatory compliance tracking, and government intelligence workflows.

Features

  • Track legislation across all 50 US states + DC + PR via the Open States API v3
  • Filter by state, legislative session, subject tag, bill type, full-text keyword, or last-updated date
  • Extract sponsor names and classifications (primary/co-sponsor), with primary sponsor highlighted
  • Get full legislative action history per bill: date, chamber, and description of each action
  • Include vote records with yes/no/absent counts per chamber vote
  • Include bill text version links (introduced, amended, enrolled) as formatted URL strings
  • Delta mode: updatedSince field enables daily polling workflows (only new/changed bills)
  • Pay-per-event pricing at roughly $0.001 per record

Authentication

This actor requires a free Open States API key. Register at https://openstates.org/accounts/signup/ using a GitHub, Google, Twitter, or Facebook account. After registration, visit your profile page to copy your API key.

Provide the key via the apiKey input field, or store it as the OPENSTATES_API_KEY actor environment variable for scheduled runs.

Who Uses Open States Data and Why

  • Policy monitoring teams -- track AI, healthcare, climate, or other subject-tagged bills across all states in real time
  • Lobbying and government affairs teams -- monitor bills by session, sponsor, or subject that affect your industry
  • Compliance and legal teams -- receive alerts when bills in your regulatory space advance through committee or pass
  • Political researchers and journalists -- analyze legislative trends, sponsor patterns, and voting records across jurisdictions
  • Civic tech developers -- power constituent alert systems, legislative calendars, and policy comparison tools

How It Works

  1. You provide your Open States API key plus at least one filter: a state name, a keyword, or a subject tag.
  2. The crawler queries v3.openstates.org/bills with page-based pagination (20 bills per page, max ~30 requests/minute on the free tier).
  3. Each bill is transformed into a clean output record: flat strings for classification/subjects, pipe-delimited strings for actions/votes/versions.

Input Parameters

Field Description Default
apiKey Your Open States API key (required) --
jurisdiction State name or abbreviation (e.g. California, ca) California
session Legislative session (e.g. 2025-2026) all
subject Subject tag filter, comma-separated (e.g. artificial intelligence) --
query Full-text keyword search --
classification Bill type: bill, resolution, etc. all
updatedSince Delta mode: only bills updated on/after this date (YYYY-MM-DD) --
sortOrder Sort order for results updated_desc
includeVotes Include legislator vote records per bill false
includeVersions Include bill text version links true
maxItems Maximum number of bills to return (0 = unlimited) 15

Output Fields

Each output record contains:

Field Description
bill_id Open States internal OCD bill identifier
jurisdiction State or territory name
state_abbr Two-letter state abbreviation (CA, TX, etc.)
session Legislative session identifier
chamber Chamber of origination (upper/lower)
bill_number Official bill ID (e.g. SB 205, HB 123)
title Full official bill title
classification Bill type(s) as comma-separated string
subjects Subject tags as comma-separated string
primary_sponsor Name of the primary bill sponsor
sponsors All sponsors as name:classification strings
actions Legislative actions as date|chamber|description strings
votes_summary Vote records as date|chamber|result|yes:N|no:N|absent:N strings
versions Bill text links as note|date|url strings
source_urls Source URLs for the bill record
openstates_url Direct link to the bill on OpenStates.org
first_action_date Date of first legislative action
latest_action_date Date of most recent action
latest_action_description Description of most recent action
latest_passage_date Date the bill last passed
created_at Record creation timestamp in Open States
updated_at Record last-modified timestamp in Open States

Rate Limits and Performance

The Open States free tier allows approximately 30 requests per minute. This actor uses a conservative 2.2-second delay between API calls. At 20 bills per page, this yields roughly 540 bills per minute. For large state-wide pulls (thousands of bills), consider using updatedSince for delta polling rather than pulling full history repeatedly.

Example Use Cases

Monitor AI-related bills across all states: Set subject to artificial intelligence and leave jurisdiction empty.

Track California bills updated this week: Set jurisdiction to California and updatedSince to the start of the current week.

Pull all bills from the current Texas session: Set jurisdiction to Texas and session to 2025.

Set up daily polling for a specific subject: Schedule daily runs with updatedSince set to yesterday's date using a dynamic date expression.