Robota.ua Scraper — Ukraine Jobs Board Data avatar

Robota.ua Scraper — Ukraine Jobs Board Data

Pricing

from $20.00 / 1,000 result scrapeds

Go to Apify Store
Robota.ua Scraper — Ukraine Jobs Board Data

Robota.ua Scraper — Ukraine Jobs Board Data

Scrape Robota.ua, Ukraine's major jobs board: job title, company, salary (UAH), city, work mode, employment type and full description. Filter by profession keyword and city.

Pricing

from $20.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Robota.ua Scraper — Ukraine Jobs Board

Scrape Robota.ua, one of Ukraine's largest jobs boards, into clean structured data. Job title, company, salary in UAH, city, work mode, employment type, perks and the full description. Filter by profession keyword and, optionally, one Ukrainian city.

Robota.ua carries hundreds of thousands of live vacancies nationwide. This actor reads the public search results and, by default, each vacancy's own detail page for the full record.

What you get

One row per vacancy, with:

  • Salary range in UAH when the employer discloses it, plus the exact text as shown on the page
  • Company name, city, address and metro station text
  • Work mode (on-site / remote / hybrid) and employment type (full-time / part-time / project)
  • Perks and benefits (medical insurance, bonuses, regular salary review, etc.)
  • Full plain-text job description
  • The site's own "hot" urgency badge and relative posted time

Who it is for

  • Recruiters and staffing agencies tracking open roles across Ukraine
  • Salary benchmarking and compensation research for the Ukrainian market
  • Labour-market analysts and NGOs monitoring employment trends
  • Job aggregators and boards that need a Ukraine feed alongside the rest of Europe

How to scrape Robota.ua data

  1. Set Profession / keyword to a Ukrainian job title, e.g. водій (driver), менеджер з продажу (sales manager), кухар (cook), бухгалтер (accountant). Robota.ua resolves this against its own profession dictionary, so a real, common job title works best — a made-up or misspelled keyword returns zero results by design (see Limitations).
  2. Optionally set City to restrict results to one Ukrainian city. Leave empty to search all of Ukraine.
  3. Set Max results to cap the run. Robota.ua returns 9 vacancies per page, so the actor pages through search results until the cap is hit.
  4. Leave Fetch vacancy detail pages on (default) for the full record — address, work mode, employment type, posted time, perks and the full description. Turn it off for a faster listing-only scan with just title, company and salary (when shown on the card). This changes how COMPLETE each record is, not just how many you get.
  5. Run the actor. Results stream into the dataset and can be exported as JSON, CSV or Excel.

Example inputs

Drivers, nationwide:

{
"searchQuery": "водій",
"maxResults": 100
}

Sales managers in Kyiv:

{
"searchQuery": "менеджер з продажу",
"city": "Київ",
"maxResults": 50
}

Fast listing-only scan of accountant vacancies:

{
"searchQuery": "бухгалтер",
"fetchDetails": false,
"maxResults": 200
}

Input reference

FieldTypeDescription
searchQuerystringUkrainian job title / profession. Default водій (driver). Must resolve against Robota.ua's own keyword dictionary — see Limitations.
cityselectOne Ukrainian city, or empty for all of Ukraine.
maxResultsintegerStop after this many vacancies. Default 30, max 2000.
fetchDetailsbooleanOn by default. Opens each vacancy's detail page for address, work mode, employment type, posted time, perks and the full description. Off = a faster listing-only scan with just title, company and salary (when shown on the card) — no address, work mode, employment type, perks or description. This changes how COMPLETE each record is, not just how many you get.
proxyConfigurationobjectRESIDENTIAL + country UA, required (see below).

Output fields

FieldTypeExample
vacancyIdstring"9876543"
companyIdstring"1234567"
titlestring"Водій категорії В"
companystring | null"Нова Пошта"
salaryMinnumber | null48000 (null when not disclosed — very common)
salaryMaxnumber | null69600
salaryCurrencystring"UAH"
salaryRawstring | null"48 000 — 69 600 ₴"
citystring | nullCity input echo
addressstring | null"вул. Хрещатик, 1, м. Хрещатик" (detail page only)
workModestring | null"В офісі/на місці" (detail page only)
employmentTypestring | null"Повна зайнятість" (detail page only)
isHotbooleantrue when the listing carries the "Гаряча" urgency badge
postedRelativestring | null"5 годин тому" (site shows no absolute date)
perksarrayBenefit chips (detail page only)
descriptionstring | nullFull vacancy description (detail page only)
urlstring"https://robota.ua/company1234567/vacancy9876543"
sourcestring"robota.ua"
scrapedAtstringISO 8601 timestamp
searchQuerystring | nullProfession keyword input echo
citySlugstring | nullResolved Robota.ua city URL slug, null for nationwide

Example output

{
"vacancyId": "9876543",
"companyId": "1234567",
"title": "Водій категорії В",
"company": "Нова Пошта",
"salaryMin": 48000,
"salaryMax": 69600,
"salaryCurrency": "UAH",
"salaryRaw": "48 000 — 69 600 ₴",
"city": "Київ",
"address": "вул. Хрещатик, 1, м. Хрещатик",
"workMode": "В офісі/на місці",
"employmentType": "Повна зайнятість",
"isHot": true,
"postedRelative": "5 годин тому",
"perks": ["Медичне страхування", "Регулярний перегляд зарплат"],
"description": "Компанія шукає водія категорії В...",
"url": "https://robota.ua/company1234567/vacancy9876543",
"source": "robota.ua",
"scrapedAt": "2026-08-25T10:00:00.000Z",
"searchQuery": "водій",
"citySlug": null
}

A note on salary

Many Ukrainian job listings do not disclose a salary at all — salaryMin and salaryMax are null in that case, never coerced to 0. This is the market's own norm, not a gap in the scraper. When a salary is shown it is usually a range before tax, sometimes with a note about a possible bonus. Address, work mode, employment type, perks and the full description are only available with fetchDetails on, since none of them appear on the listing card.

Proxy

RESIDENTIAL + country UA is required. Robota.ua sits behind a Cloudflare managed-challenge gate that binds the clearance to the browser's own TLS/JA fingerprint, not just the cookie or the IP — a Ukrainian residential IP driven by a real browser is the only combination that clears it. The actor handles the challenge for you; every listing and detail page is fetched through the same warmed browser session. Do not switch this off.

Cost

Pricing is pay per result. Every result costs one real browser render (listing card) plus, with fetchDetails on, a second browser render for the detail page — there is no plain-HTTP shortcut on this site, so per-result cost is materially higher than a warm-once site. Turning fetchDetails off roughly halves the per-result browser work but drops address, work mode, employment type, perks and the description.

A run's usage cost only settles after it reports SUCCEEDED. A dataset read taken while a run is still in progress shows a cost far below the final figure, so size your spend from a completed run, not a partial one.

Limitations

  • searchQuery must resolve against Robota.ua's own profession dictionary (exact match, not fuzzy). A made-up or misspelled keyword returns a clear error rather than an empty dataset. Any real, common Ukrainian job title works — the dictionary backs the site's own search autocomplete, so it is broad.
  • Salary is null on most listings — see above.
  • City filtering covers the popular cities Robota.ua surfaces on its own homepage. Leave city empty to search nationwide.
  • "Show contacts" details (recruiter phone/email) sit behind a login/apply wall on the site itself and are not scraped. When an employer types a phone number directly into their own description text, the site renders its "Показати контакти" (show contacts) widget inline around it — that phrase can appear inside description in that case. This is the site's own rendering, not scraper noise.
  • The site is Ukrainian-language; field values are returned as published.

Maintained by Studio Amba

We run 700+ scrapers for European websites, and the priority is keeping every one of them working. Automated runs test this actor against the live site and verify the output is complete. When the website changes, the scraper usually gets repaired the same day, without you having to report anything. Questions and issues go straight to the people who built it, and most get an answer the same day.

Need this data on a schedule, or a custom version?

We run this scraper as a managed service for businesses: scheduled runs, deduplication, delta detection, and delivery to your inbox, Google Sheets, or API, maintenance included. We can also build a custom version with your exact fields and filters, or combine multiple sources into one feed.

See studioamba.dev/services or email hello@studioamba.dev for a free data sample.