PNCP Vencedores & Inteligência de Fornecedores
Under maintenancePricing
from $4.00 / 1,000 contratação enriquecidas
PNCP Vencedores & Inteligência de Fornecedores
Under maintenanceEnriqueça licitações do PNCP com vencedores por item, CNPJ/razão social, valores homologados, descontos e porte do fornecedor. Compare estimado x homologado e receba agregações grátis de concentração, recorrência, economia e taxa de deserto. Cobrança apenas quando houver resultado.
Pricing
from $4.00 / 1,000 contratação enriquecidas
Rating
0.0
(0)
Developer
Johnn Mottin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Descubra quem venceu licitações do PNCP — e por quanto
Enriqueça contratações do PNCP — Portal Nacional de Contratações Públicas com a camada que aparece depois da homologação: fornecedor vencedor por item, CNPJ/identificação, razão social, quantidade homologada, valores, desconto e porte do fornecedor.
O Actor cruza a publicação da contratação com os endpoints públicos de itens e resultados, entrega um registro estruturado por contratação e adiciona gratuitamente inteligência agregada sobre fornecedores, concentração, recorrência, economia e itens desertos ou fracassados.
Foi criado para inteligência B2G, análise concorrencial, pesquisa de fornecedores vencedores, acompanhamento pós-licitação e automação de dados públicos brasileiros.
Sem login. Sem navegador. Sem LLM em runtime.
Principais recursos
- Vencedores de licitação por item
- CNPJ/identificação e razão social do fornecedor
- Quantidade e valor unitário homologados
- Valor total homologado
- Percentual de desconto
- Porte e natureza jurídica quando disponíveis
- Valores estimados x homologados
- Economia comparável sem extrapolar dados ausentes
- Consolidação de vencedores por contratação
- Top fornecedores por valor homologado
- Concentração de valor no Top 1, Top 3 e Top 5
- Recorrência órgão ↔ fornecedor
- Distribuição por porte
- Taxa de itens desertos e fracassados
- Filtros por período, modalidade, UF, município, órgão e palavras-chave
- Resultado vazio gratuito quando ainda não existe vencedor
- RUN_SUMMARY e agregações gratuitos
- Health checks, retries e diagnóstico em STATS
- Pay Per Event: cobrança somente quando existe enriquecimento com resultado
Actor comunitário não-oficial. Sem afiliação com o Governo Federal, o PNCP, o Serpro ou qualquer órgão público. Os dados são obtidos de endpoints públicos do PNCP e permanecem sujeitos à disponibilidade e às condições da fonte.
Para que este Actor serve
Uma publicação de licitação responde o que o órgão pretende comprar.
Este Actor entra na etapa posterior para responder:
Quem venceu cada item e por qual valor?
Use os dados para analisar:
- fornecedores vencedores;
- preços homologados;
- descontos;
- órgãos compradores;
- recorrência;
- concentração de valor;
- economia entre estimado e homologado;
- itens desertos ou fracassados.
Para quem é
Empresas que vendem para o governo
Pesquise concorrentes, preços vencedores, órgãos compradores, descontos praticados e fornecedores recorrentes.
Equipes B2G e inteligência comercial
Envie os resultados para CRM, planilhas, bancos de dados, dashboards, alertas e pipelines internos.
Consultorias de licitação
Analise o que aconteceu depois da publicação: vencedor, valores homologados, porte, situação do item e desconto.
Pesquisa e auditoria
Use as métricas como base estruturada para análise. O Actor não conclui sozinho que uma contratação é irregular.
Automação e dados
Integre com n8n, Make, Google Sheets, Slack, webhooks, APIs, bancos de dados, BI, aplicações internas e agentes de IA downstream.
Diferença para o Actor de Licitações PNCP
Este Actor é complementar ao Licitações PNCP Brasil — Editais e Contratos.
oportunidade publicada↓Licitações PNCP Brasilresultado homologado↓PNCP Vencedores & Inteligência de Fornecedores
Use o primeiro para descobrir oportunidades.
Use este para estudar quem venceu e por quanto.
Importante: resultados aparecem depois da publicação
Uma contratação recente pode ainda não possuir resultado homologado.
Quando a contratação existe, mas nenhum item possui resultado detalhado:
enrichmentEmpty: true
O registro é mantido no dataset para mostrar que foi processado.
Ele não é cobrado como enriched-contratacao.
Cobertura observada no desenvolvimento
A documentação técnica original registrou esta amostra de desenvolvimento:
| Idade da janela de publicação | Contratações com ≥1 resultado |
|---|---|
| 3 dias | ~5% |
| 12 dias | 0% |
| 62 dias | ~40% |
| 123 dias | ~65% |
Também foi observada latência aproximada de:
10–50 dias
entre publicação e resultado em parte da amostra, com mediana próxima de:
36 dias
Esses números são amostras, não promessa de cobertura futura.
Por isso o input padrão usa uma janela mais madura:
{"idadeJanelaDias": 120,"janelaDias": 1}
Custo × retorno da janela: uma execução varre a janela inteira mesmo quando quase
nada tem resultado — o custo de computação é o mesmo, mas a entrega (e a cobrança) só
acontece nas contratações com resultado. Em janela magra (recém-publicada, ~0–5% de
cobertura), a execução tende a custar mais do que rende em inteligência. Recomendação
honesta: use janelas maduras (idadeJanelaDias ≥ 60–120) e deixe as janelas recentes
para o Actor de Licitações PNCP, que acompanha a publicação dos editais.
Como funciona
Para cada modalidade selecionada, o Actor:
- resolve a janela de publicação;
- consulta contratações do PNCP;
- aplica os filtros enviados à API;
- aplica palavras-chave antes do enriquecimento;
- busca os itens da contratação;
- identifica itens marcados com resultado;
- consulta os resultados desses itens;
- normaliza vencedores e valores;
- consolida a contratação;
- cobra somente se houver pelo menos um resultado detalhado;
- calcula agregações gratuitas quando ativadas;
- escreve
RUN_SUMMARY; - mantém diagnóstico em
STATS.
Fonte dos dados
O Actor usa endpoints públicos do PNCP para:
- consulta de contratações;
- itens da compra;
- resultados por item.
As requisições são HTTP diretas.
Não há automação de navegador.
Input
Exemplo recomendado
{"idadeJanelaDias": 120,"janelaDias": 1,"modalidades": [6],"uf": "SP","palavrasChave": ["software","tecnologia"],"maxResults": 100,"maxResultadosPorContratacao": 20,"agregacoes": true,"maxRuntimeMs": 300000}
Campos
| Campo | Default | Descrição |
|---|---|---|
idadeJanelaDias | 120 | Quantos dias atrás começa a janela. |
janelaDias | 1 | Duração da janela, de 1 a 3 dias. |
dataInicial | vazio | Data explícita AAAA-MM-DD. |
dataFinal | vazio | Data final explícita; use junto com dataInicial. |
modalidades | [6,8] | Códigos de modalidade PNCP. |
uf | vazio | Sigla da UF. |
codigoMunicipioIbge | vazio | Código IBGE de 7 dígitos. |
orgaoCnpj | vazio | CNPJ de 14 dígitos do órgão. |
palavrasChave | [] | Termos buscados no objeto. |
maxResults | 100 | Máximo de resultados cobrados. |
maxResultadosPorContratacao | 20 | Máximo de itens com resultado detalhado por contratação. |
agregacoes | true | Gera inteligência agregada gratuita. |
maxRuntimeMs | 300000 | Teto de runtime. |
debug | false | Logs adicionais. |
Janela relativa
Exemplo:
{"idadeJanelaDias": 120,"janelaDias": 1}
Isso consulta uma janela de um dia publicada aproximadamente 120 dias atrás.
Janela explícita
Exemplo:
{"dataInicial": "2026-04-19","dataFinal": "2026-04-20"}
As duas datas devem ser informadas juntas.
O intervalo máximo é:
3 dias
Modalidades
Exemplos usados pelo Actor:
6 = Pregão Eletrônico8 = Dispensa
{"modalidades": [6, 8]}
Filtros
UF
{"uf": "MG"}
Município
{"codigoMunicipioIbge": "3106200"}
Órgão comprador
{"orgaoCnpj": "00394460000141"}
Palavras-chave
{"palavrasChave": ["software","automação","sistema"]}
A comparação ignora caixa e acentuação.
O filtro de palavras-chave roda antes das requisições de itens e resultados.
Output
O dataset contém principalmente:
CONTRATACAO_ENRIQUECIDARUN_SUMMARY
CONTRATACAO_ENRIQUECIDA
É o registro principal.
Pode conter:
- header da contratação;
- itens;
- resultados por item;
- vencedores consolidados;
- valores homologados;
- economia comparável;
- flags de truncamento;
- informação de cobrança.
Quando é cobrado
Se existir pelo menos um resultado detalhado:
enrichmentEmpty: false
o registro pode gerar:
enriched-contratacao
Se não houver resultado:
enrichmentEmpty: true
o registro é gratuito.
Exemplo de output
{"recordType": "CONTRATACAO_ENRIQUECIDA","entityId": "pncp:compra/06116743000108/2026/19","numeroControlePNCP": "06116743000108-1-000019/2026","dataPublicacaoPncp": "2026-04-19T12:37:13","orgaoCnpj": "06116743000108","orgaoRazaoSocial": "MUNICIPIO DE BREJO","uf": "MA","municipio": "Brejo","modalidadeNome": "Pregão - Eletrônico","valorTotalEstimado": 1394550,"nItens": 2,"nItensComResultado": 2,"valorTotalHomologadoItens": 1200000,"economiaEstimadoHomologado": 194550,"vencedores": [{"niFornecedor": "18849540000100","nomeRazaoSocialFornecedor": "RAIMUNDO NONATO DA SILVA FERNANDES","porteFornecedorNome": "ME","itensVencidos": 2,"valorTotalHomologado": 1200000}],"enrichmentEmpty": false}
Campos principais
| Campo | Descrição |
|---|---|
recordType | Tipo do registro. |
entityId | Identidade determinística. |
numeroControlePNCP | Identificador oficial. |
orgaoCnpj | CNPJ do órgão. |
orgaoRazaoSocial | Razão social do órgão. |
uf | UF. |
municipio | Município. |
objeto | Objeto da contratação. |
modalidadeNome | Modalidade. |
valorTotalEstimado | Valor estimado quando disponível. |
nItens | Itens carregados. |
nItensComResultado | Itens com resultado detalhado. |
valorTotalHomologadoItens | Soma dos resultados detalhados. |
economiaEstimadoHomologado | Diferença comparável entre estimado e homologado. |
itensComparaveis | Quantidade de itens comparáveis. |
vencedores | Vencedores consolidados. |
itens | Itens e resultados detalhados. |
itensTruncados | Indica corte na coleta de itens. |
resultadosTruncados | Indica corte no detalhamento de resultados. |
enrichmentEmpty | true quando nenhum resultado detalhado foi localizado. |
observedAt | Momento da observação. |
Resultados por item
Em:
itens[].resultados[]
podem aparecer:
niFornecedornomeRazaoSocialFornecedortipoPessoaporteFornecedorNomenaturezaJuridicaNomequantidadeHomologadavalorUnitarioHomologadovalorTotalHomologadopercentualDescontodataResultadodataCancelamentosituacaoResultadoNomeordemClassificacaoSrp
Campos ausentes retornam null.
Inteligência agregada gratuita
Com:
{"agregacoes": true}
o RUN_SUMMARY pode incluir:
Top fornecedores
Ranking por valor homologado, com itens vencidos e número de contratações.
Concentração
valorHomologadoTotaltop1Pcttop3Pcttop5Pct
Recorrência órgão-fornecedor
Pares órgão + fornecedor repetidos em duas ou mais contratações da amostra.
Economia
valorEstimadoComparavelvalorHomologadoComparaveleconomiaAbsolutaeconomiaPctitensComparaveis
Distribuição de porte
Agrupamento por porte quando a fonte informa o campo.
Desertos e fracassados
itensTotalitensHomologadositensDesertositensFracassadostaxaDesertoPct
RUN_SUMMARY
É gratuito e pode informar:
- billable records;
- registros vazios gratuitos;
- cobertura de resultado;
- candidatas encontradas;
- contratações descartadas;
- contratações concluídas;
- falhas;
- requests por endpoint;
- requests por contratação;
- HTTP 429;
- truncamentos;
- alertas de qualidade;
- agregações;
- métricas operacionais.
STATS
O Key-Value Store padrão recebe:
STATS
com diagnóstico operacional como:
- requests;
- retries;
- HTTP 429;
- HTTP 5xx;
- cobrança;
- registros gratuitos;
- warnings;
- qualidade;
- runtime;
- limites.
Agendamento na Apify
Use Tasks + Schedules.
Exemplo diário:
{"idadeJanelaDias": 120,"janelaDias": 1,"modalidades": [6],"agregacoes": true}
A janela relativa avança automaticamente com o calendário.
Exemplo de fluxo B2G
- Consulte uma janela madura.
- Filtre por UF, órgão ou palavras-chave.
- Receba vencedores e valores homologados.
- Envie o dataset para CRM, Sheets ou banco de dados.
- Use as agregações para comparar concorrentes.
- Se quiser, cruze os CNPJs vencedores com outro Actor independente de dados cadastrais.
API da Apify
curl -s "https://api.apify.com/v2/acts/<SEU_USUARIO>~pncp-award-vendor-intelligence/run-sync-get-dataset-items?token=<SEU_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"idadeJanelaDias":120,"janelaDias":1,"modalidades":[6],"uf":"SP","maxResults":100}'
Integrações
Use com:
- Apify API;
- Tasks;
- Schedules;
- webhooks;
- n8n;
- Make;
- Google Sheets;
- Slack;
- bancos de dados;
- dashboards;
- aplicações internas;
- IA downstream.
Cobrança
Modelo Pay Per Event.
O código usa:
actor-startenriched-contratacao
actor-start
Uma vez depois da validação do input.
Input inválido é rejeitado antes dessa cobrança.
enriched-contratacao
Uma vez por contratação entregue com pelo menos um resultado detalhado.
O que é gratuito
Não gera enriched-contratacao:
enrichmentEmpty: true;- contratação descartada por palavra-chave;
RUN_SUMMARY;- agregações;
- resultados não entregues por limite.
A aba Pricing é sempre a fonte autoritativa dos preços atuais.
Controle de custo
Principais controles:
maxResultsmaxResultadosPorContratacaomaxRuntimeMs
Filtros que também reduzem escopo:
ufcodigoMunicipioIbgeorgaoCnpjpalavrasChavemodalidades
Health checks
O Actor monitora:
- completude de campos core;
- volume por modalidade;
- mudanças de shape;
- falhas HTTP;
- retries;
- rate limiting;
- disponibilidade da fonte.
Quando necessário, o resumo pode marcar:
qualityAlert
Limites honestos
Resultado não existe imediatamente
Contratações recentes podem não ter vencedor homologado.
Não traz todas as propostas perdedoras
O Actor trabalha com os resultados públicos expostos pelos endpoints usados pela implementação.
Máximo de 200 itens por contratação
A coleta de itens pagina até quatro páginas de 50.
Quando necessário:
itensTruncados: true
Limite de resultados detalhados
maxResultadosPorContratacao pode chegar a 50.
Quando existem mais itens com resultado:
resultadosTruncados: true
Janela máxima de 3 dias
A validação limita a janela a 3 dias.
A consulta possui teto de páginas
Se a listagem exceder o teto interno, o resumo marca truncamento.
A fonte pode sofrer lentidão e rate limit
Há timeout, retry, backoff, pacing e tratamento de HTTP 429, mas a disponibilidade final depende do PNCP.
Não há análise jurídica automática
O Actor não declara fraude, superfaturamento, favorecimento ou ilegalidade.
Não há LLM em runtime
Os dados vêm da fonte pública e as métricas são determinísticas.
Perguntas frequentes
Preciso de login?
Não.
Preciso de chave da API do PNCP?
Não para os endpoints públicos utilizados.
Usa navegador?
Não.
Mostra quem venceu?
Sim, quando o resultado por item está disponível.
Retorna CNPJ do vencedor?
niFornecedor traz a identificação pública quando disponível.
Retorna razão social?
Sim, quando a fonte fornece nomeRazaoSocialFornecedor.
Mostra valor homologado?
Sim.
Calcula economia?
Sim, mas somente para itens em que existem valores comparáveis dos dois lados.
Por que recebi enrichmentEmpty: true?
Porque a contratação foi encontrada, mas nenhum resultado detalhado foi localizado naquele momento.
Esse registro não gera enriched-contratacao.
Posso filtrar por estado?
Sim.
{"uf": "RS"}
Posso filtrar por órgão?
Sim, com orgaoCnpj.
Posso filtrar por palavras-chave?
Sim.
Posso agendar?
Sim.
As agregações são cobradas?
Não.
O que significa recorrência órgão-fornecedor?
Repetição do mesmo par órgão + fornecedor em duas ou mais contratações processadas na execução.
A economia prova irregularidade?
Não.
É uma métrica matemática. Interpretação jurídica ou econômica exige contexto.
Pelo que eu pago?
Pelo evento enriched-contratacao, quando existe resultado detalhado, além do evento de início configurado na aba Pricing.
Contratação sem vencedor é cobrada?
Não como enriched-contratacao.
O resumo é cobrado?
Não.
Este Actor é oficial?
Não.
É uma ferramenta comunitária independente que usa dados públicos do PNCP.
Suporte
Dúvidas, bugs ou solicitação de campos:
johnatan291303@gmail.com
Use também a seção Issues da página do Actor.
Parte da suíte JM Forge
Também do mesmo desenvolvedor:
- Licitações PNCP Brasil — Editais e Contratos — oportunidades, pregões, dispensas e contratos públicos.
- Consulta CNPJ Brasil e Empresas por CNAE — dados cadastrais e pesquisa de empresas brasileiras.
Os Actors permanecem ferramentas independentes.
Use cada ferramenta para o problema específico que ela resolve.