Microproduct data guidebeginner

Open States Legislation

State bill, legislator, and jurisdiction records for building state-level policy trackers that stay inside Open States use limits.

At a glance

Difficulty
Beginner — comfortable for a first prototype
Size
Small · ≤0.1 GB
Formats
JSON
Access
API
API key
Required
Provider
Open States / Plural Policy
Updates
Daily

From source to product signal

Test a product idea in four steps

Open States API v3 returns bills and legislators for U.S. states. Start with one jurisdiction and a small page of recent bills. Coverage and scrape lag vary by state, and this feed is not the enrolled text of record.

1

Check the setup

  • Python 3.10 or newer
  • A notebook environment such as Jupyter or Google Colab
  • A free Open States API key saved in the OPENSTATES_API_KEY environment variable
2

Access the data

  1. 1.Create an Open States account and request an API key.
  2. 2.Save the key in the OPENSTATES_API_KEY environment variable.
  3. 3.Request one jurisdiction's bills with a small page size.
Open official source
3

Run the Python example

Install the packages, then run the notebook cell.

python -m pip install pandas requests

import os
import pandas as pd
import requests

response = requests.get(
    "https://v3.openstates.org/bills",
    params={
        "jurisdiction": "Colorado",
        "sort": "updated_desc",
        "per_page": 10,
        "page": 1,
    },
    headers={"X-API-KEY": os.environ["OPENSTATES_API_KEY"]},
    timeout=30,
)
response.raise_for_status()
bills = pd.json_normalize(response.json()["results"])
bills["retrieved_at_utc"] = pd.Timestamp.now(tz="UTC")
print(bills[["identifier", "title", "latest_action_date"]].head(10))
4

Test a useful signal

Watch recently updated bills in one state

Test whether a ten-bill extract can power a focused state-policy inbox.

  1. 01Keep bill identifiers, titles, and latest action dates for Colorado.
  2. 02Group bills by latest action date and flag missing titles.
  3. 03Explain that scrape lag and jurisdiction coverage mean this is not the legislature's official record.

Dataset details

Open States / Plural Policy is a nonprofit source. Last verified 2026-08-17. Temporal coverage: current sessions with historical coverage by jurisdiction.

Theme

Government & Policy

Domains

LegislationPublic PolicyGovernment

Data types

Event DataTabularText

Tasks

Legislative MonitoringAlertingTopic Research

Geography

United States

Formats

JSON

Provider

Open States / Plural Policy

Data terms

Open States terms with no copyright claim over collected legislative data