Poland Public Tenders (BZP + TED)
Pricing
Pay per event
Poland Public Tenders (BZP + TED)
All Polish public tenders in one feed: BZP and TED notices with CPV, buyer, voivodeship, deadline, winners and award values. Daily alerts with onlyNew.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Artur Flamandzki
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Security
Limited permissionsShare
Poland Public Tenders (BZP + TED in one feed)
Get every Polish public tender in one clean feed: national notices from the Biuletyn Zamówień Publicznych (BZP, e-Zamówienia) and above-threshold notices of Polish buyers from TED, the EU's official journal. Calls for tenders, results with winners and award values, intended direct awards, corrections and contract changes, all mapped to one record format.
Every notice becomes one record: notice number, type, title, works/supplies/services, buyer (name, national id, city, voivodeship), CPV codes, publication date, submission deadline, winning contractors, award value and the link to the official notice.
What you can use it for
- Tender alerts: run it daily with Only notices not returned before and get only new tenders for your CPV codes, keywords or region.
- Sales and business development: find buyers that purchase what you sell, before the deadline.
- Competitor intelligence: who wins which contracts, for how much, with which buyers (result notices).
- Market research: public demand by CPV code, voivodeship and buyer type.
- AI agents and CRMs: structured, deduplicated notices via the Apify API or MCP.
How it works
- For each day in the window (newest first) and each source, the actor reads the official public APIs: the e-Zamówienia board for BZP and the TED search API for notices of Polish buyers.
- Both are mapped to one record; contacts and raw notice HTML are never returned.
- Your filters are applied: keywords in the title, CPV prefixes, voivodeships, buyers (name or NIP).
- With Only notices not returned before, a notice is returned once per combination of filters (memory kept 60 days): a ready-made tender alert.
Input
| Field | What it does |
|---|---|
| Sources | BZP (below EU thresholds), TED (above EU thresholds); both by default |
| Notice types | Calls for tenders and results by default; also prior information / intended awards, corrections, contract changes (completion and modifications) |
| Published in the last N days | 1 = yesterday and today (best for a daily schedule); up to 31. A day is a Polish calendar day (Europe/Warsaw) for both sources |
| Keywords | Words in the title, e.g. remont, oprogramowanie (Polish letters optional) |
| CPV codes | Prefixes, e.g. 45 (construction works), 72 (IT services), 3312 (medical equipment) |
| Voivodeships | e.g. mazowieckie, śląskie: keeps a notice when the buyer's seat or the place of performance (TED) is in one of them |
| Buyers | Part of the buyer's name or its national id (NIP or REGON) |
| Include contractors | Winners on result notices (default on) |
| Only notices not returned before | Ideal for daily schedules |
| Max notices | Stop after this many |
Output example
{"notice_id": "2026/BZP 00520352/01","source": "bzp","notice_type": "result","source_notice_type": "TenderResultNotice","title": "Dostawa paliwa gazowego na rok 2027","order_type": "supplies","procedure_type": null,"buyer_name": "Przykładowy Ośrodek Doradztwa Rolniczego","buyer_id": "1234567890","buyer_city": "Częstochowa","buyer_voivodeship": "śląskie","performance_voivodeship": null,"cpv_main": "09123000","cpv_codes": ["09123000", "65210000"],"published_at": "2026-11-03T23:16:35Z","deadline_at": null,"below_eu_threshold": true,"procedure_results": ["zawarcieUmowy"],"contractors": [{"name": "Example Energy Sp. z o.o.", "city": "Warszawa", "national_id": "1111111111"}],"award_value": null,"award_currency": null,"tender_id": "ocds-148610-00000000-0000-0000-0000-000000000000","notice_url": "https://ezamowienia.gov.pl/mo-client-board/bzp/notice-details/id/..."}
Result notices carry award_value and award_currency: for TED the total value of the notice, for BZP the sum of
the contract values of every part that ended in a contract (null when the parts are in different currencies).
TED records carry procedure_type (open, restricted, ...) and a publication date without time; BZP records carry
the publication time and procedure_results.
Pricing
Pay per event, no subscription. The prices are on the Pricing tab; you are charged for two events:
| Event | When |
|---|---|
Source-day (source-day) | once per source and day read successfully (BZP and TED for 2 days = 4); a source that is down is not charged |
Notice (notice) | once per notice saved to the dataset |
- A working day of both sources brings roughly 2,000-2,500 calls for tenders and results (measured on 3 November 2026); filters (keywords, CPV, voivodeship, buyer) cut the notice fees, the source-day fee stays.
- A source-day is charged only when your remaining budget also covers at least one notice.
- The form starts with Max notices = 100 for a cheap first run; raise it for a full feed.
- Set a maximum cost per run in Apify and the actor stops cleanly when it is reached.
Data and privacy
Notices are public-sector information published by law (Polish Public Procurement Law, EU Directive 2014/24/EU) on ezamowienia.gov.pl and ted.europa.eu. Buyers are public bodies. Contractors are mostly companies, but sole traders appear under their own name as published in the official notice: the actor returns only their name, city and national id (NIP or REGON), never contact data, and Include contractors off removes them. Use such records in line with the GDPR.
Known limits
- Baza Konkurencyjności (EU-funded private tenders) is not included yet.
- BZP records have no estimated value; BZP contest results (prizes) have no award value.
buyer_voivodeshipis the buyer's seat for both sources;performance_voivodeship(place of performance) is given for TED notices only (BZP lists do not carry it) and is null when TED gives no Polish region.- TED lists winners per lot but their ids and cities per organisation: city and national id are given only when a notice has a single winner.
- With onlyNew off, notices are not remembered: turning onlyNew on later starts from an empty memory.
- Notices are as published; corrections arrive as separate
updatenotices.