What it returns
Search bills and resolutions in all 50 state legislatures, DC and Puerto Rico for the current and recent sessions, and the committee hearings coming up, with their agendas and the bills on them. Data from Open States (Plural Policy), rebuilt daily; queries run against the whole corpus in about a second.
Bills (dataset: bills): state, jurisdiction, session, sessionName, billId, title, classification, subjects, chamber, abstract, introducedDate, latestActionDate, latestAction, status (introduced, in-committee, passed-chamber, became-law, vetoed), committees, sponsors (primary), cosponsorsCount, sourceUrl (legislature page), textUrl (latest version), openstatesUrl, and actions with includeActions.
Hearings and events (dataset: events): state, name, description, classification, startDate, endDate, status, location, committees, bills on the agenda, agenda items, documents (agendas, notices, testimony), links, sourceUrl.
Request
POST https://api.pushbuild.com/state-legislation-tracker/run with a JSON body. Send your key in the X-API-Key header.
| Field | Type | Description |
|---|---|---|
dataset | string: bills, events, sources | bills: state bills and resolutions. events: committee hearings and floor sessions with agendas and the bills on them. sources: build health. Default: "bills". |
query | string | Words that must all appear (bills: title, abstract, subjects; events: name, committee, agenda, bills). With regex on, a case-insensitive regular expression, e.g. genetic (privacy|testing)|biomarker. |
regex | boolean | Treat query as a regular expression (RE2 syntax). Default: false. |
states | list of strings | Two-letter codes. Empty = all 50 states, DC and PR. |
billIds | list of strings | e.g. HB 1234, SB12, A 8492. Spacing and case are ignored. For events: hearings that have these bills on the agenda. |
committee | string | Bills referred to, or hearings held by, a committee whose name contains this, e.g. Public Health. |
sponsor | string | Bills: primary sponsor name contains this. |
session | string | Bills: session identifier or name, e.g. 2026 or 2025-2026. Empty = all loaded sessions (current and recent). |
statuses | list of strings | Bills: derived from the action history. |
actionSince | string | Bills whose latest action is on or after this date. |
introducedFrom | string | Bills introduced on or after this date. |
introducedTo | string | Bills introduced on or before this date. |
hearingScheduled | boolean | Bills: only bills on the agenda of an upcoming committee hearing. Default: false. |
upcomingOnly | boolean | Events: from today onward (unless dateFrom is set). Default: true. |
dateFrom | string | Events starting on or after this date (the data goes back about two weeks). |
dateTo | string | Events starting on or before this date. |
billsOnly | boolean | Events: only those whose agenda lists bills. Default: false. |
excludeCancelled | boolean | Events: drop cancelled meetings. Default: true. |
sort | string: latestAction, introduced, cosponsors, soonest, latest | Order of results. Default: "latestAction". |
includeActions | boolean | Bills: add the last 40 actions (date, description, classification). Default: false. |
maxItems | integer | Maximum items to return (1-500). Default: 100. |
Example
curl -X POST https://api.pushbuild.com/state-legislation-tracker/run \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "newborn screening", "maxItems": 20}'
Response
{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}
Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.
Pricing
Pay only for results returned: $0.80 per 1,000 records. No charge for errors or empty searches.
Use it from Claude, ChatGPT or Cursor
This API is also an MCP server: https://api.pushbuild.com/mcp/state-legislation-tracker. Add it to any assistant that supports remote MCP servers, with your key in the X-API-Key header. Same prices. Setup for each app.
Tell us what you need built.
Questions about this API, higher volumes, or a data source you need that we don't cover yet.
hello@pushbuild.comWant this data inside your own app or CRM? API integrations and data sync