Government Tenders & Procurement Tracker (EU, UK, Ukraine) avatar

Government Tenders & Procurement Tracker (EU, UK, Ukraine)

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Government Tenders & Procurement Tracker (EU, UK, Ukraine)

Government Tenders & Procurement Tracker (EU, UK, Ukraine)

Track public tenders across Europe — one tender per row with buyer, deadline, contract value, category codes and awarded supplier. Covers EU (all member states), UK Contracts Finder and Ukraine, in one common format. Public data, no account needed.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

Government Tenders & Public Procurement Scraper (EU, UK, Ukraine)

Track public tenders and awarded contracts across Europe — one tender per row, with the buying authority, the bid deadline, the contract value, the category codes and (once awarded) the winning supplier.

Three official registers, one identical row shape:

RegisterCoverage
EU — Tenders Electronic DailyEvery EU/EEA member state plus other countries that publish there (Switzerland, Norway, and non-EU buyers using EU funds). 1.3M+ notices for construction alone.
UK — Contracts FinderUK central government, councils, NHS and other public bodies.
Ukraine — ProZorroUkraine's national procurement system, including reconstruction and defence-adjacent buying.

Built for bid teams and tender-watch services, suppliers looking for a pipeline, market-intelligence analysts, and journalists following public money.


Why use this actor

  • No account, no login, no key. Everything here is official public data.
  • One tender per row, in the same shape for every country — buyer, deadline, value, currency, category codes, supplier. Compare a German construction notice with a UK council contract without writing any mapping code.
  • The original record travels with every row. Alongside the tidy columns you get the register's own full record (lot detail, contact emails, delivery addresses, award history), so nothing is lost.
  • Filter the way buyers actually search — by category code, country, keyword, contract type, date window, or stage of the process.
  • Titles and buyer names in your language. EU notices carry up to 24 language versions; you pick the one you want in the title column.
  • Stable JSON output for pipelines, CRMs, spreadsheets and databases, with automatic retries and export to JSON, CSV or Excel.

How it works

  1. Pick a source — the EU register, the UK register, Ukraine, or all three in one run.
  2. Set a date window (leave it empty and the actor uses the last 7 days).
  3. (Optional) Narrow the EU pull by category code, country, keyword or contract type, and the UK pull by stage (planning, open for bids, awarded, running).
  4. The actor collects every matching notice, page after page, and writes each one to your dataset with the same set of columns regardless of which country it came from.
  5. Download as JSON, CSV or Excel, or feed it straight into your own system.

You never manage accounts, keys, scrapers or infrastructure — set the filters and press Run.

Use cases

Build a live tender pipeline for your sales team Run daily with your category codes and countries; every new notice lands with its deadline and buyer contact so nothing is missed.

See who is winning the contracts you bid for Pull awarded notices for your category and read the supplier and contract value columns — an instant competitor map with real prices.

Price your bid Compare the published value of similar contracts across countries and years before you put a number on the page.

Track reconstruction and public spending in Ukraine Pull the newest ProZorro tenders with buyer, value and deadline for monitoring or reporting.

Input

{
"source": "ted",
"publishedFrom": "",
"publishedTo": "",
"cpvCodes": "72000000",
"buyerCountries": "",
"keyword": "",
"contractNature": "services",
"tedQuery": "",
"ukStage": "",
"language": "eng",
"maxItems": 200,
"maxConcurrency": 6
}
FieldTypeDescription
sourcedropdownted (EU), ukContractsFinder (UK), prozorro (Ukraine) or all for every register in one run.
publishedFrom / publishedTostringPublication date window, YYYY-MM-DD. Leave both empty for the last 7 days. Used by the EU and UK registers; Ukraine always returns the newest tenders first.
cpvCodesstringEU only. One or more category codes, comma-separated — 72000000 (IT services), 45000000 (construction). Empty = all categories.
buyerCountriesstringEU only. One or more 3-letter country codes of the buyer, comma-separated — DEU, or DEU,FRA,ITA. Empty = all countries.
keywordstringEU only. Free-text search across the whole notice, e.g. cyber security.
contractNaturedropdownEU only. works (construction), supplies (goods) or services. Empty = any.
tedQuerystringEU only, advanced. Write your own query and the EU filters above are ignored — see below.
ukStagedropdownUK only. planning, tender (open for bids), award, implementation. Empty = any.
languagedropdownLanguage for EU titles and buyer names (English, French, German, Spanish, Italian, Dutch, Polish, Portuguese, Swedish, Romanian). Falls back to English, then to whatever the notice has.
maxItemsintegerHow many tenders to return from each selected source. 0 = every match (can be tens of thousands — narrow the date window first).
maxConcurrencyintegerHow many Ukrainian tender pages to collect at once (1–12).
proxyConfigurationobjectOptional; not needed for these public registers.

Advanced EU queries

tedQuery lets you write the EU register's own search expression when the simple filters aren't enough. Combine terms with AND / OR, use = for exact values, ~ for text matching, IN (...) for lists, and today(-N) for relative dates:

ExampleMeaning
classification-cpv=45000000All construction notices
buyer-country IN (DEU FRA)Buyers in Germany or France
publication-date>=today(-7)Published in the last 7 days
publication-date>=20260701 AND publication-date<=20260725A fixed date window
FT~"cyber security"The phrase appears anywhere in the notice
notice-title~"software"The word appears in the title
contract-nature=services AND buyer-country=ITAItalian service contracts

Output — one record per tender

Every row starts with the same normalised columns whatever the country, followed by the register's own untouched record.

EU — Tenders Electronic Daily

{
"_input": "ted: publication-date>=20260718 AND publication-date<=20260725 AND classification-cpv=72000000 AND contract-nature=services",
"_source": "S1-ted",
"_scrapedAt": "2026-07-25T12:59:42Z",
"recordType": "TENDER",
"sourceSystem": "EU-TED",
"tenderId": "497985-2026",
"title": "Italy – Hydrometeorology services – Framework service contract for operating the \"Hydrological Forecast Centre - Analytics and Dissemination\" in support to the Copernicus Emergency Management Service (CEMS) Flood Early Warning Systems",
"buyerName": "European Commission, DG JRC - Joint Research Centre",
"buyerCountry": "ITA",
"publishedDate": "2026-07-20",
"deadline": "2026-09-17",
"valueAmount": 4550000.0,
"valueCurrency": "EUR",
"status": "tendering",
"noticeType": "cn-standard",
"cpvCodes": ["71351612", "71351600", "71351900", "72316000", "80510000"],
"supplierName": null,
"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/497985-2026",
"publication-number": "497985-2026",
"publication-date": "2026-07-20+02:00",
"notice-type": "cn-standard",
"contract-nature": ["services", "services"],
"procedure-type": "open",
"buyer-country": ["ITA"],
"buyer-name": {"eng": ["European Commission, DG JRC - Joint Research Centre"], "fra": ["Commission européenne, DG JRC …"], "…": "22 more languages"},
"notice-title": {"eng": "Italy – Hydrometeorology services – Framework service contract …", "…": "23 more languages"},
"links": {"html": {"ENG": "https://ted.europa.eu/en/notice/-/detail/497985-2026", "…": "23 more"}, "pdf": {"…": "24 languages"}, "xml": {"MUL": "https://ted.europa.eu/en/notice/497985-2026/xml"}}
}

An awarded EU notice fills in the supplier and the final price instead:

{
"sourceSystem": "EU-TED",
"tenderId": "497835-2026",
"title": "Switzerland – IT services: consulting, software development, Internet and support – Erbringung von Informatikdienstleistungen «Microsoft Azure Cloud Betrieb»",
"buyerName": "Kanton Zürich Finanzdirektion Amt für Informatik",
"buyerCountry": "CHE",
"publishedDate": "2026-07-20",
"valueAmount": 3934408.0,
"valueCurrency": "CHF",
"status": "awarded",
"supplierName": "DE_ISOLUTIONS AG",
"noticeUrl": "https://ted.europa.eu/en/notice/-/detail/497835-2026"
}

UK — Contracts Finder

{
"_input": "ukContractsFinder: 2026-07-18..2026-07-25",
"_source": "S1-ukcf",
"_scrapedAt": "2026-07-25T12:59:09Z",
"recordType": "TENDER",
"sourceSystem": "UK-CF",
"tenderId": "LEICSCC001-DN822655-76567968",
"title": "SEN19019 -SEN-TAXI-Foxfields Academy",
"buyerName": "Leicestershire County Council",
"buyerCountry": "GBR",
"publishedDate": "2026-07-25T13:50:31+01:00",
"deadline": "2026-07-15T23:59:00+01:00",
"valueAmount": 24700.0,
"valueCurrency": "GBP",
"status": "complete",
"noticeType": "award",
"cpvCodes": ["60000000"],
"supplierName": "NMI TAXIS LTD",
"noticeUrl": "https://www.contractsfinder.service.gov.uk/Notice/4781bb8e-e8b9-4335-afa2-525d08189d5a",
"ocid": "ocds-b5fd17-b16ecab5-3a70-46f3-b7ea-63838d624681",
"id": "4781bb8e-e8b9-4335-afa2-525d08189d5a-908294",
"tag": ["award"],
"initiationType": "tender",
"tender": {
"id": "LEICSCC001-DN822655-76567968",
"description": "SEN19019 -SEN-TAXI-Foxfields Academy",
"status": "complete",
"classification": {"scheme": "CPV", "id": "60000000", "description": "Transport services (excl. Waste transport)"},
"value": {"amount": 24700, "currency": "GBP"},
"procurementMethod": "open",
"procurementMethodDetails": "Open procedure",
"tenderPeriod": {"endDate": "2026-07-15T23:59:00+01:00"},
"contractPeriod": {"startDate": "2026-08-24T00:00:00+01:00", "endDate": "2027-07-31T23:59:59+01:00"},
"suitability": {"sme": false, "vcse": false},
"mainProcurementCategory": "services"
},
"parties": [
{"id": "GB-CFS-58010", "name": "Leicestershire County Council", "address": {"streetAddress": "County Hall, Leicester Road, Glenfield", "locality": "Leicester", "postalCode": "LE3 8RA"}, "contactPoint": {"email": "Randip.Samra@leics.gov.uk", "telephone": "+44 1162323232"}, "roles": ["buyer"]},
{"id": "GB-CFS-336959", "name": "NMI TAXIS LTD", "details": {"scale": "large", "vcse": false}, "roles": ["supplier"]}
],
"buyer": {"id": "GB-CFS-58010", "name": "Leicestershire County Council"},
"awards": [{"status": "active", "date": "2026-07-25T00:00:00+01:00", "value": {"amount": 24700, "currency": "GBP"}, "suppliers": [{"name": "NMI TAXIS LTD"}], "…": "documents, contract period"}]
}

Ukraine — ProZorro

{
"_input": "prozorro: latest tenders",
"_source": "S1-prozorro",
"_scrapedAt": "2026-07-25T12:59:11Z",
"recordType": "TENDER",
"sourceSystem": "UA-PROZORRO",
"tenderId": "UA-2026-06-30-014626-a",
"title": "Медичні матеріали",
"buyerName": "ВІЙСЬКОВА ЧАСТИНА Т0110",
"buyerCountry": "UKR",
"publishedDate": "2026-06-30T18:01:48.740681+03:00",
"deadline": "2026-07-11T09:00:00+03:00",
"valueAmount": 365627.28,
"valueCurrency": "UAH",
"status": "active.awarded",
"noticeType": "belowThreshold",
"cpvCodes": ["33140000-3"],
"supplierName": "ТОВ \"КИЇВ КОММЕРС ГРУПП\"",
"noticeUrl": "https://prozorro.gov.ua/tender/UA-2026-06-30-014626-a",
"tenderID": "UA-2026-06-30-014626-a",
"description": "Спрощена закупівля застосовується відповідно до пункту 8 Особливостей здійснення оборонних закупівель на період дії правового режиму воєнного стану …",
"procurementMethodType": "belowThreshold",
"mainProcurementCategory": "goods",
"value": {"amount": 365627.28, "currency": "UAH", "valueAddedTaxIncluded": true},
"procuringEntity": {"name": "ВІЙСЬКОВА ЧАСТИНА Т0110", "identifier": {"scheme": "UA-EDR", "id": "…"}, "address": {"…": "street, locality, region"}, "contactPoint": {"…": "name, email, telephone"}, "kind": "defense"},
"tenderPeriod": {"startDate": "2026-06-30T18:01:48+03:00", "endDate": "2026-07-11T09:00:00+03:00"},
"items": [{"description": "Медичні матеріали", "quantity": 1.0, "classification": {"scheme": "ДК021", "id": "33140000-3"}, "…": "delivery address and date"}],
"awards": [{"status": "active", "suppliers": [{"name": "ТОВ \"КИЇВ КОММЕРС ГРУПП\""}], "value": {"amount": 365627.28, "currency": "UAH"}}],
"documents": ["… tender documents with download links"]
}

Output fields

FieldTypeDescription
sourceSystemstringWhich register the row came from: EU-TED, UK-CF or UA-PROZORRO.
tenderIdstringThe register's own reference for the tender or notice.
titlestringTender title, in your chosen language where several exist.
buyerNamestringThe contracting authority.
buyerCountrystring3-letter country code of the buyer (DEU, GBR, UKR…).
publishedDatestringWhen the notice was published.
deadlinestringDeadline for receiving bids, where the notice states one.
valueAmountnumberContract value — the awarded amount when there is one, otherwise the estimate.
valueCurrencystringCurrency of valueAmount (EUR, GBP, UAH, CHF, CZK…).
statusstringWhere the tender is in its life: planning, tendering, awarded (EU); active, complete, cancelled (UK); ProZorro's own detailed statuses such as active.tendering.
noticeTypestringThe register's own notice/procedure type, e.g. cn-standard, award, belowThreshold.
cpvCodesarrayCategory codes describing what is being bought.
supplierNamestringWinning supplier once the contract is awarded; empty while the tender is still open. Several winners are joined with ;.
noticeUrlstringLink to the official notice page.
_inputstringThe filters that produced this row.
_sourcestringWhich register produced this row.
_scrapedAtstringWhen the row was collected (UTC).
(everything else)—The register's own record, field names untouched: lots, contact emails, delivery addresses, documents, award history.

If something goes wrong the actor writes a row with _error and _errorDetail explaining what happened — runs never end silently empty.

Notes and limits

  • maxItems counts per source. maxItems: 200 with source: "all" returns up to 600 rows.
  • The EU register returns up to 250 notices per page and the actor keeps turning pages until your limit is reached; a single query can match well over a million notices, so use a date window or category filter for anything you actually want to download.
  • The UK register returns 100 notices per page and covers UK public bodies only. Buyer country is reported as GBR for every row.
  • Ukraine is a newest-first feed — the date window does not apply to it; use maxItems to control how far back you go. Each tender is fetched in full, so this source is a little slower than the other two.
  • Empty fields are real. Early-stage notices have no supplier, contract-modification notices often have no deadline, and some buyers publish no value at all. The actor leaves these empty rather than guessing.
  • Values are not converted between currencies — always read valueAmount together with valueCurrency.
  • Additional national registers (for example France's BOAMP and Germany's regional portals) are candidates for future versions.

Verified live on 2026-07-25 against all three registers: EU deep paging confirmed over 600 consecutive notices with no duplicates, UK paging confirmed across 250 releases, and Ukrainian tender detail collected with no failures.