API reference · Meetings
List meetings
Meetings of councils, boards and committees, newest first. topic keeps meetings with an agenda item, motion, document or recording tagged with it. Billed as one records request a page. Filters: jurisdiction, region, country, kind, topic, from, to, since.
bearerAuthAuthorizationBearer <token>htd_test_ (sandbox, free, fictional towns) or htd_live_ (live, billed) key.
jurisdiction?stringA jurisdiction id.
^[a-z0-9][a-z0-9-]{0,63}$region?stringA two-letter province or state code.
country?stringCA or US.
kind?stringcouncil, committee_of_the_whole, public_hearing, board, committee, other.
^[a-z][a-z0-9_]{0,60}$topic?stringA business topic id (GET /v1/topics lists the tags given).
^[a-z][a-z0-9_]{0,60}$from?stringOn or after this date (YYYY-MM-DD).
to?stringOn or before this date (YYYY-MM-DD).
since?stringRecords read at or after this instant: what is new since your last read.
limit?integerResults a page, 1 to 100. Default 25.
cursor?stringnext_cursor from the previous page.
A page.
application/json- response
query*The filters as the API read them, defaults included.
as_of*stringISO 8601 instant, UTC.
results*array<>next_cursor*|Pass as cursor for the next page; null on the last.
environment*stringsandbox answers carry fictional towns.
"sandbox""live"curl -X GET 'https://data.heytownhall.com/v1/meetings'{ "query": { "property1": null, "property2": null }, "as_of": "string", "results": [ { "id": "string", "jurisdiction_id": "string", "country": "string", "region": "string", "title": "string", "kind": "string", "closed": true, "cancelled": true, "meeting_date": "string", "starts_at": "string", "time_zone": "string", "location": "string", "platform": "string", "organ_id": "string", "organ_name": "string", "organ_kind": "string", "agenda_seen_at": "string", "items_read_at": "string", "minutes_read_at": "string", "source_url": "string", "read_at": "string" } ], "next_cursor": "string", "environment": "sandbox"}