Dados abertos
Dados e API Tudo o que o site mostra sai de uma API pública de leitura em https://api.impactopublico.pt, sem chave nem conta. As respostas usam o envelope {data, meta}: os registos vêm em data e a proveniência — instante da observação, URL oficial, SHA-256 e contagens — vem em meta.source.
Estado da cobertura A API publica metadados oficiais, não conclusões. Um valor que não passa a validação é publicado como null: a projeção nunca adivinha. Listas e detalhes usam cache pública curta com stale-while-revalidate; um pedido malformado responde 400 e um registo inexistente responde 404.
Como chamar a API Endereço base: https://api.impactopublico.pt Abrir /v1/build no navegador
Cada endereço da lista abaixo pende deste, responde a GET e devolve JSON. Abra um no navegador para ver a resposta, ou copie um dos exemplos e corra-o tal como está.
No terminal, com curl:
curl -s "https://api.impactopublico.pt/v1/audit-reports?limit=1"Em Python, a ler o envelope {data, meta}:
import json
import urllib.request
pedido = "https://api.impactopublico.pt/v1/audit-reports?limit=3"
with urllib.request.urlopen(pedido) as resposta:
corpo = json.load(resposta)
for relatorio in corpo["data"]:
print(relatorio["reportNumber"], "—", relatorio["title"])
print("Fonte:", corpo["meta"]["source"]["officialPageUrl"])
print("Licença:", corpo["meta"]["license"]["id"])A resposta do primeiro comando, abreviada nos campos longos com …: os registos em data, o documento oficial e o instante da observação em meta.source, os termos de reutilização em meta.license.
{
"data": [
{
"reportNumber": "01/2026",
"title": "Auditoria na área da contratação pública - Município de Marvão",
"publishedAt": "2026-03-30"
}
],
"meta": {
"total": 12,
"source": {
"observedAt": "2026-08-24T12:35:19.498Z",
"officialPageUrl": "https://www.tcontas.pt/…?dset=2026",
"pageSha256": "17c7d7f8dccb75a9…",
"totalRecords": 12
},
"license": {
"id": "CC-BY-4.0",
"url": "https://creativecommons.org/licenses/by/4.0/"
}
}
}Reutilização Pode reutilizar o que o observatório produz sob a licença Creative Commons Atribuição 4.0 Internacional (CC BY 4.0): a compilação, a curadoria, as citações verificadas, as ligações entre as etapas de uma política, os registos de cobertura, as contagens derivadas e as respostas da API. Copie, republique e construa em cima, inclusive com fins comerciais, desde que cite a origem. Cada resposta da API declara estes termos em meta.license, ao lado de meta.source.
A licença cobre esta camada e não os documentos oficiais. Os atos do Diário da República, os registos do Portal BASE, as atas municipais, os textos aprovados no Parlamento Europeu e qualquer passagem citada tal como consta da fonte pertencem às instituições que os publicam e conservam os termos delas.
Linha de atribuição: Fonte: Impacto Público — impactopublico.pt, CC BY 4.0 Ver o texto integral da licença
Para dúvidas sobre reutilização, escreva para contacto [arroba] impactopublico.pt .
IDENTIDADE
O corte publicado: commit, instante da publicação e contagens derivadas do repositório, incluindo o universo municipal.
FONTES
A última observação de cada fonte do catálogo público: estado operacional, contagens, cobertura e alterações detetadas.
DOSSIÊS
Dossiês publicados; o detalhe /v1/policies/:slug junta percurso, fontes com SHA-256, evidência, pesquisa de cobertura e diversidade de fontes.
PARLAMENTO
Agenda, consultas em apreciação pública, alterações observadas, votações e diplomas do dia.
INICIATIVAS
Catálogo pesquisável das iniciativas da legislatura em curso, com filtros e cursor opaco; detalhe em /v1/initiatives/:externalId.
PARTIDOS
Grupos parlamentares com contagens por autor; ficha em /v1/parties/:slug.
REGISTO DO DIA
As quatro áreas do registo do dia, com o número de candidatos avaliados e a regra pública de seleção.
CONTRATOS
Contratos públicos da versão ativa do Portal BASE, com pesquisa, filtros e detalhe em /v1/contracts/:externalId.
FUNDOS EUROPEUS
Operações Portugal 2030 da versão ativa; áreas temáticas oficiais em /v1/pt2030/themes .
CONTAS MUNICIPAIS
Receitas cobradas e despesas pagas por município, do corte anual DGAL aceite.
MUNICÍPIOS
Índice municipal observado; documentos por município em /v1/municipalities/:slug/documents.
AVALIAÇÕES
Avaliações do catálogo AD&C, com os produtos oficiais de cada uma.
AUDITORIAS
Relatórios de auditoria do Tribunal de Contas na versão ativa.
CONSULTAS
Consultas públicas da ERSE, com documentos oficiais e datas.
ORÇAMENTO
Execução orçamental mensal; orçamento aprovado em /v1/state-budget e comparação descritiva em /v1/budget-comparison .
EUROPA
Delegação portuguesa no Parlamento Europeu; textos aprovados em /v1/european-adopted-texts .
ESTATÍSTICAS
Janelas históricas com e sem contagem publicada; contagens por família em /v1/statistics/historical?familia=iniciativas e relações em /v1/statistics/relationships .
RSS
Canais RSS sem conta: o dia parlamentar, o registo do dia em /feed.xml e cada dossiê em /politicas/:slug/feed.xml.
Limites e condições de acesso Não precisa de chave nem de conta. Qualquer leitura de /v1 responde a partir de qualquer origem, por isso pode chamá-la de um caderno de redação, de uma célula de Observable ou de um gráfico no seu próprio site. O ritmo é de 120 pedidos por minuto por cliente. Cada resposta diz quantos restam em X-RateLimit-Remaining e quantos segundos faltam para renovar em X-RateLimit-Reset. Acima disso recebe 429 com Retry-After e o acesso volta sozinho. As rotas de conta e de redação ficam fora desta abertura. Trabalham com sessão e só respondem à origem do sítio. Se publicar um número, guarde ao lado o commit que /v1/build devolve. Identifica o corte exato de onde ele saiu.