Brazil Public Tenders (PNCP) Scraper
Pricing
Pay per usage
Brazil Public Tenders (PNCP) Scraper
Search every Brazilian public tender from the official PNCP register by keyword, state, value and deadline. Public data, no API key. 27 flat fields, deduplicated, Excel-ready.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Dimitri Fernandes Gaulia
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Search every public tender in Brazil by keyword, state, value and deadline — and get a clean spreadsheet instead of nested JSON.
Data comes from PNCP (Portal Nacional de Contratações Públicas), the official federal register that every Brazilian public body is legally required to publish to. Public data, no API key, no login, no cookies.
Brazil's public sector buys around R$ 1 trillion a year. Every one of those contracts is announced here first.
Why not just call the PNCP API yourself
You can. Here is what you run into:
| PNCP raw API | This Actor |
|---|---|
codigoModalidadeContratacao is mandatory and single-valued — "all tenders in São Paulo" means 13 separate paginated crawls | Pick any set of modes, it crawls them all |
| No keyword search at all — you cannot ask for "software" | Accent- and case-insensitive keyword include/exclude on the tender object |
| No value filter | Min/max estimated value |
| No "still open for bids" filter | One checkbox |
Nested objects (orgaoEntidade, unidadeOrgao, amparoLegal) | 27 flat columns, ready for Excel |
| Returns duplicates when new tenders are inserted mid-crawl | Deduplicated by tender control number |
| Answers HTTP 429 after a few dozen pages and dies | Backs off and finishes the job |
Use cases
- Sell to the government — get a daily feed of open tenders matching what your company actually supplies
- Competitive intelligence — track what a specific public body (by CNPJ) is buying
- Market sizing — how much is spent on your category, by state, per quarter
- Lead generation — buyers with an active budget and a published deadline
- Feed an AI agent — clean rows for RAG, alerts or classification pipelines
Input
| Field | What it does |
|---|---|
diasRetroativos | Days back from today. Use 1 for a daily monitor. |
dataInicial / dataFinal | Explicit window (YYYY-MM-DD), overrides the above |
modalidades | Procurement modes. Default 6 (Pregão Eletrônico), the most common |
ufs | States, e.g. ["SP","RJ"]. Empty = whole country |
palavrasChave | Keep only tenders containing any of these words |
palavrasExcluir | Drop tenders containing any of these words |
valorMin / valorMax | Estimated value range in BRL |
somenteAbertas | Only tenders whose bidding deadline has not passed |
cnpj | Watch one specific public body |
maxResultados | Hard cap on rows |
Example: IT tenders open for bids in São Paulo
{"diasRetroativos": 7,"modalidades": ["6"],"ufs": ["SP"],"palavrasChave": ["software", "licenca de uso", "sistema de gestao"],"somenteAbertas": true,"valorMin": 30000,"maxResultados": 500}
Output
One flat row per tender, 27 fields:
{"numeroControlePNCP": "01612441000107-1-000131/2026","objetoCompra": "Contratação de licença de uso de programa de informática...","valorTotalEstimado": 46150.0,"modalidadeNome": "Pregão - Eletrônico","situacaoCompraNome": "Divulgada no PNCP","dataAberturaProposta": "2026-08-25T08:00:01","dataEncerramentoProposta": "2026-09-10T08:00:01","orgaoCnpj": "01612441000107","orgaoRazaoSocial": "MUNICIPIO DE BELA VISTA DO CAROBA","uf": "PR","municipio": "Bela Vista da Caroba","urlPncp": "https://pncp.gov.br/app/editais/01612441000107/1-000131/2026"}
Plus valorTotalHomologado, modoDisputaNome, dataPublicacaoPncp, numeroCompra, anoCompra, processo, orgaoPoder, orgaoEsfera, unidadeNome, unidadeCodigo, codigoIbge, amparoLegal, informacaoComplementar, linkSistemaOrigem.
Export as JSON, CSV, Excel or XML, or read it from the API.
Daily monitor
Schedule the Actor with diasRetroativos: 1 and your keywords. Every morning you get only what was published in the last 24 hours matching your business — connect it to Slack, email, Make or n8n through Apify integrations.
Notes
- PNCP rate-limits aggressively. The Actor throttles and backs off, so a wide query takes minutes rather than failing.
valorTotalEstimadois sometimes0when the body chooses to keep the budget confidential — that is the source data, not a bug.- Data is published by thousands of public bodies with varying diligence; text quality reflects the original filing.