Polish IT Tenders Feed - BZP Procurement Leads avatar

Polish IT Tenders Feed - BZP Procurement Leads

Pricing

from $3.00 / 1,000 returned tender notices

Go to Apify Store
Polish IT Tenders Feed - BZP Procurement Leads

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

Burly Bat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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

  1. Queries the public BZP/e-Zamowienia board endpoint: https://ezamowienia.gov.pl/mo-board/api/v1/Board/Search
  2. Restricts the run by publication date range, notice type, page size and max results.
  3. Parses CPV codes and normalizes buyer, deadline, title and notice identifiers.
  4. Marks likely IT opportunities using IT keywords and CPV prefixes.
  5. 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:

  • id
  • source
  • sourceApiUrl
  • noticeUrl
  • noticeNumber, bzpNumber, tenderId, noticeType
  • title
  • buyerName, buyerCity, buyerProvince, buyerCountry, buyerNationalId
  • publicationDate, submissionDeadline, daysUntilDeadline
  • orderType, clientType, tenderType, belowEuThreshold
  • cpvCodes[]
  • matchedKeywords[]
  • matchedCpvPrefixes[]
  • isItRelevant
  • raw

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 maxResults is reached or BZP returns fewer records than requested.
  • Default export excludes non-matching notices. Set includeNonMatching to true only for QA or broader audits.

Local development

npm install
npm run check

Run the Actor locally in offline mode:

rm -rf /tmp/bzp-apify-storage
mkdir -p /tmp/bzp-apify-storage/key_value_stores/default
printf '%s\n' '{"sourceMode":"offline","dateFrom":"2026-06-20","dateTo":"2026-06-29","maxResults":10}' \
> /tmp/bzp-apify-storage/key_value_stores/default/INPUT.json
CRAWLEE_STORAGE_DIR=/tmp/bzp-apify-storage npm start

Run a tiny live smoke test:

rm -rf /tmp/bzp-apify-storage
mkdir -p /tmp/bzp-apify-storage/key_value_stores/default
printf '%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.json
CRAWLEE_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.