Malegislature APImalegislature.gov ↗
Retrieve Massachusetts General Court live stream schedules and legislative event listings by date, month, branch, and type via 2 structured endpoints.
What is the Malegislature API?
The malegislature.gov API exposes 2 endpoints covering Massachusetts General Court session schedules and legislative event listings. get_schedule returns all live stream sessions for a specific date with status and video availability fields, while get_events returns a full month of hearings, sessions, and special events with filtering by type, branch, year, and month.
curl -X GET 'https://api.parse.bot/scraper/9d80c8cf-a04b-4506-b553-3aca5c5ba369/get_schedule?date=20260805' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns all legislative hearings, sessions, and events for a specific date from the Massachusetts Legislature website. Hits the Calendar page filtered to the given date and visits each event's detail page for video, duration, and description info (1 + N requests where N is the number of events). Returns a sessions array of LiveMediaScheduleItem objects. When date is omitted, defaults to the current UTC date. Returns an empty sessions array when no events are scheduled for that date.
| Param | Type | Description |
|---|---|---|
| date | string | Date in YYYYMMDD format (e.g. 20260701). Events for this specific date are fetched. When omitted, defaults to the current UTC date. |
{
"type": "object",
"fields": {
"date": "The queried date in YYYYMMDD format",
"year": "Integer year inferred from the queried date",
"month": "Integer month inferred from the queried date (1-12)",
"sessions": "Array of LiveMediaScheduleItem objects, each containing event_id, date, time, status (scheduled/completed/live), video_status (scheduled/completed/live or null), type, title, url, location (object with name field), start_time_utc (ISO 8601 UTC string or null), video_start_time (time string or null), duration (HH:MM:SS string or null), duration_minutes (integer or null), description (string or null), video_file (URL or null), and additional nullable fields: is_early, original_start_date, program_id, thumbnail, category, format, series_title"
},
"sample": {
"data": {
"date": "20260813",
"sessions": [
{
"url": "https://malegislature.gov/Events/Sessions/Detail/7768",
"date": "AUG 13, 2026",
"time": "11:00 am",
"type": "Session",
"title": "Senate Session",
"format": null,
"status": "confirmed",
"category": null,
"duration": null,
"event_id": "7768",
"is_early": null,
"location": {
"name": "Senate Chamber"
},
"thumbnail": null,
"program_id": null,
"video_file": null,
"description": null,
"series_title": null,
"video_status": "scheduled",
"start_time_utc": "2026-08-13T15:00:00Z",
"duration_minutes": null,
"original_start_date": null
}
]
},
"status": "success"
}
}About the Malegislature API
Session Schedule by Date
The get_schedule endpoint accepts a date parameter in YYYYMMDD format and returns a sessions array for that day. Each session object includes the event name, time, location, status (Confirmed, Completed, or Tentative), and video availability (Upcoming or Archived). When the date parameter is omitted, the endpoint defaults to the current UTC date. This makes it straightforward to poll for today's scheduled floor sessions without additional date arithmetic.
Monthly Event Listings
The get_events endpoint returns all Massachusetts Legislature activity for a given year and month. The type parameter filters results to one of three categories: Hearings, Sessions, or SpecialEvents. The branch parameter narrows results to Senate, House, or Joint events. Each event object includes event_id, date, time, status (scheduled, completed, or live), video availability, and detail-page fields: video_file_url, video_start_time, description, and duration.
Official Data Source
The Massachusetts General Court operates malegislature.gov as the official public-facing site for the state legislature. The data exposed by these endpoints reflects the same session schedule and event calendar published on that site, including committee hearings and joint session activity across both chambers.
The Malegislature API is a managed, monitored endpoint for malegislature.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when malegislature.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 malegislature.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 today's Massachusetts House and Senate floor session schedule with live stream links on a civic dashboard
- Build a calendar widget showing all Joint committee hearings in a given month using
get_eventswithbranch=Jointandtype=Hearings - Alert subscribers when a new session status changes to
liveby pollingget_schedulefor status updates - Archive completed session video URLs by extracting
video_file_urlandvideo_start_timefrom monthlyget_eventsresults - Filter Senate-only special events for a legislative tracker using
branch=Senateandtype=SpecialEvents - Aggregate monthly hearing activity across all branches to analyze legislative workload patterns over time
| 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 Massachusetts General Court provide an official developer API?+
What does `get_events` return compared to `get_schedule`?+
get_schedule returns a single day's live stream sessions with status and video availability. get_events covers a full month and returns richer objects including event_id, description, duration, video_file_url, and video_start_time, and supports filtering by type (Hearings, Sessions, SpecialEvents) and branch (Senate, House, Joint).Does the API include bill text, roll-call votes, or legislator profiles?+
Can I retrieve historical session schedules beyond the current or a specific month?+
get_schedule accepts any date in YYYYMMDD format and get_events accepts any year and month combination, so historical lookups are supported as long as the underlying data exists on the site. Events with status=completed will include archived video metadata where available.