Portugal Public Contracts (Portal BASE) avatar

Portugal Public Contracts (Portal BASE)

Pricing

from $1.40 / 1,000 contract or announcement results

Go to Apify Store
Portugal Public Contracts (Portal BASE)

Portugal Public Contracts (Portal BASE)

Pricing

from $1.40 / 1,000 contract or announcement results

Rating

0.0

(0)

Developer

PearLink Systems Unipessoal

PearLink Systems Unipessoal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Returns Portuguese public procurement from IMPIC's Portal BASE open data (2012 to today, refreshed weekly) as flat JSON rows: signed contracts (buyer and supplier with NIF/NIPC, CPV code, procedure type, price in EUR, signing date, link to the official record) or announcements (tender notices published in the Diário da República). Filters: buyer or supplier NIF/NIPC, CPV code prefix, date range, minimum value and keyword, plus a monitor mode that returns only results not seen in earlier runs. Contracts awarded to private individuals are excluded by default. Price: $2.00 per 1,000 results; error rows are free.

What you can use it for

  • Find tenders and competitors: which public bodies buy IT services (CPV 72), from whom, and at what price.
  • Get alerts: schedule monitor mode weekly, after IMPIC's refresh, and each run returns only results you haven't seen yet.
  • Do supplier due diligence: list every public contract a company has won, using its NIPC.
  • Do journalism and research: track direct awards (Ajuste Direto Regime Geral) above a value, by buyer or region.
  • Feed an AI agent: through Apify's MCP server, an agent can ask "IT contracts over €100k signed by Lisbon municipality this year" and get structured rows back.

Input

FieldDefaultDescription
modesearchsearch returns every match. monitor returns only results not returned by earlier monitor runs with the same filters.
recordTypecontractcontract (signed contracts, filtered by signing date) or announcement (tender notices, filtered by publication date).
buyerNifanyBuyers' (contracting authorities') 9-digit NIF/NIPC.
supplierNifanySuppliers' 9-digit NIF/NIPC (contracts only).
cpvPrefixanyCPV code prefixes, e.g. 72 (IT services), 45 (construction work).
dateFrom / dateTolast 90 daysYYYY-MM-DD.
minValueEurnoneMinimum contract price (or base price, for announcements).
keywordnoneMust appear in the contract object or description. Case- and accent-insensitive.
excludeNaturalPersonstrueSkip contracts whose supplier is a private individual or has no Portuguese NIF. See Personal data.
maxItems1000Stop after this many results.

IT contracts worth €100k or more, last 90 days:

{
"mode": "search",
"recordType": "contract",
"cpvPrefix": ["72"],
"minValueEur": 100000,
"maxItems": 10
}

More inputs that return results:

  • One buyer (Município de Lisboa) this year: {"buyerNif": ["500051070"], "dateFrom": "2026-01-01", "maxItems": 10}
  • Construction tenders over €1M: {"recordType": "announcement", "cpvPrefix": ["45"], "minValueEur": 1000000, "maxItems": 10}
  • Every contract one supplier has won: {"supplierNif": ["515615021"], "dateFrom": "2024-01-01", "maxItems": 10}
  • Keyword search: {"keyword": "ciberseguranca", "dateFrom": "2026-01-01", "maxItems": 10}

Invalid values, such as a NIF with a wrong check digit or an impossible date, are not dropped silently, because that would widen your search. The run instead returns a free row with type: "error" explaining the problem, and does not search.

Output

{
"contractId": "12014814",
"type": "contract",
"publicationDate": "2025-12-04",
"signingDate": "2026-02-23",
"buyerName": "Serviços de Ação Social do Instituto Politécnico de Coimbra",
"buyerNif": "600052737",
"supplierName": "XpertGo - Business Solutions Development, Lda",
"supplierNif": "515615021",
"supplierIsCompany": true,
"cpvCode": "72210000-0",
"cpvDescription": "Serviços de programação de pacotes de software",
"procedureType": "Ajuste Direto Regime Geral",
"objectDescription": "Aquisição de serviços para obtenção de Selo de Usabilidade e Acessibilidade Digital Ouro na Página/Portal/App SASocial",
"priceEur": 9000,
"durationDays": 81,
"location": "Portugal, Coimbra, Coimbra",
"sourceUrl": "https://www.base.gov.pt/Base4/pt/detalhe/?type=contratos&id=12014814",
"retrievedAt": "2026-10-12T15:20:00.000Z"
}
  • contractId is stable: BASE's contract id for contracts, and the Diário da República (INCM) id for announcements.
  • Consortia and multiple buyers are joined with "; ".
  • supplierIsCompany is true when every supplier is a legal entity (by NIF, or by a legal form in the name), false when any supplier NIF belongs to a person, and null when unknown.
  • Announcements have no supplier or signing date, and sourceUrl points to the Diário da República PDF.
  • Every field is described in the Output tab.

Pricing

You pay $2 per 1,000 results ($0.002 per contract or announcement returned), plus Apify's small per-run start fee. Error rows are free. If you set a maximum cost per run, the Actor stops cleanly at that limit and you get exactly the rows you paid for. In monitor mode, results cut off by the limit are delivered on the next run.

Personal data

Most suppliers are companies, but some contracts go to private individuals or sole traders, whose names (and, rarely, NIFs) are personal data under the GDPR. With excludeNaturalPersons on (the default), the Actor skips any contract where a supplier:

  • has a natural-person NIF (prefixes 1, 2, 3, 45, 8), or
  • has no Portuguese NIF and no legal form in its name. Portal BASE lists suppliers without a Portuguese NIF by name only, and most of them are private individuals. A name ending in a legal form, such as Lda, S.A., Unipessoal, S.L., GmbH, Ltd, Inc or B.V., is treated as a company and kept.

In 2026 data, this skips about 10% of contracts, almost all of them awarded to private individuals. Foreign companies whose name carries no legal form are skipped too, because the Actor can't tell them apart from a person. Turn the option off only if you have a lawful basis to process personal data.

Data source and licence

  • Data comes from the Portal BASE datasets published by IMPIC (Instituto dos Mercados Públicos, do Imobiliário e da Construção) on dados.gov.pt. The licence is public domain ("Outra (Domínio Público)"), and IMPIC updates the data weekly. New contracts appear here after IMPIC's weekly refresh, not in real time.
  • The Actor downloads the official open-data files. It does not scrape base.gov.pt.
  • This Actor is not affiliated with or endorsed by IMPIC, base.gov.pt or the Diário da República.