Skip to main content
Everything the Congress of Colombia has published in its own gazette since 2000, not as a list of issues but as the documents inside them: bills as filed, the committee reports written on them, the minutes of sittings in both chambers, approved and definitive texts, conciliation reports and presidential objections — each with its full text and tied to the proyecto de ley it belongs to, so a bill can be followed through every stage of its passage. A second pair of endpoints covers the Gaceta’s issues themselves and the Diario Oficial, the gazette where Colombian law takes effect, indexed back to 1939.

Search documents

POST /co/imprenta/gaceta-documents-search/v1 One search across everything Congress has published since 2000, which no official site offers.
The whole source, organized and ready to query: this endpoint answers in milliseconds, at any hour, the same way every time. Every response carries as_of: how current the data is.
Returns as_of (how current the data is), the applied filters, total (matches across every page), page, per_page, total_pages, count and results[], most recently published first. Every result carries id, gaceta_id and gaceta_number (the issue it was published in), chamber, published_at, title (how the document is cited), summary (the epígrafe the Gaceta prints under it), kind, bill_number, bill_year and bill_chamber (the proyecto de ley or acto legislativo it is about, when the title names one), and official_url. kind is proyecto (a bill as filed), ponencia (a committee report on one), acta (the minutes of a sitting), texto (an approved or definitive text), conciliacion, objecion (a presidential objection), concepto, ley, or otro.
Search results do not carry the document’s text: a single acta de plenaria can run to two hundred thousand characters. Take an id to the Gaceta Document endpoint to read one in full.

One document

POST /co/imprenta/gaceta-document/v1
The whole source, organized and ready to query: this endpoint answers in milliseconds, at any hour, the same way every time. Every response carries as_of: how current the data is.
Returns as_of, found, document_id and document, which carries text: the document itself, as the Gaceta published it. Every result carries id, gaceta_id and gaceta_number (the issue it was published in), chamber, published_at, title (how the document is cited), summary (the epígrafe the Gaceta prints under it), kind, bill_number, bill_year and bill_chamber (the proyecto de ley or acto legislativo it is about, when the title names one), and official_url. kind is proyecto (a bill as filed), ponencia (a committee report on one), acta (the minutes of a sitting), texto (an approved or definitive text), conciliacion, objecion (a presidential objection), concepto, ley, or otro.
A few documents are published with only their cover page as text — the substance of those is in the issue’s own edition, at the gaceta’s official_url.

Issues

POST /co/imprenta/gacetas-search/v1 The Gaceta’s own numbering, by chamber and date.
The whole source, organized and ready to query: this endpoint answers in milliseconds, at any hour, the same way every time. Every response carries as_of: how current the data is.
Returns as_of, the applied filters, total, page, per_page, total_pages, count and results[], most recent first. Each issue carries id, number and number_key, chamber, published_at, printed_date, legacy_label and official_url.
published_at is null on nine issues whose printed year cannot be a year (0009, 0200, 0209 and the like). Those issues are real and are returned; only the date is withheld, because the correct one is not knowable. Their printed_date shows what the Gaceta prints.

Diario Oficial

POST /co/imprenta/diarios-search/v1 Eighty-seven years of the gazette, by number and date.
The whole source, organized and ready to query: this endpoint answers in milliseconds, at any hour, the same way every time. Every response carries as_of: how current the data is.
Returns as_of, the applied filters, total, page, per_page, total_pages, count and results[], most recent first. Each issue carries id, number and number_key, edition, published_at and official_url.
The record reaches back to issue 23,962 of 2 January 1939, but it is uneven before 2000: seven years list no issues at all (1985, 1987, 1988, 1992, 1994, 1995 and 1998) and several others only a handful. An empty result for an old year means the Imprenta lists nothing for it, not that nothing was published.

Full reference

Schemas, all response fields, and an interactive playground.