PNCP Brazilian Public Procurement Scraper
Pricing
from $1.20 / 1,000 resultado de licitaçãos
PNCP Brazilian Public Procurement Scraper
Search Brazilian government tenders (licitações) from PNCP — the official Portal Nacional de Contratações Públicas. Public open-data API, no auth, no ToS risk.
Pricing
from $1.20 / 1,000 resultado de licitaçãos
Rating
0.0
(0)
Developer
ARY RABELO
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
PNCP Brazilian Public Procurement Scraper 🇧🇷
Search and monitor Brazilian government tenders (licitações) straight from PNCP — the Portal Nacional de Contratações Públicas, the official government portal mandated by Lei 14.133/2021. Get structured JSON for every procurement: object, value, agency, state, modality, deadlines, and the direct edital link.
Built on PNCP's official open-data REST API — 100% public data, no login, no cookies, no CAPTCHA, no scraping tricks. It just works, and it keeps working.
💰 Pricing — $1.20 / 1,000 results
40% cheaper than the incumbent (pncp-licitacoes-brasil, $2.00/1,000). Pay only for the tenders you actually collect (pay-per-result). No monthly subscription, no proxy surcharge — because this hits a free public API, there are no proxy costs to pass on.
| Actor | Price / 1,000 | Data source |
|---|---|---|
| This actor | $1.20 | Official PNCP Consulta API |
| pncp-licitacoes-brasil | $2.00 | PNCP |
✅ Why this actor
- Zero legal risk — PNCP is official open government data. No ToS violation, no anti-bot arms race, no PII harvesting. Unlike marketplace/social scrapers, this is data the government publishes for you to consume.
- Reliable by design — the API returns clean JSON. Built-in exponential-backoff retry rides out PNCP's occasional server hiccups (
500 – erro de banco), so your run finishes even when the portal is flaky. - Filter where it counts — by date range, modality (Pregão Eletrônico, Dispensa, etc.), state (UF), municipality (IBGE code), agency (CNPJ), and free-text keywords on the object.
- Two modes — tenders by publication date, or only those currently open for proposals.
🔧 Input
| Field | Type | Description |
|---|---|---|
queryType | select | publicacao (by publication date) or proposta (open for proposals). Default publicacao. |
dataInicial | string | YYYY-MM-DD. Defaults to 7 days ago. (publicacao only) |
dataFinal | string | YYYY-MM-DD. Defaults to today. |
modalidades | array | Modality codes. Required for publicacao. Default [6, 8] (Pregão Eletrônico + Dispensa). |
uf | string | State filter, e.g. SP, RJ. Optional. |
codigoMunicipioIbge | string | 7-digit IBGE municipality code. Optional. |
cnpj | string | Agency CNPJ (14 digits). Optional. |
keywords | array | Keep only tenders whose object contains ANY term (accent/case-insensitive). Optional. |
includeItems | boolean | Also fetch each tender's line items. Multiplies requests — off by default. |
maxItems | integer | Hard cap on records collected. Default 1000. |
Modality codes
1 Leilão Eletrônico · 2 Diálogo Competitivo · 3 Concurso · 4 Concorrência Eletrônica · 5 Concorrência Presencial · 6 Pregão Eletrônico · 7 Pregão Presencial · 8 Dispensa · 9 Inexigibilidade · 10 Manifestação de Interesse · 11 Pré-qualificação · 12 Credenciamento · 13 Leilão Presencial
Example input
{"queryType": "publicacao","dataInicial": "2026-07-01","dataFinal": "2026-07-09","modalidades": [6, 8],"uf": "SP","keywords": ["notebook", "merenda escolar"],"maxItems": 500}
📤 Output
Each dataset item:
{"numeroControlePNCP": "00394460000141-1-000123/2026","objeto": "Aquisição de notebooks para escolas municipais","modalidade": "Pregão - Eletrônico","modalidadeId": 6,"modoDisputa": "Aberto","situacao": "Divulgada no PNCP","valorTotalEstimado": 150000.5,"valorTotalHomologado": null,"srp": false,"orgaoRazaoSocial": "Prefeitura Municipal de Exemplo","orgaoCnpj": "00394460000141","unidadeNome": "Secretaria de Educação","uf": "SP","municipio": "São Paulo","numeroCompra": "90001/2026","processo": "1234/2026","anoCompra": 2026,"sequencialCompra": 123,"dataPublicacaoPncp": "2026-07-02T10:00:00","dataAberturaProposta": "2026-07-05T09:00:00","dataEncerramentoProposta": "2026-07-20T14:00:00","linkSistemaOrigem": "https://...","editalUrl": "https://pncp.gov.br/app/editais/00394460000141/2026/123","scrapedAt": "2026-07-09T18:32:38.000Z","itens": null,"_raw": { "...": "the full original PNCP record" }}
The full untouched PNCP record is always kept under _raw, so no field is ever lost.
🎯 Who uses this
- Bidders / suppliers monitoring new opportunities in their category and region.
- Bid-management SaaS and dashboards needing a clean licitações feed.
- Journalists & researchers auditing public spending.
- Analysts tracking procurement by agency, modality, or value.
⚖️ Legal
PNCP publishes this data as open government data under Brazil's public transparency and procurement law (Lei 14.133/2021). This actor consumes the official public Consulta API. No authentication is bypassed and no private or personal data is collected.