Search what an official said (paid)
search_by_officialRetrieve every transcript segment a specific elected official has spoken. Optional q narrows within their segments. Returns their speaking history, newest first — what they argued, asked, and moved, in their own words.
WHEN: 'What has Councilmember X said about Y', their reasoning on an issue, or a verbatim quote with a jump-to timestamp. WHEN NOT: For how they voted, use track_position — that reads the recorded roll call (yes/no/abstain per decision). Transcripts capture discussion, not the tally, so compiling a voting record from these segments systematically under-reports and will miss votes entirely. If you don't yet have their UUID, call list_officials first. For non-elected speakers (staff, public commenters), use search_meetings.
EXAMPLES: { "official_id": "", "q": "housing" } { "official_id": "" } — full speaking history newest-first
REQUIRES: a paid plan (Resident and above). Free callers get an upgrade hint, no data.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Optional free-text query to narrow within this official's segments (e.g. 'budget', 'zoning'). | |
| limit | No | Max hits returned. Default 10. | |
| cities | No | Optional city-slug allow-list. Officials belong to one city already, so this is rarely needed; a list that excludes the official's city returns no hits. | |
| official_id | Yes | UUID of the elected official. Get this from list_officials or from the official_id field on a search_meetings hit. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hits | Yes | Transcript segments where this official spoke, newest first. | |
| total | Yes | Total estimated matches for this official. | |
| citiesQueried | Yes | Number of cities actually searched. |