Dados abertos
Dados abertos
Os arquivos de que saem os estudos de preço e a ferramenta de faixa observada, para baixar e refazer a conta. Cada um vem com o sha256 calculado do próprio arquivo quando o site é publicado, o tamanho, o período, a licença e o significado de cada campo.
Nesta página
- Os arquivos
- Contratos públicos de capacitação e apoio técnico, coleta bruta do PNCP
- Base limpa e classificada dos estudos de preço, um contrato por linha
- Agregado do observatório de preços, um grupo por linha
- Script de coleta, tratamento e análise
- Script do agregado do observatório
- O que ainda não está aqui
- Outros arquivos abertos
- Uso e citação
Para conferir se o arquivo que você baixou é o mesmo daqui: sha256sum arquivo no Linux, shasum -a 256 arquivo no macOS ou certutil -hashfile arquivo SHA256 no Windows. O resultado tem de ser idêntico ao publicado abaixo. Como os dados foram coletados e tratados está em método.
Os arquivos
| Arquivo | O que é | Registros | Tamanho |
|---|---|---|---|
| pncp-contratos-2026-08-31.json | Contratos públicos de capacitação e apoio técnico, coleta bruta do PNCP | 3.507 | 2,0 MB |
| faixas-preco-2026-08-31.jsonl | Base limpa e classificada dos estudos de preço, um contrato por linha | 2.570 | 3,7 MB |
| coleta-pncp.py | Script de coleta, tratamento e análise | — | 35 kB |
| observatorio-2026-08-31.csv | Agregado do observatório de preços, um grupo por linha | 123 | 12 kB |
| agregar-observatorio.py | Script do agregado do observatório | — | 13 kB |
Contratos públicos de capacitação e apoio técnico, coleta bruta do PNCP
Registros de contrato devolvidos pelas consultas temáticas à API pública de busca do PNCP, antes da limpeza (sem valor, duplicata e exclusão por tema). Sem campo de fornecedor; o objeto passou por tratamento para redução de identificadores pessoais.
- Baixar: pncp-contratos-2026-08-31.json (2,0 MB, application/json)
- sha256:
3d70c9a0ce8b97567a6b5807b22717809ed849c8f010132c19a4c251dfcb971c - Registros: 3.507, coletados em
- Período: de 01/11/2021 a 08/10/2026, segundo o campo
ini. O período vai da menor à maior data do campo (início de vigência). Há contratos registrados antes da coleta com vigência que começa depois dela, e por isso o período termina depois de 31/08/2026. - Fonte: PNCP — Portal Nacional de Contratações Públicas, API pública de busca
- Usado em: Estudo de valores observados em contratações de capacitação
- Licença: Creative Commons Atribuição 4.0 Internacional (CC BY 4.0), com atribuição a politica.bsb.br e à data da versão (termos de uso)
Dicionário de campos (11 campos)
| Campo | Significado | Preenchido |
|---|---|---|
q | a consulta temática que trouxe o registro (os termos estão no script de coleta) | 3.507 de 3.507 |
orgao | nome do órgão contratante, como o PNCP o devolve | 3.507 de 3.507 |
esfera | esfera do órgão em texto (Municipal, Estadual, Federal, Distrital ou Não se aplica, valor que o próprio PNCP devolve para alguns órgãos) | 3.507 de 3.507 |
uf | sigla da unidade da federação do órgão | 3.507 de 3.507 |
municipio | município do órgão | 3.507 de 3.507 |
modalidade | modalidade ou fundamento da contratação informado no registro | 3.507 de 3.507 |
valor | valor global do contrato, em reais | 3.507 de 3.507 |
ano | ano do registro, como o PNCP o devolve | 3.507 de 3.507 |
objeto | objeto do contrato, escrito por quem contrata, truncado na coleta; CPF e nome de pessoa passam por tratamento automático que os troca por marcador. O tratamento é por regra e pode deixar passar um caso: quem achar nome de pessoa aqui, por favor avise pelo contato, e a correção entra em /correcoes | 3.507 de 3.507 |
ini | data de início da vigência (AAAA-MM-DD) | 3.507 de 3.507 |
fim | data de fim da vigência (AAAA-MM-DD) | 3.507 de 3.507 |
Base limpa e classificada dos estudos de preço, um contrato por linha
Os registros que sobraram da limpeza, num esquema comum de preço: valor global, equivalente mensal quando a vigência passa de três meses, tema classificado e a base de comparação. É dela que saem a faixa observada e as contagens do entorno.
- Baixar: faixas-preco-2026-08-31.jsonl (3,7 MB, application/x-ndjson)
- sha256:
671da3c3f056c68d7594cc09d5f8fb95020936eda29448b5071b7607108e480b - Registros: 2.570, coletados em
- Período: de 01/11/2021 a 08/10/2026, segundo o campo
data_referencia. O período vai da menor à maior data do campo (data de referência). Há contratos registrados antes da coleta com vigência que começa depois dela, e por isso o período termina depois de 31/08/2026. - Fonte: PNCP — Portal Nacional de Contratações Públicas, API pública de busca
- Usado em: Faixa observada em contratos públicos; Municípios e câmaras (contagens do entorno)
- Licença: Creative Commons Atribuição 4.0 Internacional (CC BY 4.0), com atribuição a politica.bsb.br e à data da versão (termos de uso)
Dicionário de campos (44 campos)
| Campo | Significado | Preenchido |
|---|---|---|
fonte | de onde o registro veio (pncp-busca: a API de busca do PNCP) | 2.570 de 2.570 |
origem_id | chave aproximada do registro na origem: órgão, valor e início do objeto, porque a API de busca não devolve identificador estável | 2.570 de 2.570 |
origem_url | endereço do registro na origem, quando a fonte o devolve | 0 de 2.570 |
tipo_registro | tipo do registro na origem (contrato) | 2.570 de 2.570 |
estagio | estágio da contratação (assinado: contrato já firmado, não estimativa) | 2.570 de 2.570 |
coletado_em | data da coleta (AAAA-MM-DD) | 2.570 de 2.570 |
esquema_versao | versão do esquema comum de preço em que a linha foi gravada | 2.570 de 2.570 |
orgao_nome | nome do órgão contratante | 2.570 de 2.570 |
orgao_cnpj | CNPJ do órgão, quando a fonte o devolve | 0 de 2.570 |
unidade_nome | unidade compradora dentro do órgão, quando a fonte a devolve | 0 de 2.570 |
esfera | esfera em código: F federal, E estadual, D distrital, M municipal, N não se aplica | 2.570 de 2.570 |
poder | Poder do órgão, quando a fonte o devolve | 0 de 2.570 |
uf | sigla da unidade da federação | 2.570 de 2.570 |
municipio_nome | município do órgão | 2.570 de 2.570 |
municipio_ibge | código IBGE do município, quando a fonte o devolve | 0 de 2.570 |
porte_ente | porte do ente comprador (desconhecido quando a fonte não permite inferir) | 2.570 de 2.570 |
objeto | objeto do contrato, com o mesmo tratamento de identificadores da coleta bruta | 2.570 de 2.570 |
catalogo_tipo | tipo de catálogo do item, quando a fonte o devolve | 0 de 2.570 |
catalogo_codigo | código do item no catálogo, quando a fonte o devolve | 0 de 2.570 |
catalogo_descricao | descrição do item no catálogo, quando a fonte a devolve | 0 de 2.570 |
temas | linhas de serviço em que o registro foi classificado; lista vazia quando não casa com nenhuma | 1.147 de 2.570 |
temas_versao | versão da taxonomia de temas usada na classificação | 2.570 de 2.570 |
temas_origem | como o tema foi atribuído: regex (pelo texto do objeto), orgao (pela natureza do órgão, caso das escolas de governo) ou nenhum | 2.570 de 2.570 |
moeda | moeda dos valores (BRL) | 2.570 de 2.570 |
valor_bruto | valor como veio da fonte, em texto, para não perder casas decimais | 2.570 de 2.570 |
valor_tipo | o que o valor bruto mede (global: o contrato inteiro) | 2.570 de 2.570 |
quantidade | quantidade contratada, quando a fonte a devolve | 0 de 2.570 |
unidade_medida | unidade da quantidade, quando a fonte a devolve | 0 de 2.570 |
valor_total | valor total do contrato, em texto decimal | 2.570 de 2.570 |
valor_unitario | valor por unidade, quando a fonte o devolve | 0 de 2.570 |
valor_mensal | equivalente mensal (valor total dividido pelos meses de vigência); não é a parcela paga | 1.907 de 2.570 |
data_referencia | data que situa o preço no tempo (AAAA-MM-DD) | 2.570 de 2.570 |
vigencia_inicio | início da vigência (AAAA-MM-DD) | 2.570 de 2.570 |
vigencia_fim | fim da vigência (AAAA-MM-DD) | 2.570 de 2.570 |
meses_vigencia | meses de vigência: dias entre início e fim divididos por 30,44; vazio quando não calculável | 2.287 de 2.570 |
valor_total_real | valor corrigido pela inflação, quando calculado | 0 de 2.570 |
deflator_base | mês-base da correção pela inflação, quando calculada | 0 de 2.570 |
base_comparacao | a série em que o registro entra: global ou mensal, que não se misturam | 2.570 de 2.570 |
modalidade | modalidade ou fundamento informado no registro | 2.570 de 2.570 |
fundamento_legal | dispositivo legal da contratação, quando a fonte o devolve | 0 de 2.570 |
criterio_julgamento | critério de julgamento, quando a fonte o devolve | 0 de 2.570 |
n_propostas | número de propostas recebidas, quando a fonte o devolve | 0 de 2.570 |
fornecedor_tipo | natureza do fornecedor (NI: não informado; nenhum campo de fornecedor é coletado) | 2.570 de 2.570 |
valor_confiavel | marca de valor utilizável no cálculo das faixas | 2.570 de 2.570 |
Agregado do observatório de preços, um grupo por linha
A faixa de cada linha de serviço e base de comparação, para qualquer comprador e por perfil (região e via de contratação), com P10, P25, mediana, P75 e P90. Sai da base limpa acima pelo script agregar-observatorio.py, que só grava se a faixa geral for idêntica à da faixa observada já publicada. Grupo sem faixa vem com o n e o motivo, sem percentil.
- Baixar: observatorio-2026-08-31.csv (12 kB, text/csv)
- sha256:
5dcf2dde7d73e6f1db9ec85c026492623d842958b08392088fb8013c20f3c6f9 - Registros: 123, coletados em
- Período: de 07/02/2022 a 31/08/2026, segundo o campo
periodoInicio. O período vai da menor à maior data do campo (início do período de cada grupo). - Fonte: PNCP — Portal Nacional de Contratações Públicas, API pública de busca
- Usado em: Observatório de preços em contratações públicas; Posição do preço na faixa observada
- Licença: Creative Commons Atribuição 4.0 Internacional (CC BY 4.0), com atribuição a politica.bsb.br e à data da versão (termos de uso)
Dicionário de campos (15 campos)
| Campo | Significado | Preenchido |
|---|---|---|
tema | linha de serviço (o rótulo de cada uma está em /observatorio) | 123 de 123 |
base | base de comparação: global (valor do contrato) ou mensal (equivalente mensal, para vigência de mais de três meses) | 123 de 123 |
dimensao | geral (qualquer comprador), regiao (região do comprador) ou via (via de contratação declarada no registro) | 123 de 123 |
valor | o recorte dentro da dimensão: N, NE, CO, SE ou S para região; licitacao ou direta para via; vazio na geral | 105 de 123 |
n | número de contratos no grupo | 123 de 123 |
nEntes | número de órgãos distintos no grupo | 123 de 123 |
periodoInicio | data de referência mais antiga do grupo (AAAA-MM-DD) | 123 de 123 |
periodoFim | data de referência mais recente do grupo (AAAA-MM-DD) | 123 de 123 |
p10 | percentil 10, em reais, valores nominais; vazio quando o grupo não tem faixa | 71 de 123 |
p25 | percentil 25, em reais, valores nominais; vazio quando o grupo não tem faixa | 71 de 123 |
p50 | mediana, em reais, valores nominais; vazio quando o grupo não tem faixa | 71 de 123 |
p75 | percentil 75, em reais, valores nominais; vazio quando o grupo não tem faixa | 71 de 123 |
p90 | percentil 90, em reais, valores nominais; vazio quando o grupo não tem faixa | 71 de 123 |
suprimido | sim quando o grupo não tem faixa publicável | 123 de 123 |
motivo | por que o grupo não tem faixa: n abaixo do mínimo (8 na geral, 10 no perfil), menos de 3 órgãos ou um órgão com mais da metade | 52 de 123 |
Script de coleta, tratamento e análise
O programa que faz a coleta no PNCP, o tratamento do objeto, a limpeza, a classificação e o cálculo dos percentis do primeiro estudo. Roda com Python 3, sem dependência externa.
- Baixar: coleta-pncp.py (35 kB)
- sha256:
09b4f078072e8b199bff380fd0610517b5e6f675026b3c77c11d7ac5d53c5b19 - Usado em: Estudo de valores observados em contratações de capacitação
- Licença: Licença MIT, por ser código; as bases e o dicionário seguem em Creative Commons Atribuição 4.0 Internacional (CC BY 4.0) (termos de uso)
| Opção | O que faz |
|---|---|
--analisa | recalcula, sobre a base, as tabelas do estudo e as imprime |
--gera-json | gera o agregado que a página do estudo publica |
--anonimiza-base | reaplica o tratamento de CPF e de nome de pessoa a uma base já coletada |
--objetos | lista os objetos de uma linha de serviço, para conferência manual |
--uf | restringe a listagem de objetos a uma ou mais unidades da federação |
Script do agregado do observatório
O programa que lê a base limpa, confere que a faixa geral é idêntica à já publicada e calcula o P10 e os perfis. Roda com Python 3, sem dependência externa e sem rede.
- Baixar: agregar-observatorio.py (13 kB)
- sha256:
03648e6b07b729554a4fba6ad3c9480fbd752b8318bf0c56c120086e5b98aaea - Usado em: Observatório de preços em contratações públicas; Método
- Licença: Licença MIT, por ser código; as bases e o dicionário seguem em Creative Commons Atribuição 4.0 Internacional (CC BY 4.0) (termos de uso)
| Opção | O que faz |
|---|---|
--conferir | só confere a paridade com a faixa publicada, sem gravar nada |
--simular-ipca | imprime a mediana nominal e a corrigida pelo IPCA de cada linha, sem gravar nada (preparação da coleta de 01/12/2026) |
O que ainda não está aqui
Dois estudos saem de bases intermediárias que ainda não publicamos. Os agregados que eles usam declaram o sha256 da base de origem, para que a publicação futura possa ser conferida contra o número que já está na tela:
- Preço da hora por porte: 3.133 registros, Compras.gov.br — API pública de pesquisa de preço (modulo-pesquisa-preco), coletados em 10/09/2026. sha256 declarado:
cf915e6a4f6edc47e27ea5b0c771afb590e5f0dee59f63f717edcd479069bd11 - Série no tempo: 2.570 registros, PNCP — Portal Nacional de Contratações Públicas, API pública de busca, coletados em 31/08/2026. sha256 declarado:
ee95f7a96749b8252292277439673819d238d0313f4127e6d11b32d2e73ceb6d. O número de registros e a fonte são os da base de faixas acima, mas o arquivo é outro: é a base intermediária de que sai a correção pela inflação do estudo, e por isso o sha256 é diferente.
Outros arquivos abertos
Gerados de novo a cada publicação do site, a partir das páginas. Por isso não têm sha256 fixo aqui: a versão que vale é a que está no ar.
- calendario.ics (iCalendar) — os prazos da página de calendário, para assinar no programa de agenda. Página: calendario.
- novidades.xml (Atom) — as entradas da página de novidades, para leitor de feed. Página: novidades.
- llms.txt (texto) — uma linha por página, com o que cada uma traz. Página: início.
- llms-full.txt (texto) — o texto de todas as páginas num arquivo só, na ordem do sitemap. Página: início.
Uso e citação
Pode baixar, redistribuir e usar, inclusive em processo administrativo, com crédito a politica.bsb.br e à data da versão usada. Nenhuma base daqui é referência oficial de preço: os limites de cada uma estão no estudo. Erro encontrado é corrigido com registro em correções.