Ga APIlegis.ga.gov ↗
Retrieve Georgia General Assembly livestream schedules by date. Returns committee meetings, floor sessions, broadcast status, and stream URLs via one API endpoint.
What is the Ga API?
The legis.ga.gov API exposes 1 endpoint — get_schedule — that returns the full Georgia General Assembly livestream schedule for any requested date, covering all 8 response fields including meeting subject, chamber, start time, location, broadcast status, and direct livestream URLs. Developers can query by date or default to today's schedule, receiving a structured list of committee meetings and floor sessions ready for integration.
curl -X GET 'https://api.parse.bot/scraper/2a983b1b-7179-4842-909c-42b9c5e6fd76/get_schedule?date=20250310' \ -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 legis-ga-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: Georgia General Assembly schedule — list meetings for a date."""
from parse_apis.legis_ga_gov_api import LegisGaGov, InputFormatInvalid
client = LegisGaGov()
# List today's scheduled meetings (default date), capped at 5 items.
for meeting in client.meetings.list(limit=5):
broadcast = "📺" if meeting.will_broadcast else "—"
print(f"{broadcast} {meeting.start} | {meeting.chamber} | {meeting.subject}")
if meeting.livestream_url:
print(f" Stream: {meeting.livestream_url}")
# Fetch schedule for a specific date using .first() for a quick peek.
try:
first_meeting = client.meetings.list(date="20250310", limit=1).first()
except InputFormatInvalid:
print("Invalid date format — use YYYYMMDD.")
first_meeting = None
if first_meeting is not None:
print(f"\nFirst meeting on 2025-03-10: {first_meeting.subject}")
print(f" Location: {first_meeting.location}, Chamber: {first_meeting.chamber}")
print("exercised: meetings.list")
Returns the livestream schedule for a given date. Each item includes the meeting subject, start time, location, chamber, broadcast status, and livestream URL. When no meetings are scheduled for the requested date, returns an empty list. The API returns all meetings for that specific calendar day.
| Param | Type | Description |
|---|---|---|
| date | string | Date in YYYYMMDD format (e.g. 20250310). When omitted, defaults to today's date. |
{
"type": "object",
"fields": {
"date": "ISO date string (YYYY-MM-DD) of the queried schedule date",
"total": "integer count of meetings on the requested date",
"meetings": "array of scheduled meeting objects with broadcast details"
},
"sample": {
"data": {
"date": "2025-03-10",
"total": 13,
"meetings": [
{
"id": "AAMkADU1YzdlYzhiLTAyNjEtNDY4Yi1iNjZhLTBlNDMxOTkzOWM0MQBGAAAAAAAJS6WYNFucSqxGGA2bYV6BRmzCBwDXLxuxcK2FRrMw3xMQD3d5AAAAAAENAADXLxuxcK2FRrMw3xMQD3d5AAALD78dAAA=",
"body": "",
"start": "2025-03-10T00:00:00-04:00",
"chamber": "Senate",
"subject": "Rules Committee: Upon Adjournment",
"is_vimeo": true,
"location": "450 CAP",
"agenda_uri": "",
"livestream_url": "https://Vimeo.com/showcase/9027934?autoplay=1",
"will_broadcast": true
}
]
},
"status": "success"
}
}About the Ga API
What the API Returns
The get_schedule endpoint returns a dated snapshot of the Georgia General Assembly's broadcast calendar. Each response includes a date field (ISO format YYYY-MM-DD), a total integer count of meetings scheduled for that day, and a meetings array. Each object in the array carries meeting subject, start time, physical location, chamber (House or Senate), broadcast status, and a direct livestream URL where available.
Querying by Date
The single input parameter is date, a string in YYYYMMDD format (e.g., 20250310). If omitted, the API defaults to the current date. When no meetings are scheduled — weekends, recess periods, off-session days — the meetings array returns empty and total is 0. This makes it straightforward to build presence checks before rendering any schedule UI.
Coverage and Data Shape
The API covers all publicly broadcast legislative events listed on the Georgia General Assembly video portal: committee meetings across both chambers, full floor sessions, and any other events the Assembly schedules for broadcast. The broadcast status field distinguishes between meetings that are currently live, upcoming, or concluded, while the livestream URL field provides a direct link for each session that has an associated stream.
The Ga API is a managed, monitored endpoint for legis.ga.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when legis.ga.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 legis.ga.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 committee meeting schedule in a Georgia legislative tracking app using the
meetingsarray fromget_schedule. - Send calendar alerts when new floor sessions appear for a given date by polling
get_scheduleand checking thetotalfield. - Build a historical archive of broadcast schedules by querying
get_schedulefor past dates using thedateparameter. - Filter meetings by chamber to show House-only or Senate-only sessions using the chamber field in each meeting object.
- Embed direct livestream links in a civic engagement site using the
livestream URLfield returned per meeting. - Monitor broadcast status changes throughout a legislative day by periodically re-querying
get_schedulefor the current date. - Aggregate weekly session counts for reporting by querying
get_scheduleacross multiple dates and summing thetotalfield.
| 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 legis.ga.gov offer an official developer API?+
What does `get_schedule` return when no meetings are scheduled on a given date?+
date, a total of 0, and an empty meetings array. No error is thrown; the response structure is consistent regardless of whether events exist.Can the API return schedules across a date range, such as a full legislative week?+
get_schedule endpoint accepts a single date parameter and returns one day's schedule per call. You can query multiple dates sequentially and aggregate results client-side. You can also fork this API on Parse and revise it to add a date-range endpoint that batches those calls.Does the API include bill numbers or agenda details for each meeting?+
meetings array fields cover subject, start time, location, chamber, broadcast status, and livestream URL — it does not expose individual agenda items or bill numbers discussed in each session. You can fork this API on Parse and revise it to add an endpoint that pulls detailed agenda or bill-level data for a specific meeting.