Brazil Government Contracts Check - CNPJ Contract Scraper avatar

Brazil Government Contracts Check - CNPJ Contract Scraper

Pricing

$10.00 / 1,000 per contract founds

Go to Apify Store
Brazil Government Contracts Check - CNPJ Contract Scraper

Brazil Government Contracts Check - CNPJ Contract Scraper

Check Brazilian companies by CNPJ for active and historical federal government contracts. Get contract values, dates, status, procurement method, contracting agencies and supplier details for KYB, compliance, due diligence and supplier screening via Batch or Standby API.

Pricing

$10.00 / 1,000 per contract founds

Rating

5.0

(1)

Developer

Actor stats

2

Bookmarked

7

Total users

2

Monthly active users

2 days ago

Last modified

Share

What does Brazil Government Contracts Check do?

Brazil Government Contracts Check lets you look up active and historical Brazilian federal government contracts for any company, using only the CNPJ (Brazilian business tax ID). Paste one or many CNPJs, run the Actor, and receive a structured dataset where each row is one contract — with object, dates, contract value, procurement method, legal basis, supplier details, and managing unit, exactly as published on Brazil's Portal da Transparência. No scraping lag, no masked fields. Export results as JSON, CSV, Excel, or XML, run on demand via API, schedule periodic checks, and connect to any tool via webhooks — all through the Apify platform.

Why use Brazil Government Contracts Check?

Manually searching the Portal da Transparência is slow, limited to one CNPJ at a time, and impossible to automate or export at scale. This Actor solves all of that:

  • KYB and due diligence at scale: screen dozens or hundreds of suppliers and partners in a single run without touching the portal interface.
  • Compliance and supplier onboarding: verify whether a vendor has an active, valid federal contract before signing agreements.
  • Procurement risk analysis: build dashboards that track contract values, expiry dates, and legal basis across your supplier portfolio.
  • Competitive and market intelligence: map companies in a sector that hold federal contracts, including historical relationships with public agencies.
  • Automated monitoring: schedule recurring runs to detect new contracts or status changes for a watchlist of CNPJs.
  • Audit and public-spending research: export every field unmasked for analysis in Excel, Power BI, or Python notebooks.

Each row delivered is a real contract record pulled from the public source, with all nested objects intact — supplier information, managing unit hierarchy, purchase reference, and all date fields.

How to use Brazil Government Contracts Check

  1. Open the Actor in the Apify Console and go to the Input tab.
  2. Enter one or more CNPJs in the cnpjs field (with or without punctuation — both are accepted). You can add up to 500 CNPJs per run; duplicates are merged automatically.
  3. Optionally set maxContractsPerCnpj to limit how many contracts you receive per company (default: 30, maximum: 500). This also caps the billable rows per CNPJ.
  4. Click Start and wait for the run to complete.
  5. Open the Dataset tab to preview results, or download the full output as JSON, CSV, Excel, or XML.
  6. To integrate with your system, use the API tab to get a ready-to-paste curl or HTTP snippet.

Input

FieldRequiredDefaultDescription
cnpjs✅ YessampleList of company CNPJs. Up to 500. Invalid or duplicate items are skipped/merged.
maxContractsPerCnpjNo30Maximum contracts returned per CNPJ (1–500). Also limits the number of charged contract rows per company.
{
"cnpjs": ["33.000.167/0001-01"],
"maxContractsPerCnpj": 30
}

Output

Each contract found is one row in the Dataset. The payload is delivered exactly as published by the public source — all fields, all nested objects, nothing masked or omitted. You can download the dataset in various formats such as JSON, CSV, Excel, or XML.

{
"id": 4759147,
"numero": "000002018",
"objeto": "CONCESSÃO DE USO DAS ÁREAS A, B, C E D EM FAVOR DA CONCESSIONÁRIA, PARA MANTER INSTALADO O CENTRO DE PESQUISAS E DESENVOLVIMENTO LEOPOLDO A. MIGUEZ DE MELLO.",
"numeroProcesso": "Sem informação",
"fundamentoLegal": "Lei 8.666/1993",
"situacaoContrato": "Vigente",
"modalidadeCompra": "Concessão de Uso",
"dataAssinatura": "2018-11-27",
"dataPublicacaoDOU": "2018-12-20",
"dataInicioVigencia": "2018-11-27",
"dataFimVigencia": "2068-11-27",
"valorInicialCompra": 857706249,
"valorFinalCompra": 857706249,
"compra": {
"numero": "-3",
"objeto": "",
"numeroProcesso": "-3",
"contatoResponsavel": ""
},
"unidadeGestora": {
"codigo": "153115",
"nome": "UNIVERSIDADE FEDERAL DO RIO DE JANEIRO",
"descricaoPoder": "EXECUTIVO",
"orgaoVinculado": { "codigoSIAFI": "26245", "cnpj": "33663683000116", "sigla": "UFRJ", "nome": "Universidade Federal do Rio de Janeiro" },
"orgaoMaximo": { "codigo": "26000", "sigla": "MEC", "nome": "Ministério da Educação" }
},
"fornecedor": {
"id": 5120293,
"cnpjFormatado": "33.000.167/0001-01",
"nome": "PETROLEO BRASILEIRO S A PETROBRAS",
"razaoSocialReceita": "PETROLEO BRASILEIRO S A PETROBRAS",
"nomeFantasiaReceita": "PETROBRAS",
"tipo": "Entidades Empresariais Privadas"
}
}

Data fields

FieldTypeDescription
idintegerContract identifier at the source
numerostringContract number
objetostringContract object as published
situacaoContratostringCurrent contract status (e.g. Vigente, Encerrado)
modalidadeComprastringProcurement method (e.g. Pregão Eletrônico)
numeroProcessostringAdministrative process number
fundamentoLegalstringLegal basis cited in the contract
dataAssinaturastringSignature date
dataPublicacaoDOUstringPublication date in the federal official gazette (DOU)
dataInicioVigenciastringContract term start date
dataFimVigenciastringContract term end date
valorInicialCompranumberInitial contract value in BRL
valorFinalCompranumberCurrent contract value in BRL (after amendments)
fornecedorobjectSupplier: name, CNPJ, Receita Federal data
compraobjectLinked purchase: number, object, contact person
unidadeGestoraobjectContract managing unit: name, ministry, power branch
unidadeGestoraComprasobjectPurchase managing unit

Tips

  • Use maxContractsPerCnpj to control volume and cost. A company with many historical contracts can produce a large number of rows. Set this field to a reasonable cap (e.g. 10–30) for initial screening and raise it only for companies that need full history.
  • Batch up to 500 CNPJs in one run. The Actor deduplicates and validates CNPJs automatically; you don't need to pre-clean the list.
  • Schedule recurring runs via the Apify Console to detect newly awarded or expired contracts for a watchlist. Use webhooks to push alerts to Slack, email, or your internal system.
  • Use Standby mode for on-demand API integrations: the Actor can respond synchronously so you can query it directly from your application without managing run lifecycle.
  • CNPJs with no federal contracts produce no row and no charge. Private companies with no government business history simply return nothing — the run still completes without errors.
  • Export the dataset immediately after the run if you need the data in a specific format. JSON preserves nested objects (supplier, managing unit), while CSV/Excel flattens top-level fields for quick analysis in spreadsheets.

FAQ, disclaimers, and support

Which contracts are included? Only federal government contracts published on Brazil's Portal da Transparência (Transparency Portal). State or municipal contracts are not covered.

Are the values masked or redacted? No. Every field is delivered exactly as published by the public source — supplier name, CNPJ, contract values, and all identifiers are unmasked.

How is the result charged? Each contract row delivered to the Dataset is charged separately. CNPJs with no contracts produce no row and are not charged. maxContractsPerCnpj limits both the number of rows and the amount charged per CNPJ.

Can I look up many CNPJs at once? Yes — up to 500 per run. Duplicates are merged before lookup, so you only pay once per unique contract found.

The source data seems outdated — why? Data depends on the publishing cadence of federal agencies on the Portal da Transparência. This Actor delivers what is available at the source at the time of the run.

Something is wrong or missing? Open an issue on the Actor's Issues tab in the Apify Store. For custom integrations, bulk data pipelines, or enterprise arrangements, contact us at contato@brasildados.org.

Legal note: This Actor accesses only publicly available data from official Brazilian government sources. Use of the data must comply with Brazilian law, including LGPD for any downstream processing of personal information.

ActorWhen to use
Brazil Sanctions Check — CPF & CNPJScreen the same companies in CEIS, CNEP, CEPIM, CEAF
CNPJ Legal Processes DetailIndividual lawsuits for the supplier CNPJs you found
CNPJ KYC & PEP CheckerPEP exposure, international sanctions, electoral donations

🛒 All Actors: apify.com/brasildados


📧 contato@brasildados.org · 🌐 brasildados.org · 🛒 BrasilDados na Apify Store

What this Actor does

  • Looks up federal government contracts by CNPJ
  • Accepts one or many CNPJs (with or without punctuation)
  • Deduplicates input CNPJs
  • Delivers both active and historical contracts
  • One row per contract, identical to the public source (unmasked, no fields omitted)
  • Supports batch lookups and Standby (on-demand API) mode for integrations

Use cases

  • KYB (Know Your Business), compliance, and due diligence checks on Brazilian suppliers or partners
  • Supplier and vendor screening before onboarding
  • Batch monitoring of multiple CNPJs for new or updated government contracts
  • Feeding procurement risk analysis or public-spending research tools

Input

FieldRequiredDefaultDescription
cnpjsYessampleList of CNPJs. Up to 500. Invalid items are skipped.
maxContractsPerCnpjNo30Cap on contracts per CNPJ (1–500). Each contract delivered is still one charge.
{
"cnpjs": ["33.000.167/0001-01"],
"maxContractsPerCnpj": 30
}

📦 How the result works

Each contract actually delivered takes one row in the Dataset, with all fields from the public source, unmasked. Nested 1:1 objects from the source (fornecedor / supplier, unidadeGestora / managing unit, compra / purchase) stay nested. Ten contracts for the same company = ten rows, not a single contratos[] array.

Each contract row delivered is charged separately. Ten contracts for the same company produce ten rows and ten charges.

Sample output row (real run output, unmasked):

{
"id": 4759147,
"numero": "000002018",
"objeto": "Objeto: CONCESSÃO DE USO DAS ÁREAS A, B, C E D EM FAVOR DA CONCESSIONÁRIA, PARA MANTER INSTALADO O CENTRO DE PESQUISAS E DESENVOLVIMENTO LEOPOLDO A. MIGUEZ DE MELLO, DORAVANTE DENOMINADO CENPES E CENPES II.",
"numeroProcesso": "Sem informação",
"fundamentoLegal": "",
"situacaoContrato": "Não se aplica",
"modalidadeCompra": "Sem Informação",
"dataAssinatura": "2018-11-27",
"dataPublicacaoDOU": "2018-12-20",
"dataInicioVigencia": "2018-11-27",
"dataFimVigencia": "2068-11-27",
"valorInicialCompra": 857706249,
"valorFinalCompra": 857706249,
"compra": {
"numero": "-3",
"objeto": "",
"numeroProcesso": "-3",
"contatoResponsavel": ""
},
"unidadeGestora": {
"codigo": "153115",
"nome": "UNIVERSIDADE FEDERAL DO RIO DE JANEIRO",
"descricaoPoder": "EXECUTIVO",
"orgaoVinculado": { "codigoSIAFI": "26245", "cnpj": "33663683000116", "sigla": "UFRJ", "nome": "Universidade Federal do Rio de Janeiro" },
"orgaoMaximo": { "codigo": "26000", "sigla": "MEC", "nome": "Ministério da Educação" }
},
"unidadeGestoraCompras": {
"codigo": "153115",
"nome": "MEC-UFRJ-UNIVERSID.FED.DO RIO DE JANEIRO/RJ",
"descricaoPoder": "EXECUTIVO",
"orgaoVinculado": { "codigoSIAFI": "26245", "cnpj": "", "sigla": "", "nome": "UNIVERSIDADE FEDERAL DO RIO DE JANEIRO" },
"orgaoMaximo": { "codigo": "20101", "sigla": "", "nome": "Sem informação" }
},
"fornecedor": {
"id": 5120293,
"cpfFormatado": "",
"cnpjFormatado": "33.000.167/0001-01",
"numeroInscricaoSocial": "",
"nome": "PETROLEO BRASILEIRO S A PETROBRAS",
"razaoSocialReceita": "PETROLEO BRASILEIRO S A PETROBRAS",
"nomeFantasiaReceita": "PETROBRAS - EDISE",
"tipo": "Entidades Empresariais Privadas"
}
}

API

curl -X POST "https://api.apify.com/v2/acts/brasildados~government-contracts-check/run-sync-get-dataset-items?format=json" \
-H "Authorization: Bearer SEU_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cnpjs":["33.000.167/0001-01"],"maxContractsPerCnpj":30}'

FAQ

Which CNPJs return contracts? Only companies that hold or held a federal government contract published on Brazil's Portal da Transparência. Most private companies with no government business will return zero rows.

Are the values masked or redacted? No — every field is delivered exactly as published by the public source, including supplier name and CNPJ.

Can I look up many CNPJs at once? Yes, up to 1,000 CNPJs per run; duplicates are merged automatically.

BrasilDados Store

Catalog: apify.com/brasildados

Other Actors by BrasilDados