Polish IT Tenders Feed - BZP Procurement Leads
Pricing
from $3.00 / 1,000 returned tender notices
Polish IT Tenders Feed - BZP Procurement Leads
Find Polish public procurement opportunities for software, IT services, hardware, cloud and cybersecurity from the official BZP/e-Zamówienia public API. Exports clean dataset records with buyer, deadline, CPV codes and official notice links.
Pricing
from $3.00 / 1,000 returned tender notices
Rating
0.0
(0)
Developer
Burly Bat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Apify Actor MVP for finding Polish public procurement notices from the official BZP/e-Zamowienia public API and exporting IT-relevant tender leads as normalized dataset records.
This Actor is intentionally cost-bounded:
- no proxies,
- no SERP APIs,
- no paid enrichment,
- no browser automation,
- no overage-dependent upstream.
What it does
- Queries the public BZP/e-Zamowienia board endpoint:
https://ezamowienia.gov.pl/mo-board/api/v1/Board/Search - Restricts the run by publication date range, notice type, page size and max results.
- Parses CPV codes and normalizes buyer, deadline, title and notice identifiers.
- Marks likely IT opportunities using IT keywords and CPV prefixes.
- Pushes matching records to the Apify dataset.
Example input
Default recurring run for the latest notices:
{"maxResults": 50,"pageSize": 50,"noticeType": "ContractNotice","sourceMode": "live"}
When dateFrom and dateTo are omitted, the Actor uses the latest 7-day window
ending today.
Fixed-date QA/demo input:
{"dateFrom": "2026-06-20","dateTo": "2026-06-29","maxResults": 50,"pageSize": 50,"noticeType": "ContractNotice","keywords": ["informatycz", "oprogramowanie", "serwer", "cyberbezpieczen", "cloud"],"cpvPrefixes": ["302", "324", "480", "488", "720", "722", "723", "724", "725", "726", "727", "728", "729"],"includeNonMatching": false,"sourceMode": "live"}
Use "sourceMode": "offline" for deterministic local/demo runs with the bundled fixture.
Output fields
Each dataset item has this normalized shape:
idsourcesourceApiUrlnoticeUrlnoticeNumber,bzpNumber,tenderId,noticeTypetitlebuyerName,buyerCity,buyerProvince,buyerCountry,buyerNationalIdpublicationDate,submissionDeadline,daysUntilDeadlineorderType,clientType,tenderType,belowEuThresholdcpvCodes[]matchedKeywords[]matchedCpvPrefixes[]isItRelevantraw
See docs/sample_output.json for a compact example.
Hard limits
- Date range: maximum 31 days.
maxResults: 1-500.pageSize: 1-100.- Pagination stops when
maxResultsis reached or BZP returns fewer records than requested. - Default export excludes non-matching notices. Set
includeNonMatchingtotrueonly for QA or broader audits.
Local development
npm installnpm run check
Run the Actor locally in offline mode:
rm -rf /tmp/bzp-apify-storagemkdir -p /tmp/bzp-apify-storage/key_value_stores/defaultprintf '%s\n' '{"sourceMode":"offline","dateFrom":"2026-06-20","dateTo":"2026-06-29","maxResults":10}' \> /tmp/bzp-apify-storage/key_value_stores/default/INPUT.jsonCRAWLEE_STORAGE_DIR=/tmp/bzp-apify-storage npm start
Run a tiny live smoke test:
rm -rf /tmp/bzp-apify-storagemkdir -p /tmp/bzp-apify-storage/key_value_stores/defaultprintf '%s\n' '{"sourceMode":"live","dateFrom":"2026-06-20","dateTo":"2026-06-29","maxResults":5,"pageSize":5}' \> /tmp/bzp-apify-storage/key_value_stores/default/INPUT.jsonCRAWLEE_STORAGE_DIR=/tmp/bzp-apify-storage npm start
Publication status
This Actor is published on Apify Store as a paid pay-per-event MVP. Monetization uses Apify's default dataset item event: each returned tender notice is one chargeable result.
Publication notes:
STORE_DRAFT.md- public listing draft.docs/publication_checklist.md- publish steps and gates.docs/source_and_limits.md- source, legal/operational limits and risks.
Disclaimer
This Actor is not affiliated with, endorsed by or sponsored by UZP, BZP or e-Zamowienia. It uses public notice data and provides normalized procurement leads for research and monitoring. Buyers must verify all tender details in the official source before acting.