Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pncp-dispensa-cli

CLI em Node.js + TypeScript que busca no PNCP (Portal Nacional de Contratações Públicas) oportunidades de Dispensa de Licitação com prazo de proposta ainda aberto, filtra e ordena os resultados, e lista tudo no terminal.

Objetivo: decidir manualmente em quais vale a pena dar lance, sem precisar garimpar manualmente no site do governo.

Requisitos

  • Node.js 18 ou superior (usa o fetch nativo do Node)

Instalação

npm install

Compilar

npm run build

Comando buscar

Lista as contratações de Dispensa de Licitação com proposta aberta.

node dist/index.js buscar --data-final <AAAAMMDD> [opções]

(ou npm start -- buscar --data-final <AAAAMMDD> [opções])

Flags

Flag Obrigatória Descrição
--data-final <data> sim Data limite de busca, no formato AAAAMMDD
--uf <uf> não Filtra pela sigla do estado (ex: MT)
--cidade <cidade> não Filtra pelo nome do município (ex: Cuiabá)
--palavra-chave <t> não Filtra pelo texto do objeto da contratação

Os resultados são sempre ordenados pelo prazo de encerramento da proposta (mais próximos primeiro).

Exemplo

node dist/index.js buscar --data-final 20260901 --uf MT --cidade Cuiabá --palavra-chave material

Cada resultado mostra o ID (numeroControlePNCP), órgão, UF, objeto da compra, valor estimado, prazo de encerramento e o link direto para o edital no site do PNCP.

Sobre a busca

Os dados vêm do endpoint público /v1/contratacoes/proposta do PNCP, filtrado para a modalidade "Dispensa de Licitação". Como o PNCP pagina os resultados e aplica limite de requisições (rate limit), uma busca completa pode levar alguns minutos — o programa já trata isso automaticamente (pausa entre páginas e novas tentativas em caso de bloqueio temporário).

Comando analisar

Busca os itens técnicos (descrição, quantidade, valores) de uma contratação específica e usa a API da OpenAI para interpretar o que está sendo pedido e sugerir que tipo de produto/serviço comercial atende.

node dist/index.js analisar --id <numeroControlePNCP>

O --id é o campo ID: que aparece em cada resultado do comando buscar (ex: 58692071000182-1-000019/2026).

Configuração necessária

  1. Crie um arquivo .env na raiz do projeto.
  2. Crie uma chave em platform.openai.com/api-keys e coloque em .env: OPENAI_API_KEY=sk-...

Atenção: diferente do buscar (que usa a API gratuita do PNCP), cada chamada do analisar consome créditos pagos da sua conta OpenAI. O .env nunca deve ser commitado (já está no .gitignore).

About

CLI em Node.js + TypeScript que busca no PNCP oportunidades de Dispensa de Licitação com proposta ainda aberta, filtra por UF/cidade/palavra-chave e ordena por prazo.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages