NY Assembly APInyassembly.gov ↗
Retrieve live and upcoming NY State Assembly broadcast events via the get_schedule endpoint. Returns event names, dates, agenda URLs, and live status.
What is the NY Assembly API?
The NY Assembly Schedule API exposes 1 endpoint — get_schedule — that returns the New York State Assembly's current live broadcasts and upcoming legislative events, with 5 fields per event including name, date, agenda URL, and live status. Developers can query without a date to get all upcoming events, or supply a specific date in YYYYMMDD format to filter scheduled events to that day.
curl -X GET 'https://api.parse.bot/scraper/80b47340-6337-423d-9276-09e07593a3b7/get_schedule?date=20261002' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace nyassembly-gov-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: NY State Assembly Schedule API — check today's legislative schedule."""
from parse_apis.nyassembly_gov_api import NyAssembly, InvalidDateFormat
client = NyAssembly()
# Fetch today's schedule (no date filter returns all upcoming events)
schedule = client.schedules.get()
print(f"Schedule date: {schedule.date}")
print(f"Live events: {len(schedule.live_events)}")
print(f"Upcoming events: {len(schedule.upcoming_events)}")
for event in schedule.live_events:
print(f" LIVE: {event.name} ({event.date})")
if event.video_url:
print(f" Watch: {event.video_url}")
for event in schedule.upcoming_events:
print(f" Upcoming: {event.name} on {event.date}")
print(f" Agenda: {event.agenda_url}")
# Fetch schedule for a specific date
specific = client.schedules.get(date="20260821")
print(f"\nEvents on {specific.date}: {len(specific.upcoming_events)} upcoming")
# Handle invalid date format gracefully
try:
client.schedules.get(date="invalid")
except InvalidDateFormat as e:
print(f"Expected error for bad date: {e.message}")
print("exercised: schedules.get / Event fields / InvalidDateFormat")
Returns currently live events and upcoming scheduled events for the NY State Assembly. When no date is provided, returns live events and all upcoming events (with today's date as reference). When a date is provided, returns live events and filters upcoming events to only those scheduled on that specific day. Events include broadcasts of Assembly sessions, hearings, and other legislative proceedings. The Assembly's schedule varies; during recess periods or when no events are scheduled, the arrays will be empty.
| Param | Type | Description |
|---|---|---|
| date | string | Date to check for upcoming events in YYYYMMDD format (e.g. 20260821). When omitted, returns all upcoming events with today as the reference date. |
{
"type": "object",
"fields": {
"date": "Reference date in YYYY-MM-DD format (today or the requested date)",
"live_events": "Array of currently live/in-progress broadcast events, each with name, date, agenda_url, is_live, and optionally video_url",
"upcoming_events": "Array of upcoming scheduled events (filtered by date if provided), each with name, date, agenda_url, is_live"
},
"sample": {
"data": {
"date": "2026-08-11",
"live_events": [],
"upcoming_events": []
},
"status": "success"
}
}About the NY Assembly API
What the API Returns
The get_schedule endpoint returns two arrays: live_events and upcoming_events. Each event in both arrays includes a name (the committee, session, or hearing title), a date, an agenda_url linking to the official agenda document, and an is_live boolean. Live events additionally expose a video_url when a broadcast stream is available. The top-level date field confirms the reference date used for filtering — either today's date or the date you supplied.
Filtering by Date
The optional date parameter accepts strings in YYYYMMDD format (e.g., 20260115). When omitted, upcoming_events includes all events scheduled from the current date forward. When a specific date is provided, upcoming_events is filtered to only those events scheduled on or after that date. live_events always reflects what is currently broadcasting, regardless of the date parameter.
Data Scope and Freshness
The data reflects the NY State Assembly's official broadcasting schedule, covering committee hearings, floor sessions, and other Assembly-broadcast events. The agenda_url field provides direct links to official agenda documents for each event, which can be used to pull additional context about what will be discussed. Events that are actively airing will appear in live_events with an is_live value of true.
The NY Assembly API is a managed, monitored endpoint for nyassembly.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when nyassembly.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official nyassembly.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display a live widget showing whether the NY Assembly is currently in session using the
live_eventsarray andis_livefield - Build a legislative calendar app that queries
upcoming_eventsfiltered to a specific date via thedateparameter - Alert constituents when a specific committee hearing goes live by polling
live_eventsfor a matching eventname - Link users directly to agenda documents for upcoming sessions using the
agenda_urlfield inupcoming_events - Embed a live stream link in a civic app by surfacing the
video_urlfield when it appears inlive_events - Track the Assembly broadcast schedule over time by logging
date,name, andis_livefields from repeated queries
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does the NY State Assembly have an official developer API for its schedule data?+
What distinguishes live_events from upcoming_events in the response?+
live_events contains events that are actively broadcasting at the time of the request; these entries may include a video_url field pointing to the stream. upcoming_events contains events scheduled in the future relative to the reference date, and video_url is not present for those entries.Does the API return past or archived Assembly events?+
Does the API return committee membership, vote records, or bill details alongside events?+
How specific is the date filtering in get_schedule?+
date parameter filters upcoming_events to those scheduled on or after the provided date in YYYYMMDD format. It does not support filtering to a single day exclusively or to a date range — it acts as a lower-bound filter. live_events is unaffected by the date parameter.