Ukraine ProZorro Reconstruction Contracts Scraper avatar

Ukraine ProZorro Reconstruction Contracts Scraper

Pricing

Pay per event

Go to Apify Store
Ukraine ProZorro Reconstruction Contracts Scraper

Ukraine ProZorro Reconstruction Contracts Scraper

Scrapes Ukraine ProZorro public-procurement contracts in reconstruction CPV / DK021 categories (construction, engineering, demolition, capital repair). Emits buyer, supplier, EDRPOU codes, contract value, dates, item descriptions. No auth.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Pulls awarded reconstruction contracts from Ukraine's ProZorro public-procurement system. Returns buyer, supplier, EDRPOU codes, contract value, item descriptions, dates, and parent-tender linkage for construction, demolition, capital repair, and engineering deals — the line items that actually rebuild the country.


Ukraine ProZorro Reconstruction Contracts Scraper Features

  • Walks the ProZorro public API newest-first, so the freshest signed deals show up first.
  • Filters client-side by DK021 / CPV classification (45* construction, 71* engineering, 34900000 demolition, 90* cleanup) and by Ukrainian-language keywords (відбудова, реконструкція, відновлення, капітальний ремонт). Override either list if your slice of "reconstruction" is narrower.
  • Returns ~25 fields per contract — buyer name + EDRPOU + region, supplier name + EDRPOU + scale, value in UAH, dates, item descriptions, CPV codes, and a direct link to the contract page on prozorro.gov.ua.
  • Pure JSON API. No proxy, no auth, no captcha. The data is publicly funded and designed for bulk consumption.
  • Cyrillic / UTF-8 throughout — names and addresses come back in the original Ukrainian, not transliterated.
  • Optional minimum-value filter in UAH for buyers who only care about the big-ticket awards.

Who Uses Ukrainian Reconstruction Contract Data?

  • EU and US firms bidding rebuild work — Map who's already winning what, who the active buyers are, and which oblasts have the most pipeline.
  • Sanctions and compliance teams — Screen supplier ownership chains against Russia-linked beneficiaries before signing on as a sub.
  • Anti-corruption NGOs — Track donor-funded contracts (EU, USAID, World Bank) flowing through municipal buyers, and flag the unusual ones.
  • Investigative journalists — Follow the money. The full procuringEntity chain is in the data.
  • Construction-industry analysts — Build deal-flow dashboards by region, CPV category, or buyer kind.
  • Government affairs and diplomatic missions — Keep a running view of post-war reconstruction spend without scraping the portal yourself.

How the Ukraine ProZorro Reconstruction Contracts Scraper Works

  1. Walks the ProZorro /api/2.5/contracts cursor feed in descending date order, page by page.
  2. For each contract ID, fetches the full payload from the public API — items, suppliers, buyer, value, dates, classifications.
  3. Drops anything that doesn't match either the CPV prefix list or the Ukrainian keyword list. Optionally drops cancelled / terminated contracts and below-threshold values.
  4. Emits the survivor as a flat JSON record. No nested objects in arrays — just clean fields you can drop straight into a database or spreadsheet.

Input

{
"maxItems": 100,
"onlySignedContracts": true,
"minValueUah": 0,
"cpvPrefixes": [],
"keywords": []
}
FieldTypeDefaultDescription
maxItemsinteger10Maximum number of reconstruction contracts to return. The scraper walks the feed newest-first and filters client-side, so larger values fetch more underlying records. Range: 1–5000.
onlySignedContractsbooleantrueWhen true, drops cancelled / terminated contracts. Set false to include the full lifecycle.
minValueUahinteger0Skip contracts below this UAH value. 0 disables the filter. Note that small UAH amounts may have been originally signed in EUR or USD.
cpvPrefixesarray[]Override the default DK021 / CPV prefix list. Empty array uses the defaults: 45, 71, 34900000, 90. Pass ["45"] for construction-only, ["71"] for engineering-only, etc.
keywordsarray[]Override the default Ukrainian keyword list. Empty array uses the defaults: відбудова, реконструкц, відновлення, відновлювальн, капітальний ремонт. Substring match, case-insensitive.

Engineering-only example

{
"maxItems": 50,
"cpvPrefixes": ["71"],
"onlySignedContracts": true
}

Big-ticket awards only

{
"maxItems": 100,
"minValueUah": 5000000,
"onlySignedContracts": true
}

Ukraine ProZorro Reconstruction Contracts Scraper Output Fields

{
"contract_id": "6954e14eaaab4bd18187f34f6049c763",
"contract_number": "UA-2026-05-01-011820-a-a1",
"tender_id": "2121e6bb895641d2ad02112bd6fa4185",
"tender_number": "",
"status": "active",
"date_signed": "2026-04-29T00:00:00+03:00",
"date_modified": "2026-05-01T22:26:58.606160+03:00",
"period_start": "2026-04-29T00:00:00+03:00",
"period_end": "2026-12-31T23:59:59+02:00",
"title": "Проектно-вишукувальні послуги з розроблення технічної документації...",
"value_amount": 19500,
"value_currency": "UAH",
"value_with_vat": false,
"buyer_name": "Виходянська сільська рада",
"buyer_edrpou": "04377701",
"buyer_region": "Одеська область",
"buyer_locality": "Одеський район",
"supplier_name": "ФОП Рогачко С.П.",
"supplier_edrpou": "2487904601",
"supplier_region": "Одеська область",
"supplier_locality": "м.Біляївка",
"supplier_scale": "sme",
"additional_suppliers": [],
"cpv_codes": ["71330000-0"],
"item_descriptions": ["Проектно-вишукувальні послуги..."],
"reconstruction_signal": "cpv",
"profile_url": "https://prozorro.gov.ua/contract/6954e14eaaab4bd18187f34f6049c763",
"tender_profile_url": "https://prozorro.gov.ua/tender/2121e6bb895641d2ad02112bd6fa4185",
"scraped_at": "2026-05-01T19:29:28.769Z"
}
FieldTypeDescription
contract_idstringProZorro internal contract UUID.
contract_numberstringHuman-readable contract identifier (e.g. UA-2025-...-c1).
tender_idstringUUID of the parent tender on ProZorro.
tender_numberstringParent tender's UA-... identifier when carried by the contract.
statusstringactive, complete, pending, terminated, or cancelled.
date_signedstring (ISO 8601)Date the contract was signed.
date_modifiedstring (ISO 8601)Last modification timestamp.
period_startstring (ISO 8601)Performance period start.
period_endstring (ISO 8601)Performance period end.
titlestringContract title in Ukrainian.
value_amountnumberSigned contract value (numeric).
value_currencystringCurrency code, typically UAH.
value_with_vatbooleanWhether the signed value includes VAT.
buyer_namestringProcuring entity legal name.
buyer_edrpoustringBuyer's EDRPOU code (Ukraine state register ID).
buyer_regionstringBuyer's oblast / region.
buyer_localitystringBuyer's city or settlement.
supplier_namestringPrimary awardee name.
supplier_edrpoustringSupplier's EDRPOU code.
supplier_regionstringSupplier's oblast.
supplier_localitystringSupplier's city.
supplier_scalestringmicro, sme, or large.
additional_suppliersarray of stringsAdditional suppliers beyond the primary one, each formatted as Name (EDRPOU 12345) — Locality.
cpv_codesarray of stringsDK021 / CPV classification codes from the contract items.
item_descriptionsarray of stringsItem descriptions from the contract, in Ukrainian.
reconstruction_signalstringWhy the contract matched: cpv, keyword, or cpv+keyword.
profile_urlstringPublic ProZorro contract page URL.
tender_profile_urlstringParent tender page URL.
scraped_atstring (ISO 8601)When this record was scraped.

FAQ

How do I scrape Ukrainian reconstruction contracts from ProZorro?

The Ukraine ProZorro Reconstruction Contracts Scraper does it for you. Set maxItems, hit run, and it walks the public API filtering for construction, engineering, demolition, and capital-repair contracts.

Does the Ukraine ProZorro Reconstruction Contracts Scraper need a proxy?

No. ProZorro's public API has no rate limit beyond a courtesy delay we apply ourselves, and there's no captcha or auth.

Can I narrow the scrape to just one CPV category?

Yes. Pass cpvPrefixes: ["45"] for construction work only, ["71"] for architectural / engineering services, or any combination. Empty array uses the full default set.

What's the difference between a "cpv" and "keyword" reconstruction signal?

The Ukraine ProZorro Reconstruction Contracts Scraper marks each contract with how it qualified. cpv means the classification code matched a reconstruction prefix; keyword means the title or item description contained a Ukrainian reconstruction word; cpv+keyword means both. Both signals together is the highest-confidence match.

How recent are the contracts?

ProZorro is real-time. Contracts appear in the feed within seconds of being signed in any of the authorised marketplaces, and this scraper walks newest-first.

Are values in UAH or original currency?

Whatever ProZorro reports — value_currency tells you which. Most are UAH. Some donor-funded reconstruction contracts (EU, USAID, World Bank) are denominated in EUR or USD; use value_currency to filter or convert.


Need More Features?

Want supplier sanctions enrichment, donor-source tagging, or full parent-tender history? File a feature request — we ship custom fields fast.

Why Use the Ukraine ProZorro Reconstruction Contracts Scraper?

  • First Ukraine-specific procurement scraper on Apify — There's nothing else covering this dataset on the store.
  • Native Ukrainian text — Names, addresses, and item descriptions stay in Ukrainian. No transliteration loss when you join against EDRPOU registries downstream.
  • Both CPV and keyword filtering — Catches contracts that don't have the "right" classification but obviously belong (and vice versa).
  • EDRPOU codes for buyer and supplier — The state-register ID that anchors every Ukrainian legal entity. Lets you cross-reference against sanctions lists, beneficial-owner registries, and YouControl exports without name-matching guesswork.