Poland BZP Tenders Scraper: e-Zamówienia to Excel
Pricing
from $2.00 / 1,000 results
Poland BZP Tenders Scraper: e-Zamówienia to Excel
Polish national public tenders and award results from BZP on e-Zamówienia (official API). Filter by keyword, CPV, province, type, value. Winners and PLN contract values. GDPR-safe defaults.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
TenderFeed
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Security
Limited permissionsShare
Poland e-Zamówienia / BZP Public Tenders Scraper by TenderFeed
Search Polish public tenders and award results from the Biuletyn Zamówień Publicznych (BZP), Poland's official bulletin for national public procurement, published on the government's e-Zamówienia platform. Filter by keyword, CPV code, province (voivodeship), notice type, contract type, buyer, value (PLN) and deadline. Result notices include the winning contractor and the contract value. Clean, English-labelled JSON, CSV or Excel.
Built by TenderFeed (apify.com/tenderfeed) on the e-Zamówienia public notice board API (no API key, no login). BZP covers the below-EU-threshold market that never reaches TED: several hundred new contract notices per working day from municipalities (gminy), hospitals, schools and state agencies.
What can you do with it?
- Daily Polish bid alerts by CPV and voivodeship (e.g. road works in mazowieckie).
- Lead generation: buyer name, city, province and NIP tax ID in every row; the buyer's published email on request (
includeBuyerContacts). - Win/loss and competitor analysis:
TenderResultNoticerows with contractors and PLN contract values. - AI agents: use it as an MCP tool (Apify MCP server) to answer "Which Polish hospitals are buying medical equipment this week?"
Input example
{"keywords": ["remont"],"noticeTypes": ["ContractNotice", "TenderResultNotice"],"contractTypes": ["Works"],"provinces": ["PL14"],"cpvCodes": ["45"],"publishedFrom": "7 days","onlyOpen": true,"maxResults": 0}
noticeTypes:ContractNotice(calls for tenders, default),TenderResultNotice(results),SmallContractNotice,AgreementIntentionNotice,ContractPerformingNotice,NoticeUpdateNotice,CompetitionNotice.provinces:PL02..PL32(e.g.PL14mazowieckie,PL12małopolskie,PL24śląskie).- A single keyword is searched server-side in the tender title (Polish works best:
remont,oprogramowanie,dostawa).
Output example
Real row from a live run (2026-10-29, default input, description shortened):
{"source": "pl-bzp","sourceId": "2026/BZP 00507107/01","ocid": "ocds-148610-28a28ecf-bf58-4c1b-b2ba-e2adefdc2140","url": "https://ezamowienia.gov.pl/mo-client-board/bzp/notice-details/id/08df3574-2846-e200-cfcf-e60001c05bd0","title": "Dostawa zabawek dla dzieci od pierwszego dnia życia, w formie miękkiej przytulanki do Zespołu Żłobków m.st Warszawy - II procedura","noticeType": "ContractNotice","status": "active","procedureType": "Basic procedure","contractType": "supplies","buyerName": "Zespół Żłobków m.st W-wy","buyerCountry": "PL","buyerCity": "Warszawa","cpvCodes": ["37520000", "39294100"],"otherClassificationCodes": ["NUTS:PL911"],"placeOfPerformance": "Warszawa, mazowieckie, PL","publishedAt": "2026-10-29T04:21:51.7907299Z","deadlineAt": "2026-11-06T08:00:00Z","estimatedValue": 181300.0,"currency": "PLN","documentsUrl": "https://ezamowienia.gov.pl/mp-client/search/list/ocds-148610-28a28ecf-bf58-4c1b-b2ba-e2adefdc2140","bzpNumber": "2026/BZP 00507107","province": "mazowieckie","buyerNationalId": "5213598403","belowEuThreshold": true}
A result row from a live test (2026-10-29) carries for example "awardees": ["FLIZER Spółka z ograniczoną odpowiedzialnością"], "awardedValue": 176628.0, "estimatedValue": 153997.73. In a 3-day sample of 120 works result notices, 97 had a contractor and contract value.
Buyer contacts and GDPR (includeBuyerContacts)
BZP notices publish the buyer's email address (often a generic office mailbox, sometimes a named employee). By default (includeBuyerContacts: false) it is removed and the Actor returns organisation-level data only (buyer name, city, province, NIP, notice and procedure links). Set includeBuyerContacts: true to keep it, only if you have a lawful basis under the GDPR. In a live test (40 notices, 2026-10-29) contacts-on returned an email on 40/40 rows; contacts-off returned 0 while keeping buyerName on 40/40. BZP does not publish contact names or phones in a structured way.
Daily alerts ("only new" monitoring mode)
Turn on onlyNew, give the search a monitoringId (e.g. "pl-works-daily") and schedule the Actor daily. Each run returns, and charges for, only notices you have not received before.
Sample output (real run)
One row from a run on 6 November 2026 (core columns only; every row also has description, status, procedureType, documentsUrl and more). Contact values are masked here. Since schema 1.2 every row also carries the cross-source columns country, deadline, valueAmount, valueCurrency and cpvOrNaics next to the original ones (buyerCountry, deadlineAt, estimatedValue, currency, cpvCodes/naicsCodes), which are unchanged.
{"title": "„Dostawa wraz z wdrożeniem i uruchomieniem oprogramowania oraz infrastruktury sprzętowej dla ZUK w Lubiszynie realizowanego w ramach „Cyb...","source": "pl-bzp","country": "PL","noticeType": "ContractNotice","publishedAt": "2026-11-06T07:42:11.6886795Z","deadline": "2026-11-17T11:00:00Z","buyerName": "GMINA LUBISZYN","valueAmount": null,"valueCurrency": null,"cpvOrNaics": "48820000, 30233000, 48730000, 72263000","setAside": null,"url": "https://ezamowienia.gov.pl/mo-client-board/bzp/notice-details/id/08df3bd9-77fe-e479-c1c5-d5000193d37d","buyerContactName": null,"buyerContactEmail": null,"buyerContactPhone": null}
Limits and notes
- Data source: e-Zamówienia / BZP public notice search.
- Access: No login or API key.
- Delays and gaps: Notices are mostly in Polish; titles are not translated. Value is often missing in the notice index.
- Contacts: No buyer contact persons are extracted.
- Fields the portal does not publish stay
null; nothing is guessed or filled in.
Pricing
Pay per result: $2.00 per 1,000 notices ($0.002 per row) plus Apify's small run-start fee. A daily alert with 20 new notices costs about $1.20 a month.
Notes and limits
- Titles and descriptions are in Polish; procedure types are translated to English (
procedureLegalBasiskeeps the original legal basis). estimatedValueis filled only when the buyer publishes it in the notice (about 15% of contract notices); result notices usually carry the contract value.- The e-Zamówienia API is sometimes slow or drops connections; the Actor retries automatically with backoff.
- Above-EU-threshold Polish tenders are published on TED: use the TenderFeed EU TED Actor for those.
More TenderFeed sources
Same output schema across all sources, so you can merge results in one sheet or CRM:
- EU TED tenders
- SAM.gov federal contract opportunities
- Grants.gov US federal grants
- USAspending federal contract awards
- UK Find a Tender + Contracts Finder
- France BOAMP appels d'offres
- Switzerland SIMAP tenders
- World Bank procurement notices & awards
- Ukraine Prozorro tenders
- AusTender Australian government contracts
- EU Funding & Tenders Portal grants and calls
- CanadaBuys tenders and awards
- Germany public tenders (Ausschreibungen)
- NYC City Record bids & awards
- Brazil PNCP licitações
- Colombia SECOP II licitaciones
- Netherlands TenderNed aanbestedingen
FAQ
Is this legal? Yes. BZP notices are official public procurement publications read through the platform's public API. Personal data is excluded unless you set includeBuyerContacts: true.