PNCP Scraper avatar

PNCP Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
PNCP Scraper

PNCP Scraper

Consulta pública de contratações e contratos no Portal Nacional de Contratações Públicas.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Bruno-Arantir

Bruno-Arantir

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Official Brazilian public-procurement API → structured contracting and contract records.

Colete contratações e contratos publicados no Portal Nacional de Contratações Públicas — a fonte única da Lei 14.133/2021 — sem HTML scraping e sem login.

  • Lê a API oficial de consulta (pncp.gov.br/api/consulta/v1), a mesma documentada no Swagger do portal.
  • Filtra por objeto (local), UF, município/IBGE, CNPJ do órgão, modalidade e janela de publicação.
  • Devolve id PNCP, órgão, UF, objeto, valores, modalidade, datas, situação e link do edital/contrato.
  • HTTP barato (fetch JSON) — boa margem PPE. Proxy opcional: a API costuma ser aberta.
  • Dedup por numeroControlePNCP e teto rígido de maxItems (5.000).
  • Página HTML de challenge/CAPTCHA encerra o run (fail closed). Sem bypass.

Fontes oficiais (verificado em 2026-09-05)

Swagger UI: pncp.gov.br/api/consulta/swagger-ui/index.html
OpenAPI: GET https://pncp.gov.br/api/consulta/v3/api-docs
Base: https://pncp.gov.br/api/consulta/v1

EndpointO que listaParâmetros obrigatórios
GET /contratacoes/propostaContratações com recebimento de proposta abertodataFinal (YYYYMMDD), pagina
GET /contratacoes/publicacaoContratações por data de publicaçãodataInicial, dataFinal, codigoModalidadeContratacao, pagina
GET /contratacoes/atualizacaoContratações por data de atualização globaliguais à publicação
GET /contratosContratos por data de publicaçãodataInicial, dataFinal, pagina
GET /orgaos/{cnpj}/compras/{ano}/{sequencial}Detalhe de uma comprapath

Filtros opcionais nas contratações: uf, codigoMunicipioIbge, cnpj (órgão), codigoModalidadeContratacao (já opcional em proposta).

tamanhoPagina mínimo 10 (a API devolve 400 abaixo disso). Não há parâmetro de palavra-chave — o Actor aplica keyword / nome de órgão / nome de município no JSON recebido.

Portal: https://pncp.gov.br/app/editais/{cnpj}/{ano}/{sequencial} e https://pncp.gov.br/app/contratos/{cnpj}/{ano}/{sequencial}.

Itens da compra

GET /api/consulta/v1/orgaos/{cnpj}/compras/{ano}/{seq}/itens → 404
GET /api/pncp/v1/orgaos/{cnpj}/compras/{ano}/{seq}/itens → 5xx recorrente

O Actor não depende de itens para ter sucesso. includeItens=true tenta uma vez e segue só com o objeto se falhar.

Há também APIs em compras.dados.gov.br (ComprasNet legado). Este Actor usa o PNCP, que é o cadastro nacional vigente.

Amostra de saída

Estrutura real da API de consulta (campos nulos quando o portal não publica o valor):

{
"id": "13915632000127-1-000207/2025",
"recordType": "contratacao",
"orgao": "MUNICIPIO DE JUAZEIRO",
"orgaoCnpj": "13915632000127",
"uf": "BA",
"municipio": "Juazeiro",
"objeto": "Credenciamento de prestadores de serviços de saúde…",
"valorEstimado": 570018.24,
"modalidade": "Credenciamento",
"situacao": "Divulgada no PNCP",
"linkPncp": "https://pncp.gov.br/app/editais/13915632000127/2025/207"
}

Exemplo ilustrativo de formato — rode o Actor para dados atuais.

Configuração

CampoDefaultDescrição
searchModepropostaproposta / publicacao / atualizacao / contratos
keywordFiltro local no objeto
ufSigla ou nome; vai na query da API
municipioIBGE 7 dígitos ou nome
orgaoFiltro local na razão social
cnpjOrgaoQuery cnpj / cnpjOrgao
cnpjFornecedorSó contratos; filtro local
modalidadeIdObrigatório em publicacao/atualizacao (6 = pregão eletrônico)
publicationDateFrom / Toaté = hojeYYYY-MM-DD ou YYYYMMDD
maxItems50Teto 5.000
includeItensfalseTentativa extra, fail-soft
proxyConfigurationOpcional

PPE

Evento dataset-item: US$ 2,00 / 1.000 registros sugerido.

LGPD

Editais, valores e razões sociais de órgãos e fornecedores são dados públicos de contratação. Não coletamos documentos internos nem cadastros autenticados.

Desenvolvimento

cd actors/pncp-scraper
npm install && npm test && npm run build
apify run