Ilga APIilga.gov ↗
Retrieve Illinois House session status, committee hearings, daily calendars, and official bulletins by date via the ilga.gov Schedule API.
What is the Ilga API?
The ilga.gov API provides a single endpoint, get_schedule, that returns 5 structured fields covering the Illinois House of Representatives' legislative schedule for any given date. It surfaces session status, committee hearings scheduled both today and across the current week, the daily calendar description, and links to official House bulletins — all in one response.
curl -X GET 'https://api.parse.bot/scraper/e9f1626e-59d9-4349-a55b-158153dc91ca/get_schedule?date=20260814' \ -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 ilga-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: Illinois General Assembly House Schedule API."""
from parse_apis.ilga_gov_api import IlgaGov, InputFormatInvalid
client = IlgaGov()
# Fetch today's schedule (date defaults to today when omitted).
schedule = client.schedules.get()
# Session status
print(f"Date: {schedule.session_schedule.date}")
print(f"Status: {schedule.session_schedule.status}")
print(f"Next session: {schedule.session_schedule.next_session}")
# Daily calendar info
print(f"Calendar: {schedule.daily_calendar}")
# List available house bulletins
for bulletin in schedule.house_bulletins:
print(f"Bulletin: {bulletin.name} -> {bulletin.url}")
# Fetch schedule for a specific date
try:
past_schedule = client.schedules.get(date="20260101")
print(f"Jan 1 status: {past_schedule.session_schedule.status}")
except InputFormatInvalid:
print("Invalid date format provided.")
print("exercised: schedules.get")
Retrieves the Illinois House schedule page for a given date. Returns session schedule status (in session or not, next session date), daily calendar info, house bulletins, and any scheduled committee hearings for today and the week. Hearing items conform to the LiveMediaScheduleItem schema with fields like time, date, title, status, location, url, category, etc. Fields without source data are returned as null. The page always reflects the server's current state; the date parameter is passed to the upstream URL.
| Param | Type | Description |
|---|---|---|
| date | string | Date in YYYYMMDD format (e.g. 20260814). When omitted, defaults to today's date. |
{
"type": "object",
"fields": {
"hearings_week": "array of LiveMediaScheduleItem objects for the week (empty if none scheduled)",
"daily_calendar": "string describing current daily calendar status",
"hearings_today": "array of LiveMediaScheduleItem objects for today (empty if none scheduled)",
"house_bulletins": "array of bulletin objects with name and url",
"session_schedule": "object with date, status, and next_session fields"
},
"sample": {
"data": {
"hearings_week": [],
"daily_calendar": "No session calendar at this time.",
"hearings_today": [],
"house_bulletins": [
{
"url": "https://www.ilga.gov/Uploads/Schedules/HouseBulletins/House Bulletin 5 23 2026.pdf",
"name": "House Bulletin 5 23 2026"
}
],
"session_schedule": {
"date": "Friday, August 14, 2026",
"status": "Not In",
"next_session": "Not Scheduled"
}
},
"status": "success"
}
}About the Ilga API
What the API Returns
The get_schedule endpoint accepts an optional date parameter in YYYYMMDD format. When the date is omitted, the response reflects the server's current date. The response includes a session_schedule object containing three fields: date (the queried date), status (whether the House is in session), and next_session (the date of the next scheduled session). This makes it straightforward to determine legislative activity on any specific day.
Hearings and Calendar
Two separate arrays cover committee hearings: hearings_today lists hearing objects scheduled for the queried date, and hearings_week lists all hearings for the broader week. Both arrays return empty when no hearings are scheduled. The daily_calendar field returns a string describing the current calendar status, providing context about floor activity or recess. Together these fields let you build a complete picture of a single legislative day.
Bulletins
The house_bulletins array returns bulletin objects, each with a name and url. These link directly to official House bulletin documents published by the Illinois General Assembly, which typically contain floor order details, amendment listings, and procedural notices.
The Ilga API is a managed, monitored endpoint for ilga.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ilga.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 ilga.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?+
- Alerting subscribers when the Illinois House enters session using the
session_schedule.statusfield - Displaying a weekly committee hearing calendar using
hearings_weekdata - Notifying advocates about hearings relevant to specific legislation scheduled for today via
hearings_today - Aggregating links to official House bulletins using the
house_bulletinsname and url fields - Building a civic dashboard showing the next session date from
session_schedule.next_session - Archiving daily legislative calendar status strings for historical tracking using the
dateparameter
| 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 ilga.gov offer an official developer API?+
What does the `session_schedule` object actually include?+
date (the date of the query), status (indicating whether the House is currently in session or not), and next_session (the date of the next scheduled legislative session). It does not include bill-level agenda details within this object.Do the hearing objects include committee names, bill numbers, or room locations?+
hearings_today and hearings_week, but the spec does not enumerate sub-fields beyond the array structure itself. Detailed hearing metadata such as bill numbers or testimony details is not currently broken out as distinct response fields. You can fork this API on Parse and revise it to add a dedicated hearing-detail endpoint if those fields are available on the source pages.Can I retrieve schedule data for the Illinois Senate or track individual bills?+
How far back or forward can the `date` parameter query?+
date parameter accepts any date in YYYYMMDD format. However, the response always reflects what the ilga.gov schedule page shows for that date — historical dates may return limited or no hearing data if the source page no longer displays past schedules, and future dates will only show pre-published information.