DCZ.gov.ua Scraper: Ukraine Government Jobs & Vacancies
Pricing
Pay per event
DCZ.gov.ua Scraper: Ukraine Government Jobs & Vacancies
Scrape official job listings from dcz.gov.ua, Ukraine's State Employment Service. Returns vacancy title, employer, oblast, city, salary in UAH, employment type, industry, veteran/IDP flags, and job URL. Covers 230,000+ active vacancies across all Ukrainian oblasts.
Pricing
Pay per event
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Collect official job listings from dcz.gov.ua, the web portal of Ukraine's State Employment Service (Державна служба зайнятості України). Every employer operating in Ukraine is required to register vacancies with the State Employment Service before filling them, making DCZ the most authoritative and complete source of official open positions in the country. The portal lists 230,000+ active vacancies registered by employers across all 25 Ukrainian oblasts and Kyiv city.
Important: Angular SPA — no permanent job URLs
dcz.gov.ua is built on Angular and runs as a single-page application. Every URL on the domain — including /job/single/{vacid} — serves the identical Angular shell (102 KB HTML, zero vacancy-specific content). There are no server-rendered job detail pages, no hash routes, and no query-parameter deep links.
As a result, job_url and source_url both point to https://www.dcz.gov.ua/job (the job search page) for every listing. Use the unique vac_id field to identify and cross-reference a specific vacancy on the portal.
What you get
Each result contains:
- Vacancy: title in Ukrainian, DCZ vacancy reference code (
vac_id), andjob_urlpointing to the DCZ job search page (see note above) - Employer: registered company or institution name as entered in the DCZ system
- Location: city, oblast (region), KATOTTG administrative code (
city_id), country code UA - Compensation: salary in UAH (Ukrainian hryvnia), period "на місяць" (monthly); both a normalized numeric
salary_minand the rawsalary_rawstring as returned by the API - Employment details: normalized
employment_type(Full-time / Part-time / Temporary / Remote / Full-time (shift) / Full-time (rotational)) plusemployment_type_rawpreserving the original Ukrainian compound value (e.g.повна, позмінна,повна, вахтова); industry branch with numericbranch_id - Office phones:
office_phones— DCZ employment centre phone numbers extracted from the description. Application is made by calling these numbers; the portal has no online application form. - Special flags:
is_disability_accessible(listing accessible for people with disabilities),is_veteran_priority(veteran-priority listing),is_idp(internally displaced persons / VPO listing),is_housing_provided - Registration date: when the vacancy was registered with the State Employment Service
- Description: plain-text job description extracted from the DCZ posting (HTML stripped)
How to apply for DCZ vacancies
DCZ.gov.ua does not provide an online application form. The standard application workflow is:
- Note the vacancy number (
vac_id) from the result - Call the DCZ employment centre phone number listed in
office_phones - Reference the vacancy number when speaking to the centre agent
Every DCZ description follows the template: "Якщо Вас зацікавила дана вакансія, зверніться до Центру зайнятості, що її зареєстрував, вказавши номер вакансії. Телефон для отримання додаткової інформації: +380XXXXXXXXX"
Use cases
- Ukraine labor market research: identify which sectors and oblasts have the most open positions
- Salary benchmarking: compare UAH salary levels across occupations, industries, and regions
- Wartime employment monitoring: track vacancies tagged for veterans (учасники бойових дій) and internally displaced persons (ВПО), plus disability-accessible listings
- Government procurement intelligence: identify which state institutions and state-owned enterprises are actively hiring
- HR analytics: cross-reference DCZ postings with private job boards to measure formal vs. informal labor market
- Academic research: analyze Ukraine's official labor market using the government's own registry
- JobFeed aggregation: source for the nanoscrape job-feed service covering the UA market
Pricing
This actor uses Pay-Per-Event (PPE) pricing:
| Event | Cost |
|---|---|
| Actor start | $0.001 |
| Job result (SERP mode) | $0.003 |
| Full job detail | $0.005 |
$5 free monthly credit is included with every Apify account: enough for roughly 1,600 standard job results per month.
Enable includeJobDetails: true to charge the detail-result event rate and surface the full description and contact fields. The DCZ API returns all fields in a single request regardless, so there is no extra HTTP cost.
Input
{"searchQueries": ["програміст", "водій", "лікар"],"location": "Київ","maxResults": 100,"maxResultsPerQuery": 50,"includeJobDetails": true}
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | Job title keywords in Ukrainian. Examples: програміст (programmer), водій (driver), лікар (doctor), вчитель (teacher), бухгалтер (accountant), медсестра (nurse). Leave empty to retrieve all open vacancies. | |
startUrls | string[] | Direct DCZ job page URLs. Example: https://www.dcz.gov.ua/job/single/05252608200011 (vacid is extracted and used for API lookup; the URL itself is an Angular SPA page with no unique content) | |
location | string | Ukrainian oblast or major city. Examples: Київ, Харківська, Львів, Одеська, Дніпропетровська. English transliterations accepted: Kyiv, Kharkiv, Lviv, Odesa, Dnipro. Leave empty for all Ukraine. | |
branch | string | Industry branch filter using DCZ label. Examples: ІТ, медицина, освіта, будівництво, транспорт. Leave empty for all industries. | |
workCondition | string | Employment type: повна (full-time), неповна (part-time), тимчасова (temporary), дистанційна (remote). Leave empty for all types. | |
minSalary | integer | 0 | Minimum salary in UAH. 0 = no filter. Ukraine minimum wage 2026 is approximately 8,000 UAH/month. |
filterVeteran | boolean | false | When true, surface only veteran-priority listings. |
filterInvalid | boolean | false | When true, surface only disability-accessible listings (is_disability_accessible=true). |
includeJobDetails | boolean | false | Charges job-detail-result event instead of job-serp-result. Fields are identical since DCZ returns all data in one request. |
maxResults | integer | 5 | Total results cap across all queries. |
maxResultsPerQuery | integer | 5 | Cap per search keyword. |
maxConcurrency | integer | 3 | Parallel requests. Keep at 3-5 to be respectful to the government API. |
Output sample
{"_type": "job","id": "420287049","vac_id": "19012605070026","title": "оператор заправних станцій","job_url": "https://www.dcz.gov.ua/job","source_url": "https://www.dcz.gov.ua/job","source_platform": "dcz.gov.ua","company_name": "ТОВ \"ОККО-ДРАЙВ\"","location": "Гаї-Гречинські, Тернопільська область","country": "UA","region": "Тернопільська область","city": "Гаї-Гречинські","city_id": "UA61040010030080699","posted_at_text": "2026-08-31T21:00:00.000Z","posted_at_datetime": "2026-08-31T21:00:00Z","employment_type": "Full-time (shift)","employment_type_raw": "повна, позмінна","industry": "маркетинг/реклама","branch_id": "20","salary_min": 20000.0,"salary_currency": "UAH","salary_period": "month","salary_text": "20000 UAH / на місяць","salary_raw": "20000.00","description": "№ вакансії: 19012605070026 Якщо Вас зацікавила дана вакансія, зверніться до Центру зайнятості...","office_phones": ["+380673132283"],"contact_info": null,"source": "dcz","is_disability_accessible": false,"is_idp": false,"is_veteran_priority": false,"is_housing_provided": false,"search_query": null,"scraped_at": "2026-09-01T10:00:00Z"}
Special flags explained
| Flag | DCZ API field | Meaning |
|---|---|---|
is_disability_accessible | is_f3pn in {1, 5} | Vacancy is accessible for people with disabilities. is_f3pn==1 confirmed via Angular source (isInv flag); is_f3pn==5 is a disability subvariant surfaced only by filterInvalid. Use filterInvalid: true input option to retrieve only these listings. |
is_idp | is_f3pn == 2 | Vacancy tagged for internally displaced persons (ВПО / тимчасово переміщені особи). |
is_veteran_priority | badgeveteran == 1 | Employer has flagged this as a priority vacancy for Ukrainian veterans (учасники бойових дій). |
is_housing_provided | badgehousing == 1 | Employer provides housing for this position. |
Note: can_apply_online is not emitted. The API's canReply field is true for all sampled listings and reflects active-listing status, not the existence of an online apply form. DCZ has no online apply mechanism — use office_phones to contact the responsible employment centre.
Employment type values
employment_type | Ukrainian (employment_type_raw) | Notes |
|---|---|---|
| Full-time | повна | Standard 5-day / 40-hour week |
| Full-time (shift) | повна, позмінна | Full-time with rotating shift schedule |
| Full-time (rotational) | повна, вахтова | Rotational/watch schedule (вахтовий метод) |
| Part-time | неповна / Часткова | Reduced hours |
| Temporary | тимчасова | Fixed-term contract |
| Remote | дистанційна | Remote work |
Region reference
The location field accepts Ukrainian oblast names, their English transliterations, or major city names. All 25 Ukrainian oblasts and Kyiv city are supported:
| Ukrainian | English | Code |
|---|---|---|
| Вінницька область | Vinnytsia | UA05 |
| Волинська область | Volyn | UA07 |
| Дніпропетровська область | Dnipropetrovsk / Dnipro | UA12 |
| Донецька область | Donetsk | UA14 |
| Житомирська область | Zhytomyr | UA18 |
| Закарпатська область | Zakarpattia / Transcarpathia | UA21 |
| Запорізька область | Zaporizhzhia | UA23 |
| Івано-Франківська область | Ivano-Frankivsk | UA26 |
| м. Київ | Kyiv (city) | UA80 |
| Київська область | Kyiv oblast | UA32 |
| Кіровоградська область | Kirovohrad | UA35 |
| Луганська область | Luhansk | UA44 |
| Львівська область | Lviv | UA46 |
| Миколаївська область | Mykolaiv | UA48 |
| Одеська область | Odesa | UA51 |
| Полтавська область | Poltava | UA53 |
| Рівненська область | Rivne | UA56 |
| Сумська область | Sumy | UA59 |
| Тернопільська область | Ternopil | UA61 |
| Харківська область | Kharkiv | UA63 |
| Херсонська область | Kherson | UA65 |
| Хмельницька область | Khmelnytskyi | UA68 |
| Черкаська область | Cherkasy | UA71 |
| Чернівецька область | Chernivtsi | UA73 |
| Чернігівська область | Chernihiv | UA74 |
Related actors
- job-feed - Ukrainian and global job aggregation service
- career-site-jobs-scraper - Scrape any company career page
- website-job-extractor - Extract jobs from any URL
- indeed-scraper - Indeed.com job listings
- anofm-ro-scraper - Romania's official government job board (ANOFM)
- trudvsem-ru-scraper - Russia's official government job board
- sepe-es-scraper - Spain's official government job board (SEPE)
Issues
Found a bug or need a feature? Open an issue on the ../../issues.