CEE Public Tenders API – Official Prozorro & TED
Pricing
from $2.40 / 1,000 tenders
CEE Public Tenders API – Official Prozorro & TED
One unified feed of public tenders from Czechia, Slovakia, Hungary and Ukraine (Prozorro, Slovak Vestník, TED): CPV, value, deadline, status, only-new alerts. Export CSV, JSON or Excel.
Pricing
from $2.40 / 1,000 tenders
Rating
0.0
(0)
Developer
Kamil Kaczmarek
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
CEE public tenders API: get public tenders from Czechia, Slovakia, Hungary and Ukraine in one unified feed from official open data — Ukraine's Prozorro API, the Slovak Vestník verejného obstarávania (Public Procurement Journal) open data, and the EU's TED (Tenders Electronic Daily). Every notice becomes the same record: title, contracting authority, estimated value and currency, CPV codes, publication date, submission deadline, status, country and a link to the source. Filter by CPV and keywords, keep only tenders still open for bids, and schedule only-new mode to receive each tender once. Contact persons, e-mails and phone numbers are removed. Export CSV, JSON or Excel. Polski opis: przetargi publiczne z Czech, Słowacji, Węgier i Ukrainy (Prozorro, Vestník, TED) w jednym formacie — CPV, wartość, termin, status; bez danych kontaktowych osób.
What data can you get
Every row has the same fields, whatever the country:
| Field | Meaning |
|---|---|
id, country, countryName, sourceId | Stable id such as UA:21ad92f0… or CZ:729969-2026, ISO country code, source identifier |
noticeKind, status, statusOriginal | tender / award / correction / cancellation / planning / other; open / closed / awarded / cancelled / unsuccessful / unknown; the source's own status or notice type |
title, headlineEnglish | Title in the original language; for TED also the English headline (country – CPV category – title) |
buyer | Contracting authority: name, nationalId (IČO / EDRPOU when published), city |
estimatedValue, currency | Estimated value of the procedure, or the sum of published lot estimates in one currency |
cpvCodes, mainCpv, contractNature, procedureType | CPV codes (8 digits, main first), supplies/services/works, procedure code |
publicationDate, submissionDeadline | YYYY-MM-DD; earliest bid deadline in ISO 8601 with offset (or a date when the source gives no time) |
url | The tender on Prozorro, the Slovak procurement office (ÚVO) site or TED |
source, sourceCoverage, licence, licenceUrl, retrievedAt, processingNote | Attribution required by the source licences |
With includeDetails you also get description, lots (title, estimated value, currency, CPV), placesOfPerformance (NUTS codes or Ukrainian regions), documentsUrl, submissionUrl, noticeTypeOriginal, euFunded and textTruncated.
Sources and coverage
| Country | Source | Coverage | Licence |
|---|---|---|---|
| 🇺🇦 Ukraine | Prozorro public API | All competitive procedures (open, below-threshold, price quotation…); direct awards (reporting, negotiation) excluded | Ukrainian open data terms: free reuse, including commercial, with a link to the source (data.gov.ua) |
| 🇸🇰 Slovakia | Vestník verejného obstarávania, Úrad pre verejné obstarávanie, via data.slovensko.sk | Every notice of the national journal, including below-EU-threshold calls; bulletins appear in the catalogue a few days after their date | CC BY 4.0 |
| 🇨🇿 Czechia | TED Search API | Notices published on TED (above EU thresholds plus voluntary publications) | Free reuse under Commission Decision 2011/833/EU (TED legal notice) |
| 🇭🇺 Hungary | TED Search API | Notices published on TED (above EU thresholds plus voluntary publications) | Same as above |
Czech and Hungarian below-threshold tenders are not included: their national systems do not offer an open machine interface that allows this kind of reuse (see FAQ).
How to use
- Pick the countries.
- Set the window with
lastDaysand, optionally,cpvCodesandkeywords. - Keep
onlyOpenon to see only tenders you can still bid on, or turn it off for awards and history. - Run the Actor and export the dataset (JSON, CSV, Excel) or read it through the Apify API.
{"countries": ["CZ", "SK", "HU", "UA"],"lastDays": 14,"cpvCodes": ["72000000-5", "48000000-8"],"includeDetails": true,"maxItems": 50}
Daily construction monitor for Slovakia, delivering every tender once:
{ "countries": ["SK"], "lastDays": 3, "cpvCodes": ["45000000-7"], "onlyNew": true, "stateKey": "sk-construction", "maxItems": 200 }
More inputs are in examples/.
Input
IT / software tenders in all four countries, last 14 days, with details:
{"countries": ["CZ", "SK", "HU", "UA"],"lastDays": 14,"cpvCodes": ["72000000-5", "48000000-8"],"includeDetails": true,"maxItems": 50}
Daily construction monitor for Slovakia (each tender once):
{ "countries": ["SK"], "lastDays": 3, "cpvCodes": ["45000000-7"], "onlyNew": true, "stateKey": "sk-construction", "maxItems": 200 }
| Field | Default | Meaning |
|---|---|---|
countries | all four | CZ, SK, HU, UA |
lastDays | 7 | Publication window, 1–90 days back from now. Slovakia counts the day the bulletin was released as open data. |
onlyOpen | true | Only calls for competition whose submission deadline is in the future |
keywords | [] | Any of these words in the title, description or lot titles, case- and accent-insensitive, in the source language |
cpvCodes | [] | CPV codes or prefixes: 45000000-7 matches every 45… code, 7226 matches 72260000 |
includeDetails | false | Add description, lots, places, links and EU-funding flag |
maxItems | 10 | Maximum rows per country, 1–10,000 |
onlyNew | false | Skip, and do not charge, tenders delivered by earlier runs with the same stateKey |
stateKey | default | Name of the remembered set of delivered tenders |
maxRequestsPerSecond | 3 | Polite rate limit per source, 0.2–5 |
Output
{"id": "CZ:729969-2026","country": "CZ","countryName": "Czechia","sourceId": "729969-2026","noticeKind": "tender","status": "open","statusOriginal": "cn-standard","title": "Softwary využívající algoritmy umělé inteligence pro klinickou praxi","headlineEnglish": "Czechia – Medical software package – Softwary využívající algoritmy umělé inteligence pro klinickou praxi","buyer": { "name": "Fakultní nemocnice u sv. Anny v Brně", "nationalId": null, "city": "Brno" },"estimatedValue": 3700000.0,"currency": "CZK","cpvCodes": ["48180000", "72263000", "50324100"],"mainCpv": "48180000","contractNature": "supplies","procedureType": "open","publicationDate": "2026-10-21","submissionDeadline": "2026-11-20T10:00:00+01:00","url": "https://ted.europa.eu/en/notice/-/detail/729969-2026","source": "TED – Tenders Electronic Daily, Publications Office of the European Union","licence": "Free reuse under Commission Decision 2011/833/EU; credit TED as the source","retrievedAt": "2026-10-21T19:10:00Z"}
sourceCoverage, licenceUrl and processingNote are omitted above for brevity.
Pricing (pay per event)
| Event | Price (USD) | When |
|---|---|---|
tender | 0.003 | Each delivered row in the unified schema |
tender-with-details | 0.006 | Each delivered row when includeDetails is on |
100 open tenders cost $0.30, or $0.60 with details. Each row is charged exactly once. Tenders skipped by onlyNew and tenders removed by your filters are not charged. Set a maximum charge per run in Apify to cap spending; the Actor stops cleanly when it is reached.
Use cases
- B2G lead generation: suppliers find tenders in four markets by CPV code with one input and one schema.
- Tender alerts: schedule a daily run with
onlyNewand push new tenders to e-mail, Slack, Google Sheets or a CRM through webhooks or integrations. - Market research: compare demand and estimated values across CEE countries by CPV, buyer and procedure type.
- Ukraine reconstruction and supply: follow Prozorro procedures next to EU-member tenders in the same feed.
- AI agents and RAG: give an agent current, structured procurement data through the Apify API or MCP server.
FAQ
Is there an API for CEE / Czech, Slovak, Hungarian and Ukrainian public tenders? Official open interfaces exist separately: Prozorro public API (Ukraine), Slovak Vestník open data on data.slovensko.sk, and the TED Search API (Czechia and Hungary above EU thresholds). This Actor turns those live sources into one unified, filterable table callable from the Apify API, with CSV/JSON/Excel export.
How do I export CEE public tenders to CSV or Excel? Pick countries, lastDays, optional CPV/keywords, set Max tenders per country, run the Actor, then download the dataset as CSV or Excel from the run page or via the Apify API.
Do you include contact persons, e-mails or phone numbers? No. Contact persons, their e-mails and phones, bidders and winners are never read into the output. E-mails and phones in free text are replaced with [redacted].
What is the difference vs TED-only scrapers or single-country Prozorro/NEN/EKR scrapers? TED-only actors cover EU publications; country scrapers cover one portal. This Actor is the Apify Store entry for a unified CZ+SK+HU+UA feed from official Prozorro + Slovak Vestník open data + TED, with CPV filters and only-new alerts, pay-per-event.
Where does the data come from? Only from official open interfaces, read live during each run: the Prozorro public API (Ukraine), the Slovak national open data catalogue data.slovensko.sk (bulletins of the Vestník verejného obstarávania published by the Úrad pre verejné obstarávanie) and the TED Search API of the Publications Office of the EU (Czechia, Hungary). No login, no API key and no website scraping.
Is reuse allowed? Prozorro data is open data under Ukrainian law: anyone may copy, publish and use it, including commercially, with a mandatory reference to the source. The Slovak journal datasets are published under CC BY 4.0. TED notices can be freely reused for commercial or non-commercial purposes under Commission Decision 2011/833/EU. Every row carries source, licence, licenceUrl, url, retrievedAt and processingNote; keep them when you republish the data.
Why TED for Czechia and Hungary? The Czech rules for NIPEZ APIs reserve the web APIs for normal user interaction, and the Czech open data of the public procurement register is released monthly. The Hungarian EKR portal disallows automated access in its robots.txt. TED is the official EU publication of the same notices above the EU thresholds and has an anonymous public API meant for reuse. Below-threshold Czech and Hungarian tenders are therefore not covered.
What personal data is removed? The Actor builds every row from an explicit list of fields. Contact persons, their e-mails and phones, bidders and winners are never read into the output. E-mail addresses and phone numbers in free text are replaced with [redacted], and so is a capitalised first and last name written right before them. Other personal names inside free text cannot be removed reliably. buyer is the contracting authority as published by the source.
How fresh is the data? Prozorro and TED are read live. Slovak bulletins are taken from the open data catalogue, where they usually appear within a few days of their date.
How does onlyOpen decide? Prozorro tenders in the enquiry or tendering phase are open. For TED and Slovak notices, a call for competition is open while its earliest submission deadline is in the future. Corrections are not treated as open tenders.
Does onlyNew detect updates? No. It remembers tender ids (most recent 50,000 per stateKey), so a changed tender is not delivered again. Runs sharing a stateKey must not overlap.
Rate limits? At most 3 requests per second per source by default, with retries, exponential backoff and a descriptive User-Agent. The TED fair-usage limit is 700 requests per minute; a run uses a few TED requests per 100 notices.
Integrations
Start runs and read datasets with the Apify API and clients, schedule daily monitors, send results onward with webhooks and integrations, and let AI agents call the Actor through the Apify MCP server.
Development
python -m pytest -q # offline tests, network blockedapify run --input-file examples/smoke-default.json # local run, no login neededexamples/run-local-ppe.sh # local run with simulated pay-per-event pricespython -m tools.probe UA SK # live check of the sources without Apifypython -m tools.record_fixtures # refresh anonymized test fixtures from the live sources
examples/run-local-ppe.sh sets ACTOR_TEST_PAY_PER_EVENT=true and APIFY_ACTOR_PRICING_INFO from examples/pricing_info.local.json.
Disclaimer
Unofficial tool. Not affiliated with or endorsed by Prozorro, the Ukrainian Ministry of Economy, the Slovak Public Procurement Office (ÚVO), the Czech Ministry for Regional Development, the Hungarian Public Procurement Authority or the Publications Office of the European Union. Always check the tender at its source before you bid.
🇵🇱 Po polsku
Przetargi publiczne z Czech, Słowacji, Węgier i Ukrainy w jednym, wspólnym formacie. Aktor pobiera dane z oficjalnych, otwartych źródeł: Prozorro (Ukraina), dane otwarte Vestníka verejného obstarávania (Słowacja) i TED (Czechy, Węgry; tylko ogłoszenia publikowane w TED, czyli głównie powyżej progów UE). Każdy rekord ma tytuł, zamawiającego (instytucję), wartość szacunkową i walutę, kody CPV, daty, status, kraj i link do źródła.
Wejście: countries, lastDays (1–90), onlyOpen (domyślnie tylko otwarte), keywords, cpvCodes (prefiksy CPV), includeDetails, maxItems (na kraj), onlyNew + stateKey (tylko nowe od poprzedniego przebiegu).
Dane osobowe: osoby kontaktowe, e-maile, telefony, oferenci i wykonawcy nie trafiają do wyniku; e-maile i telefony w treści są zamieniane na [redacted].
Cennik: tender 0,003 USD za rekord, tender-with-details 0,006 USD za rekord ze szczegółami.