Brazil Government Transparency - Public Spending
Pricing
$5.00 / 1,000 record scrapeds
Brazil Government Transparency - Public Spending
Extract Brazilian government data: public spending, contracts, agreements.
Pricing
$5.00 / 1,000 record scrapeds
Rating
5.0
(4)
Developer
viralanalyzer
Maintained by CommunityActor stats
1
Bookmarked
18
Total users
2
Monthly active users
5 days ago
Last modified
Share
🏛️ Brazil Government Transparency — Spending, Contracts & Public Servants
🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português
Extract Brazilian government data from official sources: public procurement, contracts, spending, sanctions, and public servants. Two data sources: PNCP (no auth needed for 3 data types) and Portal da Transparência (free API key required for 5 data types). The only Apify actor for Brazilian government transparency data — 8 data types total with normalized output.
✨ Features
- No auth for PNCP — Contratações, contratos, and atas work without any API key
- Portal da Transparência — Access spending, servants, bids, agreements, sanctions with free API key
- Real-time data — Direct from official government APIs (PNCP + Portal da Transparência)
- Smart pagination — Automatically handles paginated API responses
- Flexible filters — Filter by state (UF), CNPJ, agency code, date range, keyword, procurement modality
- Normalized output — Unified schema across all 8 data types for easy analysis
- Rate limit safe — Built-in request delays to stay within API limits (300 req/min)
- All modalities — Fetches all procurement modalities automatically when none specified
📥 Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
dataType | string | Yes | "contratacoes" | Data type: contratacoes, contratos, atas (PNCP, no auth), despesas, servidores, licitacoes, convenios, sancoes (Portal, key required) |
dateFrom | string | No | 30 days ago | Start date (YYYYMMDD format, e.g. "20260101") |
dateTo | string | No | Today | End date (YYYYMMDD format, e.g. "20260215") |
uf | string | No | — | Filter by Brazilian state (2-letter code: SP, RJ, MG, etc.) |
cnpj | string | No | — | Filter by entity CNPJ (digits only, e.g. "00394460000141") |
codigoOrgao | string | No | — | Government agency code (e.g. "26000" for Ministério da Educação) |
keyword | string | No | — | Keyword filter applied to object/description fields |
maxResults | integer | No | 100 | Maximum results to return (1-10000) |
apiKey | string | No | — | Portal da Transparência API key (required for despesas, servidores, licitacoes, convenios, sancoes) |
ano | integer | No | — | Year filter (for despesas, servidores) |
modalidade | integer | No | — | Procurement modality code (1-13, PNCP contratacoes only) |
proxyConfiguration | object | No | — | Optional proxy configuration |
Data Types
No Authentication Required (PNCP):
contratacoes— Public procurement/bidding processescontratos— Government contracts/purchase ordersatas— Price registration records
API Key Required (Portal da Transparência):
despesas— Federal government spendingservidores— Federal public servantslicitacoes— Federal government bids (requirescodigoOrgao)convenios— Federal government agreementssancoes— Sanctions (CEIS/CNEP)
Input Example
{"dataType": "contratacoes","dateFrom": "20260201","dateTo": "20260215","uf": "SP","maxResults": 50}
📤 Output
| Field | Type | Description |
|---|---|---|
dataType | string | Record type (contratacao, contrato, ata, despesa, servidor, licitacao, convenio, sancao) |
id | string | Unique record identifier |
orgaoEntidade | string | Government entity/agency name |
cnpjOrgao | string | Entity CNPJ |
objeto | string | Object/description of the record |
valor | number | Monetary value (R$) |
situacao | string | Current status |
data | string | Publication/reference date |
uf | string | State code (2-letter) |
municipio | string | Municipality name |
url | string | Direct link to official portal |
scrapedAt | string | ISO 8601 scrape timestamp |
Additional fields vary by data type (fornecedor, modalidade, dataVigenciaInicio, etc.).
Output Example
{"dataType": "contratacao","id": "95954509000180-1-000021/2026","orgaoEntidade": "MUNICIPIO DE BALNEARIO BARRA DO SUL","cnpjOrgao": "95954509000180","objeto": "Construção de Duas Salas de Aula de Berçário - CEI Ernani de Souza","valor": 420202.48,"situacao": "Divulgada no PNCP","modalidade": "Concorrência - Eletrônica","modoDisputa": "Aberto","amparoLegal": "Lei 14.133/2021, Art. 28, II","processo": "9/2026","data": "2026-02-01T20:05:57","uf": "SC","municipio": "Balneário Barra do Sul","url": "https://pncp.gov.br/app/editais/95954509000180-1-000021/2026","scrapedAt": "2026-03-06T12:00:00.000Z"}
📋 Use Cases
- Journalists — Investigate public spending patterns, track government contracts
- Compliance teams — Monitor sanctions (CEIS/CNEP), check suppliers against sanctions lists
- Researchers — Analyze procurement data, spending by agency/function
- Government suppliers — Find open bidding opportunities by modality and location
- Data analysts — Build dashboards with public procurement data
- AI training — Government data corpus for Brazilian public sector ML models
- Auditing — Track contract values, validity periods, and supplier relationships
✅ Capabilities & Limits
Stated up front, so you do not pay a run to find out.
Built here: leave modalidade empty and the actor does not query PNCP once - PNCP requires codigoModalidadeContratacao, so it sweeps eight modality codes [4,5,6,7,8,9,12,13] in order and stops the moment maxResults is full. At the default maxResults: 100 the budget is usually consumed by modality 4 alone, so Pregao Eletronico (6) and Dispensa (8) never appear, and codes 1, 2, 3, 10 and 11 are never queried at all. Set modalidade explicitly, or raise maxResults.
Heads up: this Actor needs credentials you provide yourself (
apiKey). It cannot run without them.
| Input / feature | Supported | Notes |
|---|---|---|
dataType — required | ✅ | Type of government data to extract. PNCP types (no auth needed): contratacoes, contratos, atas. Portal da Transparência types (API key required):… |
dateFrom | ✅ | Start date, YYYYMMDD (e.g. 20260101). Empty = last 30 days, computed at run time |
dateTo | ✅ | End date, YYYYMMDD. Empty = today |
uf | ✅ | Filter by Brazilian state (2-letter code). Leave empty for all states. Example: SP, RJ, MG |
cnpj | ✅ | Filter by entity CNPJ (only digits). Example: 00394460000141 |
codigoOrgao | ✅ | Filter by government agency code (used for Portal da Transparência endpoints like despesas, licitacoes, contratos). Example: 26000 (Ministério da Educação) |
keyword | ✅ | Filter results containing this keyword in the object/description field. Applied client-side after fetching data. |
Result volume (maxResults) | ⚠️ | Maximum number of results to return (1–10000). Higher values use more compute time. |
ano | ✅ | Year filter (used for despesas, servidores). Example: 2025 |
modalidade | ✅ | Filter by procurement modality code (PNCP contratacoes). 1=Leilão, 2=Diálogo Competitivo, 3=Concurso, 4=Concorrência, 5=Tomada de Preços, 6=Pregão… |
apiKey — credential | ⚠️ Optional | API key for Portal da Transparência (required for despesas, servidores, licitacoes, convenios, sancoes). Get your free key at:… |
| Proxy | ⚠️ | Optional proxy configuration for requests. |
❓ FAQ
Q: Do I need an API key? A: For PNCP data (contratacoes, contratos, atas) — no! These work without any authentication. For Portal da Transparência data (despesas, servidores, licitacoes, convenios, sancoes), you need a free API key from portaldatransparencia.gov.br/api-de-dados/cadastrar-email.
Q: How do I get a Portal da Transparência API key? A: Visit portaldatransparencia.gov.br/api-de-dados/cadastrar-email, authenticate with Gov.br (Brazilian government SSO), and a key will be sent to your registered email. It is completely free.
Q: What date format should I use? A: Use YYYYMMDD format (e.g. 20260201 for February 1, 2026). The actor handles conversion automatically for both PNCP and Portal da Transparência APIs.
Q: What happens when PNCP is down?
A: Government APIs go through outages. When PNCP does not answer any request (timeouts or 5xx after bounded retries), the actor stops after the first modality instead of retrying all eight, and returns one diagnostic item with _blockReason: "origin-unavailable" and the request counts. You are not charged for it. Retry later — it is not a problem with your input.
Q: What are the API rate limits? A: PNCP allows 400 req/min (700 at night). Portal da Transparência allows 400 req/min (700 at night, 180 for restricted endpoints). The actor has built-in delays to stay safely within limits.
Q: What is PNCP? A: PNCP (Portal Nacional de Contratações Públicas) is Brazil's national public procurement portal, mandated by Law 14.133/2021. All government procurement above certain thresholds must be published there.
💰 Pricing
This actor uses Pay Per Event (PPE) pricing:
| Metric | Cost |
|---|---|
record-scraped | $0.005 per record |
Example: Scraping 1,000 records costs $5.00.
🔗 Related Actors
- CNPJ Enricher — Brazilian company data enrichment
- iFood Restaurant Intelligence — Restaurant menus, prices & reviews
- Reclame Aqui Scraper — Consumer complaints & ratings
📝 Changelog
v1.1 (2026-09-22, current)
- Empty
dateFrom/dateTonow really mean "last 30 days" / "today" (the input form no longer pre-fills a fixed 2026 date) - PNCP outage: stops after the first modality that gets no answer and reports
_blockReason: "origin-unavailable"(was: all run time spent on timeouts) - Zero-result diagnostics now name the observed cause:
origin-unavailable,origin-rejected-query,no-records-confirmed,USER_FILTER_EMPTY - Request timeout capped to the time left in the run
v1.0
- 8 data types: contratacoes, contratos, atas, despesas, servidores, licitacoes, convenios, sancoes
- PNCP integration (no auth required for 3 types)
- Portal da Transparência integration (free API key for 5 types)
- Flexible filters: UF, CNPJ, date range, keyword, agency code, procurement modality
- Unified normalized output schema across all data types
- Automatic multi-modality fetching for contratacoes
- Smart pagination with rate limit compliance
- PPE charging per record extracted
🏛️ Brazil Government Transparency — Gastos, Contratos e Servidores Públicos
🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português
Extraia dados do governo brasileiro de fontes oficiais: contratações públicas, contratos, gastos, sanções e servidores. Duas fontes de dados: PNCP (sem autenticação para 3 tipos) e Portal da Transparência (chave de API gratuita para 5 tipos). O único actor no Apify Store para dados de transparência governamental brasileira — 8 tipos de dados com saída normalizada.
✨ Funcionalidades
- Sem autenticação para PNCP — Contratações, contratos e atas funcionam sem nenhuma chave de API
- Portal da Transparência — Acesse despesas, servidores, licitações, convênios e sanções com chave gratuita
- Dados em tempo real — Direto das APIs oficiais do governo (PNCP + Portal da Transparência)
- Paginação inteligente — Trata automaticamente respostas paginadas das APIs
- Filtros flexíveis — Filtre por estado (UF), CNPJ, código do órgão, período, palavra-chave, modalidade de licitação
- Saída normalizada — Schema unificado para todos os 8 tipos de dados para fácil análise
- Seguro contra rate limit — Delays integrados para manter-se dentro dos limites das APIs (300 req/min)
- Todas as modalidades — Busca todas as modalidades de licitação automaticamente quando nenhuma é especificada
📥 Entrada
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
dataType | string | Sim | "contratacoes" | Tipo de dado: contratacoes, contratos, atas (PNCP, sem auth), despesas, servidores, licitacoes, convenios, sancoes (Portal, chave necessária) |
dateFrom | string | Não | 30 dias atrás | Data inicial (formato YYYYMMDD, ex: "20260101") |
dateTo | string | Não | Hoje | Data final (formato YYYYMMDD, ex: "20260215") |
uf | string | Não | — | Filtro por estado brasileiro (código de 2 letras: SP, RJ, MG, etc.) |
cnpj | string | Não | — | Filtro por CNPJ da entidade (apenas dígitos, ex: "00394460000141") |
codigoOrgao | string | Não | — | Código do órgão governamental (ex: "26000" para Ministério da Educação) |
keyword | string | Não | — | Filtro por palavra-chave aplicado aos campos objeto/descrição |
maxResults | inteiro | Não | 100 | Número máximo de resultados (1-10000) |
apiKey | string | Não | — | Chave do Portal da Transparência (necessária para despesas, servidores, licitações, convênios, sanções) |
ano | inteiro | Não | — | Filtro de ano (para despesas, servidores) |
modalidade | inteiro | Não | — | Código da modalidade de licitação (1-13, apenas contratações PNCP) |
proxyConfiguration | objeto | Não | — | Configuração de proxy opcional |
Tipos de Dados
Sem Autenticação (PNCP):
contratacoes— Processos de compras públicas (pregão, concorrência, etc.)contratos— Contratos e empenhos governamentaisatas— Atas de registro de preço
Com Chave de API (Portal da Transparência):
despesas— Gastos do governo federalservidores— Servidores públicos federaislicitacoes— Licitações do governo federal (requercodigoOrgao)convenios— Convênios federaissancoes— Sanções (CEIS/CNEP)
Obtenha sua chave gratuita em: portaldatransparencia.gov.br/api-de-dados/cadastrar-email
Exemplo de Entrada
{"dataType": "contratacoes","dateFrom": "20260201","dateTo": "20260215","uf": "SP","maxResults": 50}
📤 Saída
| Campo | Tipo | Descrição |
|---|---|---|
dataType | string | Tipo do registro (contratacao, contrato, ata, despesa, servidor, licitacao, convenio, sancao) |
id | string | Identificador único do registro |
orgaoEntidade | string | Nome do órgão/entidade governamental |
cnpjOrgao | string | CNPJ da entidade |
objeto | string | Objeto/descrição do registro |
valor | número | Valor monetário (R$) |
situacao | string | Situação atual |
data | string | Data de publicação/referência |
uf | string | Código do estado (2 letras) |
municipio | string | Nome do município |
url | string | Link direto para o portal oficial |
scrapedAt | string | Timestamp ISO 8601 da coleta |
Campos adicionais variam por tipo de dado (fornecedor, modalidade, dataVigenciaInicio, etc.).
Exemplo de Saída
{"dataType": "contratacao","id": "95954509000180-1-000021/2026","orgaoEntidade": "MUNICIPIO DE BALNEARIO BARRA DO SUL","cnpjOrgao": "95954509000180","objeto": "Construção de Duas Salas de Aula de Berçário - CEI Ernani de Souza","valor": 420202.48,"situacao": "Divulgada no PNCP","modalidade": "Concorrência - Eletrônica","modoDisputa": "Aberto","amparoLegal": "Lei 14.133/2021, Art. 28, II","processo": "9/2026","data": "2026-02-01T20:05:57","uf": "SC","municipio": "Balneário Barra do Sul","url": "https://pncp.gov.br/app/editais/95954509000180-1-000021/2026","scrapedAt": "2026-03-06T12:00:00.000Z"}
📋 Casos de Uso
- Jornalistas — Investigue padrões de gastos públicos, acompanhe contratos governamentais
- Equipes de compliance — Monitore sanções (CEIS/CNEP), verifique fornecedores contra listas de sanções
- Pesquisadores — Analise dados de licitações, gastos por órgão/função
- Fornecedores do governo — Encontre oportunidades de licitação por modalidade e localização
- Analistas de dados — Construa dashboards com dados de contratações públicas
- Treinamento de IA — Corpus de dados governamentais para modelos de ML do setor público brasileiro
- Auditoria — Acompanhe valores de contratos, períodos de vigência e relacionamentos com fornecedores
❓ Perguntas Frequentes
P: Preciso de uma chave de API? R: Para dados do PNCP (contratações, contratos, atas) — não! Eles funcionam sem nenhuma autenticação. Para dados do Portal da Transparência (despesas, servidores, licitações, convênios, sanções), você precisa de uma chave gratuita em portaldatransparencia.gov.br/api-de-dados/cadastrar-email.
P: Como obtenho uma chave do Portal da Transparência? R: Visite portaldatransparencia.gov.br/api-de-dados/cadastrar-email, autentique-se com Gov.br (SSO do governo brasileiro) e uma chave será enviada para seu e-mail cadastrado. É completamente gratuito.
P: Qual formato de data devo usar? R: Use formato YYYYMMDD (ex: 20260201 para 1 de fevereiro de 2026). O actor faz a conversão automaticamente para ambas as APIs do PNCP e Portal da Transparência.
P: O que acontece quando o PNCP está fora do ar?
R: APIs do governo têm quedas. Quando o PNCP não responde nenhuma requisição (timeouts ou 5xx depois das tentativas), o actor para na primeira modalidade em vez de tentar as oito e devolve um item de diagnóstico com _blockReason: "origin-unavailable" e a contagem de requisições. Você não é cobrado por ele. Tente mais tarde — não é problema do seu input.
P: Quais são os limites de taxa das APIs? R: O PNCP permite 400 req/min (700 à noite). O Portal da Transparência permite 400 req/min (700 à noite, 180 para endpoints restritos). O actor tem delays integrados para manter-se seguramente dentro dos limites.
P: O que é o PNCP? R: O PNCP (Portal Nacional de Contratações Públicas) é o portal nacional de contratações públicas do Brasil, instituído pela Lei 14.133/2021. Todas as contratações governamentais acima de determinados limites devem ser publicadas lá.
💰 Preços
Este actor usa precificação Pay Per Event (PPE):
| Métrica | Custo |
|---|---|
record-scraped | $0.005 por registro extraído |
Exemplo: Extrair 1.000 registros custa $5.00.
🔗 Actors Relacionados
- CNPJ Enricher — Enriquecimento de dados empresariais brasileiros
- iFood Restaurant Intelligence — Cardápios, preços e avaliações de restaurantes
- Reclame Aqui Scraper — Reclamações e avaliações de consumidores
📝 Changelog
v1.1 (2026-09-22, atual)
dateFrom/dateTovazios agora significam de fato "últimos 30 dias" / "hoje" (o formulário não pré-preenche mais uma data fixa de 2026)- Queda do PNCP: para na primeira modalidade sem resposta e informa
_blockReason: "origin-unavailable"(antes: o run inteiro gasto em timeouts) - O diagnóstico de 0 resultados agora nomeia a causa observada:
origin-unavailable,origin-rejected-query,no-records-confirmed,USER_FILTER_EMPTY - Timeout de requisição limitado ao tempo restante do run
v1.0
- 8 tipos de dados: contratações, contratos, atas, despesas, servidores, licitações, convênios, sanções
- Integração PNCP (sem autenticação para 3 tipos)
- Integração Portal da Transparência (chave gratuita para 5 tipos)
- Filtros flexíveis: UF, CNPJ, período, palavra-chave, código do órgão, modalidade de licitação
- Schema de saída normalizado e unificado para todos os tipos de dados
- Busca automática de todas as modalidades para contratações
- Paginação inteligente com conformidade de rate limit
- Cobrança PPE por registro extraído