Skip to main content
The Comisión de Regulación de Energía y Gas (CREG) regulates Colombia’s electricity, natural gas, LPG and liquid fuels markets: the tariffs, the wholesale market, the rules every utility, generator, trader and network operator works under. Its regulatory acts since 1994 are here: about 7,300 resoluciones (general rules and particular decisions about one company or one tariff), 2,500 circulares, 7,500 conceptos jurídicos, 1,000 draft resolutions under public consultation and the autos that open administrative proceedings. Each act comes with its number, its dates of issue and web publication, its Diario Oficial reference, the CREG’s own summary, its full text, the CREG’s notes on the later acts that amended or repealed it, and a copy of every file the CREG published with it: the act as PDF and Word, the technical memo behind it, its annexes. Search across all of them at once, by kind, number, year or date of issue, or with free text that reaches into the body of every act. New acts appear the day after the CREG publishes them.
The whole source, organized and ready to query: every endpoint on this page answers in milliseconds. Every response carries as_of: how current the data is. How datasets work.

Search the acts

POST /co/creg/acts-search/v1 Dataset One search over the full text of every act in the register, filtered by kind, number, year or date of issue.
Returns as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[], most recently issued first. Every result carries id (family, number and year, e.g. resolucion_101-128_2026), kind (resolution, particular_resolution, draft_resolution, circular, legal_opinion or order), number (as the CREG prints it, e.g. 101 128), year, title (what the act does, in the CREG’s words), issued_at, published_at (on the CREG’s site), gazette and gazette_date (the Diario Oficial reference), text_status (ok or missing), amendments[] (the CREG’s own notes on later acts that modified, added to or repealed it, each with the act_id of that act), official_url (the act on the CREG’s site), document_url (Croma’s copy of the act’s main file, byte for byte as the CREG published it, which stays available whatever happens to the CREG’s link), source_document_url (the file on the CREG’s own site), documents[] (every file the CREG published with the act: the act as PDF and Word, technical memos, annexes) and source_modified_at.
Search results leave out the text; query still matches it, so a phrase from the body finds the act. Read the text itself with the CREG Act endpoint.

One act, in full

POST /co/creg/act/v1 Dataset
Returns as_of, found, act_id and act, which carries everything the search returns plus content: a window onto the act’s full text, with text, offset, total_length, has_more and next_offset. Every result carries id (family, number and year, e.g. resolucion_101-128_2026), kind (resolution, particular_resolution, draft_resolution, circular, legal_opinion or order), number (as the CREG prints it, e.g. 101 128), year, title (what the act does, in the CREG’s words), issued_at, published_at (on the CREG’s site), gazette and gazette_date (the Diario Oficial reference), text_status (ok or missing), amendments[] (the CREG’s own notes on later acts that modified, added to or repealed it, each with the act_id of that act), official_url (the act on the CREG’s site), document_url (Croma’s copy of the act’s main file, byte for byte as the CREG published it, which stays available whatever happens to the CREG’s link), source_document_url (the file on the CREG’s own site), documents[] (every file the CREG published with the act: the act as PDF and Word, technical memos, annexes) and source_modified_at.
An id the CREG’s register does not hold returns found: false with HTTP 200, not an error.

Full reference

Schemas, all response fields, and an interactive playground.