Transcripts

List transcripts

Transcribed sessions and broadcasts (transcripciones) — congressional sessions, press conferences, institutional broadcasts — sourced from Dapper's monitoring pipeline (see 'Data sources' below). origin is the issuing body (e.g. 'Plenaria', 'Comisiones', 'Mañanera'); external_link points to a PDF of the full transcript when captured (~93% of rows).

Paginated across countries, newest first. country_code is comma-separated (e.g. BR,CO); omit to return all accessible countries. Use since/until (YYYY-MM-DD) to narrow to a time window. Use q to search by title or meaning — it tries the hybrid/semantic search engine first, and falls back automatically to a plain title substring match (accent/case/whitespace-insensitive) if the engine is unavailable or finds no semantic hit.

For 'summarize what was said about X in the last week' type questions: list_transcripts(q="<topic>", since=<date>, content=true) returns the matching transcripts' full body text (content_text) in this same call — capped at 20 items — instead of needing a get_transcript(id) round-trip per result. Build the summary yourself from the returned content_text; this endpoint doesn't summarize.

Data sources: transcribed congressional sessions, press conferences, and institutional broadcasts, curated by Dapper's monitoring pipeline from official streams (congress channels, presidency/ministry broadcasts). external_link points to a PDF of the full transcript when captured (~93% of rows); content is the transcript body and may contain HTML markup — use content_text for a plain-text version instead of showing content to a person.

get/v1/transcripts

Request

  • Base URL: https://api.dapperglobal.com
  • URL: https://api.dapperglobal.com/v1/transcripts
  • Auth: API key in header X-API-Key

Query parameters

limitinteger
cursorstring nullable
sincestring date nullable
untilstring date nullable
qstring nullable

Search transcripts by title or meaning. Tries the hybrid/semantic search engine first (ranked by relevance; since/until still apply). Pass a cursor and it stays on the keyword path instead, since ranked results are a single page. If it's unavailable or finds no match, falls back to a plain title substring match (accent/case/whitespace-insensitive).

originstring nullable

Only sessions of this kind — comma-separated, accent- and case-insensitive. Values differ by country (Mañanera, Comisiones, Plenaria/Pleno/Plenário, Alocución Presidencial, Conferencia de prensa); GET /v1/transcript-origins returns the catalogue with counts.

contentboolean

When true, include each transcript's full body (content/content_text) inline -- for 'summarize what was discussed about X this week' type questions, so you don't need a get_transcript(id) round-trip per result. Capped at 20 items regardless of limit (full transcripts are large). Prefer content_text over content (raw HTML) when reading the body.

min_similaritynumber

Relevance floor for the semantic branch of q (0-1). Hits at or below it are discarded; if nothing survives, q falls back to the keyword match. Lower it to widen a search that came back empty.

min_reranknumber nullable

Cross-encoder floor for the semantic branch of q. This is the filter that discriminates: measured on production, 58% of rows that clear min_similarity are rejected here, and the two similarity ranges overlap almost completely. Rows dropped by it come back under empty_result.near_misses when nothing else survives. Pass a value below every score (e.g. -1000) to disable it.

country_codestring nullable

Comma-separated country codes, e.g. BR,CO,CL.

country_idstring nullable

Deprecated alias: comma-separated numeric ids, e.g. 8,2,6.

Response

Successful response (real sample data)

object required

Changes

No recorded changes to this operation across all 1 revision of this API.