Brazil Tenders Scraper - PNCP Public Procurement (Licitações) avatar

Brazil Tenders Scraper - PNCP Public Procurement (Licitações)

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Brazil Tenders Scraper - PNCP Public Procurement (Licitações)

Brazil Tenders Scraper - PNCP Public Procurement (Licitações)

Scrape new Brazilian government tenders (licitações) from the official PNCP API: buyer, object, modality, value, dates. Filter by state, keyword.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

NorthBound Labs

NorthBound Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 days ago

Last modified

Security

Limited permissions

Share

Get new Brazilian government tenders (licitações) from PNCP, the official national public procurement portal: agency, object, modality, estimated value and proposal deadlines. Filter by state (UF), modality, keyword and value, and get only new tenders on every scheduled run.

  • Official source: the official PNCP consulta API.
  • No login, no browser, no personal data.
  • Monitoring built in: turn on Only new since last run and schedule it for a daily alert feed.
  • Export to JSON, CSV, Excel, HTML or straight into Google Sheets, Slack, Zapier, Make, n8n or your own code via the Apify API.

What can you use it for?

  • Companies bidding on Brazilian government tenders: a daily list of new pregões and dispensas in your states.
  • Bid-alert services: alerts by UF, modality and keyword.
  • Procurement market research in Brazil.

How to use it

  1. Click Try for free (or Start). The input is pre-filled, so the first run works with one click and finishes in seconds.
  2. Adjust the filters in the Input tab (see the table below).
  3. Click Start and open the Output tab. The Overview view shows the key columns; All fields shows everything.
  4. Download the results (JSON, CSV, Excel...) or connect them to your tools (see Scheduling and integrations).

Input

FieldNameWhat it does
daysBackDays backHow many days back to look. Default 1. On scheduled runs with 'Only new since last run' on, a small window (1-3 days) is enough.
keywordsKeywordsMatch any keyword (case-insensitive). Empty = all.
modalitiesModalitiesPNCP modality codes (6 = Pregão Eletrônico, 8 = Dispensa, 4 = Concorrência Eletrônica, ...). Default 6 and 8.
statesStates (UF)e.g. SP, RJ. Empty = all.
minValueMinimum estimated value (BRL)0 = no filter.
maxItemsMax resultsStop after this many results. You pay per result ($2 per 1,000), so this caps your cost: 100 results = $0.20.
onlyNewOnly new since last runSkip records already returned by earlier runs of this Actor in your Apify account, so each run outputs only new ones. Turn on for scheduled daily alerts; leave off for a one-off full export.

Example input:

{
"daysBack": 1,
"keywords": [
"software"
],
"maxItems": 20,
"onlyNew": true
}

Output

Each result is one record with these fields:

FieldDescription
numeroControlePNCPPNCP control number.
objetoWhat is being procured (objeto).
orgaoNomeBuying agency (órgão).
orgaoCnpjCNPJ of the buying agency.
esferaF = federal, E = state, M = municipal.
poderE = executive, L = legislative, J = judiciary.
unidadeNomeBuying unit.
ufState (UF).
municipioMunicipality.
codigoIbgeIBGE municipality code.
modalidadeIdPNCP modality code.
modalidadee.g. Pregão - Eletrônico, Dispensa.
modoDisputaBidding mode.
situacaoNotice status on PNCP.
srpPrice registration system (ata de registro de preços).
processoAdministrative process number.
numeroCompraPurchase number.
valorTotalEstimadoTotal estimated value.
valorTotalHomologadoTotal homologated value, when available.
dataPublicacaoPublication date on PNCP.
dataAberturaPropostaProposal opening date.
dataEncerramentoPropostaProposal deadline.
linkSistemaOrigemLink to the originating purchasing system.
noticeUrlNotice page on pncp.gov.br.

Sample result (from a real run, long values shortened):

{
"numeroControlePNCP": "00394452000103-1-021979/2026",
"objeto": "Aquisição de combustíveis (Óleo Diesel S-10 e Gasolina Comum), nos termos da tabela abaixo, conforme\ncondições e exigências estabelecidas neste instrumento.",
"orgaoNome": "COMANDO DO EXERCITO",
"orgaoCnpj": "00394452000103",
"esfera": "F",
"poder": "E",
"unidadeNome": "6 BATALHAO DE ENGENHARIA DE CONSTRUCAO/RR",
"uf": "RR",
"municipio": "Boa Vista",
"codigoIbge": "1400100",
"modalidadeId": 6,
"modalidade": "Pregão - Eletrônico",
"modoDisputa": "Aberto-Fechado",
"situacao": "Divulgada no PNCP",
"srp": true,
"processo": "64044.003790/2026-07",
"numeroCompra": "70",
"valorTotalEstimado": 4336600,
"valorTotalHomologado": null,
"dataPublicacao": "2026-10-13T07:00:01",
"dataAberturaProposta": "2026-10-13T08:00:00",
"dataEncerramentoProposta": "2026-10-23T09:30:00",
"linkSistemaOrigem": "https://cnetmobile.estaleiro.serpro.gov.br/comprasnet-web/public/compras/acompanhamento-compra?compra=16035305000702026",
"noticeUrl": "https://pncp.gov.br/app/editais/00394452000103/2026/21979"
}

Scheduling and integrations

  • Daily alerts: in Apify Console, open Schedules, create a schedule (for example every day at 08:00) for this Actor with onlyNew: true. Each run then returns only records that are new since the previous run.
  • Webhooks: add a webhook on Run succeeded to call your own endpoint, Slack or a workflow tool when new data is ready.
  • Zapier, Make, n8n, Google Sheets, Slack, email: use Apify's ready-made integrations on the Actor's Integrations tab to push each run's dataset wherever you work.
  • API: run it and get results in one call:
curl -X POST "https://api.apify.com/v2/acts/northbound-labs~brazil-pncp-tenders/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"daysBack": 1, "keywords": ["software"], "maxItems": 20, "onlyNew": true}'

Or with the Apify Python client: ApifyClient(token).actor("northbound-labs/brazil-pncp-tenders").call(run_input={...}).

Pricing

This Actor uses pay-per-event pricing, so you pay only for what you get:

  • $2.00 per 1,000 results ($0.002 per result).
  • An Actor start event of $0.00005 per run at the default 512 MB memory.
You getCost
20 results (the pre-filled test run)about $0.04
100 resultsabout $0.20
1,000 resultsabout $2.00
A daily schedule returning ~50 new results a day for 30 daysabout $3.00 a month

Set Max results to cap the cost of any run. Apify's free plan includes monthly credit you can use to try it.

FAQ

Which modalities are included by default? 6 (Pregão Eletrônico) and 8 (Dispensa). Add others, e.g. 4 (Concorrência Eletrônica), in Modalities.

Are field names in Portuguese? Yes. Fields keep PNCP's original names (objeto, orgaoNome, uf...) so they match PNCP documentation.

Do I need an account on the source site? No. The Actor reads public, logged-out data from PNCP (Portal Nacional de Contratações Públicas) through its official interface.

Does it return personal data? No. Output is limited to organisation-level and record-level fields.

How fresh is the data? As fresh as the source: every run queries it live.

Is it legal to use this data? The data comes from an official public source. You are responsible for using it in line with the source's terms and the laws that apply to you.

Something broken, or a field you need? Open an issue on the Issues tab. We read every issue and reply as fast as we can.