API reference · People in office
List departments
Departments and their published public contacts (an office's line, never a person's). Billed as one records request a page. Filters: jurisdiction, region, country, kind, 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?stringThe department's role, such as planning.
^[a-z][a-z0-9_]{0,60}$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/departments'{ "query": { "property1": null, "property2": null }, "as_of": "string", "results": [ { "id": "string", "jurisdiction_id": "string", "country": "string", "region": "string", "department": "string", "role": "string", "phone": "string", "email": "string", "hours": "string", "source_url": "string", "read_at": "string" } ], "next_cursor": "string", "environment": "sandbox"}List council appointments GET
The boards and committees each elected official sits on, from the newest annual report. Billed as one records request a page. Filters: jurisdiction.
List elected officials GET
Mayors, councillors, chairs and directors as the government's own page names them. Billed as one records request a page. Filters: jurisdiction, region, country, kind, since.