ArtificialGuyBR

Home / Blog / Fixing things

Portal da Transparência: datos federales de gasto sin clave de API

Skill y scripts en Python para el portal federal (CGU): 27 conjuntos de datos abiertos, bucket de descarga público sin WAF y las trampas que muerden al consu…

2 sources cited Fixing things

Portal da Transparência: datos federales de gasto sin clave de API

TL;DR

  • La skill consulta el portal federal (CGU) para gastos, licitaciones, contratos, convenios, tarjeta corporativa, nómina de servidores, facturas, viajes, enmiendas parlamentarias, beneficios sociales y sanciones — sin clave de API.
  • Documenta 27 conjuntos y dos modos: datos abiertos en masa como CSV, y las APIs internas del sitio para una consulta puntual.
  • Las tres barreras que elimina son concretas: la API REST oficial exige cuenta gov.br plata u oro, el sitio está detrás de AWS WAF que responde 202 o 405 a curl, y el dato abierto en masa no está documentado de forma utilizable.
  • El descubrimiento útil: el bucket de datos abiertos es público y sin WAF, así que los zips se descargan directo — lo que faltaba era el mapa de qué archivo corresponde a qué conjunto y periodo.

Qué es y para quién

Portal da Transparência es una skill para Claude Code, más scripts en Python que también corren solos, para consultar el portal de la CGU en portaldatransparencia.gov.br.

Es para el analista, el periodista y el agente que necesitan cifras de gasto federal por código y chocan siempre con las mismas tres paredes: una API que pide cuenta gov.br, un WAF que responde un desafío a todo lo que no es navegador, y una descarga en masa con nombres de archivo sin documentar.

Dos modos, y por qué separados

El modo masa descarga datos abiertos como CSV. El descubrimiento del README es que dadosabertos-download.cgu.gov.br/PortalDaTransparencia/saida/ sirve los zips directo, sin clave, sin cookie y sin captcha, y sin WAF. Lo que faltaba era el mapa: qué archivo corresponde a qué conjunto y periodo.

El modo consulta usa las APIs internas del sitio para una consulta puntual, que es lo que quieres cuando la pregunta es un contrato y no un año de contratos.

# cuánto gastó cada organismo en tarjeta corporativa en mayo de 2026
python3 scripts/pt.py baixar cpgf 202605 --dir dados
python3 scripts/pt.py agregar dados/202605_CPGF.csv --por "NOME ÓRGÃO" --valor "VALOR TRANSAÇÃO"

# contratos federales firmados en el primer trimestre de 2026
python3 scripts/site.py consulta contratos --p assinaturaDe=01/01/2026 \
    --p assinaturaAte=31/03/2026 --tam 500 --paginas 4 --csv --out contratos.csv

El primer par es el patrón que vale leer dos veces: descargar el mes como CSV y agregar en local por columna. Eso es lo que hace respondible una pregunta sin paginar una API.

Qué cubre

Veintisiete conjuntos, incluyendo gastos, licitaciones, contratos, convenios, tarjeta corporativa, nómina de servidores, facturas, viajes, enmiendas parlamentarias, beneficios sociales y sanciones. El README dice que todo aquí se verificó empíricamente contra la fuente y no se dedujo de la documentación, y esa es la distinción que conviene creer: un endpoint documentado y un endpoint que funciona son cosas distintas en este portal.

La API REST oficial sigue existiendo y sigue siendo opcional. Exige cuenta gov.br plata u oro, lo que el README llama una barrera real para un script rápido, un cuaderno de análisis o un agente autónomo. Úsala cuando necesites lo que ofrece y tengas la cuenta; usa los otros dos modos cuando no.

Las trampas

El README tiene una sección llamada "trampas que te van a morder", y es la parte más útil del repositorio: el sitio responde a una petición con forma de navegador con un desafío, el periodo en el nombre del archivo cambia de conjunto en conjunto, y la nomenclatura de descarga no se anuncia en ningún sitio. Leer esa sección antes de escribir código ahorra la tarde.

Instalación

Los scripts son Python 3.9+ y no necesitan clave de API. La skill es un directorio que copias en la carpeta de skills de tu agente, y los scripts corren en la terminal.

Cuándo usarla, cuándo no

Úsala cuando necesites una respuesta reproducible sobre gasto federal, cuando quieras un mes de transacciones como CSV en vez de una página paginada, o cuando necesites el dato de tarjeta corporativa o de convenio y la cuenta de la API oficial sea el bloqueo.

No la uses como portal oficial ni en su lugar, y no uses las APIs internas como contrato estable — el README las verifica empíricamente, lo que significa que pueden cambiar. Y no la uses para datos fuera de los veintisiete conjuntos: el README documenta la cobertura que verificó, no la cobertura que el portal tiene.

Sources

  1. Portal da Transparência — repositorio — las tres barreras, los dos modos, el descubrimiento de datos abiertos, los 27 conjuntos y la sección de trampas citados arriba.
  2. README.md — ejemplos de uso, instalación, lista de conjuntos, licencia (MIT).

Página del proyecto: Portal da Transparência

Para el portal de São Paulo, mira la skill del Portal da Transparência SP, y para el de Paraná, la skill del Portal da Transparência PR.

FAQ

¿Necesita clave de API? No. El README afirma que el bucket de datos abiertos sirve los zips directo, sin clave, cookie ni captcha, y la ruta probada tampoco necesita.

¿Por qué la API oficial pide cuenta? Porque exige cuenta gov.br plata u oro, lo que el README llama una barrera real para un script, un cuaderno o un agente autónomo.

¿Cuál es el descubrimiento de datos abiertos? Que el bucket de datos abiertos es público y sin WAF, así que lo que faltaba era el mapa de qué archivo corresponde a qué conjunto y periodo.

¿Qué conjuntos cubre? Veintisiete, incluyendo gastos, licitaciones, contratos, convenios, tarjeta corporativa, nómina, facturas, viajes, enmiendas, beneficios y sanciones.