Brazil Gov IT Opportunities Monitor avatar

Brazil Gov IT Opportunities Monitor

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Brazil Gov IT Opportunities Monitor

Brazil Gov IT Opportunities Monitor

Under maintenance

Find Brazilian PNCP public procurement opportunities related to IT/software, enrich them with items and edital/TR/ETP evidence, and output a clean scored dataset.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Vinicius Assumpção de Araujo

Vinicius Assumpção de Araujo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Find Brazilian public procurement opportunities related to IT, software, cloud, data center, public management systems, support, and digital transformation.

This Actor monitors PNCP open-proposal opportunities, enriches candidate tenders with PNCP items and document metadata, optionally downloads selected edital/TR/ETP PDF or DOCX attachments, extracts text locally, and returns a scored dataset with evidence snippets.

It is designed for:

  • IT vendors tracking public-sector opportunities in Brazil;
  • consultants building bid pipelines;
  • market researchers monitoring public procurement demand;
  • teams feeding Sheets, Notion, CRM, BI, or alert workflows.

Why this is useful

PNCP is public, but raw search is noisy. Generic keywords catch health procedures, public servants, social programs, and administrative text. This Actor narrows the mess into a small set of scored opportunities and keeps the evidence: matched terms, item-level signals, documents, extracted snippets, deadlines, agencies, and values.

Data sources

  • Open proposal list: https://pncp.gov.br/api/consulta/v1/contratacoes/proposta
  • Items: https://pncp.gov.br/api/pncp/v1/orgaos/{cnpj}/compras/{ano}/{sequencial}/itens
  • Documents: https://pncp.gov.br/api/pncp/v1/orgaos/{cnpj}/compras/{ano}/{sequencial}/arquivos
  • Optional local extraction from selected PDF/DOCX attachments using PyMuPDF and python-docx.

Input

FieldTypeDefaultNotes
dataFinalstringtoday + 30 daysSearch opportunities with proposal deadlines up to this date. Accepts YYYY-MM-DD or YYYYMMDD.
ufstringemptyOptional Brazilian state filter, e.g. SP, RJ, DF.
keywordsarray/stringIT termsTerms used for scoring. Prefer specific phrases.
enrichDetailsbooleantrueFetch PNCP items and document metadata.
maxDetailRequestsinteger20Limit enriched opportunities to control runtime and rate limits.
extractDocumentsbooleanfalseDownload and parse selected edital/TR/ETP PDF/DOCX attachments.
maxDocumentsToExtractinteger2Max selected attachments parsed per enriched opportunity.
maxDocumentBytesinteger8000000Hard cap per downloaded document.
maxExtractedCharsinteger18000Text cap per parsed document.
maxPagesinteger3PNCP pages to scan. Each page can return up to 50 opportunities.
pageSizeinteger50PNCP accepts 10 to 50.
minScoreinteger12Minimum IT fit score to output.

Example input:

{
"dataFinal": "2026-07-31",
"keywords": ["software", "sistema de gestão", "sistemas de gestão", "sistema informatizado", "tecnologia da informação", "informática", "computadores", "notebook", "servidor de rede", "data center", "licença de software", "cloud", "nuvem", "segurança da informação"],
"enrichDetails": true,
"maxDetailRequests": 20,
"extractDocuments": true,
"maxDocumentsToExtract": 2,
"maxDocumentBytes": 8000000,
"maxExtractedChars": 18000,
"maxPages": 2,
"pageSize": 50,
"minScore": 12
}

Output dataset

Each row includes:

  • opportunity_id
  • title
  • matched_keywords
  • it_fit_score
  • estimated_value_brl
  • proposal_open_at
  • proposal_deadline
  • published_at
  • modality
  • purchase_status
  • agency, agency_cnpj, unit, city, state
  • item_count
  • document_count
  • matching_items
  • matching_documents
  • extracted_documents
  • pncp_url
  • summary_pt_br

extracted_documents contains only compact evidence, not the full document text:

  • document title/type/URL;
  • matched terms found inside the parsed attachment;
  • snippet around the match;
  • extracted character count;
  • download/parse errors when present.

A run summary is also stored in the default key-value store as SUMMARY.

Example result

A local validation run scanning 100 PNCP opportunities with detail enrichment and attachment extraction found a high-confidence opportunity:

  • agency: Município de Osório/RS
  • estimated value: R$ 2.159.171,68
  • score: 100
  • PNCP items: 10
  • PNCP documents: 13
  • parsed attachments with IT evidence: 2
  • detected signals: software, sistemas de gestão, informática, data center, cloud

Attachment snippets confirmed systems for public management, cloud computing, data center infrastructure, migration, support, licensing, and maintenance.

Cost and performance notes

Local validation on a Mac with maxPages=2, pageSize=50, maxDetailRequests=20, and extractDocuments=true took about 46 seconds for 100 listed opportunities.

For cloud/commercial runs:

  • start with extractDocuments=false for cheap broad monitoring;
  • enable extractDocuments=true for high-confidence runs or smaller state/agency slices;
  • measure real Apify CU after first cloud run before enabling paid pricing;
  • keep maxDocumentBytes and maxDocumentsToExtract conservative.

No Apify Proxy is required. This Actor uses public PNCP APIs.

Local development

cd ~/Apify/actors/brazil-gov-it-opportunities
/opt/homebrew/bin/python3.12 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements.txt
python -m unittest discover -s tests -v
apify validate-schema
apify run --purge

Limitations

  • It does not submit bids or interact with procurement systems.
  • It does not provide legal advice.
  • PNCP API availability and rate limits can affect runs.
  • Scanned PDFs without embedded text may require OCR; this MVP intentionally avoids heavy OCR models.
  • Classification is keyword/scoring based, not legal analysis.

Guardrails

  • Uses public PNCP data only.
  • Does not require Apify Proxy.
  • Does not require secrets in input.
  • Does not store full edital text by default; it stores compact snippets and evidence.
  • Review ToS/legal/commercial positioning before paid Store launch.