Skip to main content
Transcripts give you what was said at hearings, plenary sessions, and public meetings as text you can search and quote. Each transcript is split into chapters by topic, and what is said is attributed to the person who said it. A transcript comes from one of two origins, given by its origin attribute:
Transcripts produced by speech recognition may mishear words, especially names and numbers. Before quoting one, you should check the passage against the recording.

Retrieving Transcripts

To retrieve a list of transcripts, newest first, send a GET request to the /transcripts endpoint. For example, the following request retrieves Texas hearings that discussed data centers:
To retrieve a single transcript, send a GET request to /transcripts/{id}.

Filtering Transcripts

The /transcripts endpoint accepts the shared filters, including the recommendation filters, along with the following query parameters: The q parameter searches the transcript’s name, its chapters, and everything said in it. Categories belong to chapters, so the category parameter returns transcripts with at least one chapter in that category.

The Transcript Object

A transcript looks like the following. The values below are illustrative:
The duration attribute is the length of the recording in seconds, and is null when there is no recording. The language attribute is the language spoken, as an ISO 639-1 code, and is null when it was not recorded. The text is returned in the language spoken. The links.source attribute links to the page where the recording or the record was published. The links.recording attribute links directly to the recording when it is hosted elsewhere, such as on a video platform, and is null otherwise. An official record may have no recording at all. PolicyMate recommends the chapters of a transcript rather than the whole recording. The transcript’s recommendations attribute gathers them, with the highest importance among its chapters for each workspace, as described in Recommendations on Records.

Chapters

PolicyMate splits each transcript into chapters, one for each item on the agenda or each topic discussed. You may retrieve a transcript’s chapters, in order, using the GET /transcripts/{id}/chapters endpoint:
Chapter titles, summaries, and categories are written by AI. The starts_at_second and ends_at_second attributes give the chapter’s place in the recording, and are null when the transcript has no timings. Chapters follow one another and never overlap. A chapter keeps its id for as long as the transcript exists, so you may store it alongside the recommendations that point to it.

Speakers

The GET /transcripts/{id}/speakers endpoint returns the people who speak in a transcript, each listed once:
The person attribute links the speaker to a person when the official record names them or PolicyMate has identified them, and is null otherwise. A speaker’s person.id is the same id the speaker filter accepts. The affiliation attribute is the organisation the speaker says they represent, such as a company testifying at a hearing, and is null when the recording does not say. The words_spoken attribute tells you how much the speaker said.

Transcript Text

The GET /transcripts/{id}/text endpoint returns the whole transcript as text/plain. Each passage is preceded by its time in the recording, when known, and the speaker’s name, so you can find it in the recording:
You may pass the chapter query parameter to only retrieve the text of one chapter.