Robota.ua Scraper
Pricing
from $1.80 / 1,000 results
Robota.ua Scraper
[💰 $1.8 / 1K] Extract job listings from robota.ua, Ukraine's largest job board. Search by keyword and location, filter by experience, work schedule, salary, and remote work, and get structured jobs with titles, companies, salaries, descriptions, contacts, and apply links.
Pricing
from $1.80 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Pull job listings from robota.ua — Ukraine's largest job board — at scale: titles, employers, salary ranges in UAH, work schedules, full descriptions, required skills, recruiter contacts, and map coordinates for every vacancy. Search by keyword and city, narrow with filters, or paste robota.ua URLs directly and let the data come to you as clean, structured rows. Built for Ukrainian recruiters, HR-tech platforms, and labor-market analysts who need fresh robota.ua vacancy data without copy-pasting listings one page at a time.
Why This Scraper?
- 37 structured fields per vacancy — every job is flattened into one tidy row: title, company, salary, schedule, location, geo, description, skills, contacts, apply link, and posting date.
- 9 work-schedule filters — full-time, part-time, remote, internship, project-based, seasonal/temporary, shift work, hybrid, and on-site, each selectable by name (no numeric IDs to look up).
- Salary ranges in UAH with min/max — parsed
salaryMinandsalaryMaxin Ukrainian hryvnia, plus asalaryHiddenflag so you can separate disclosed pay from "salary on request". - Map coordinates on every located job — latitude and longitude, plus city, district, and nearest metro station, ready to plot or geo-filter.
- Full descriptions in text and HTML — both a clean plain-text version and the original formatted HTML, alongside listed skills and listing badges.
- Recruiter contacts extracted for you — contact person, phone, and email, plus any emails, phones, and social profiles (LinkedIn, Telegram, Viber, Facebook) pulled straight from the listing.
- Keyword + city search in any language — search "developer", "менеджер", or "бухгалтер" and filter by Ukrainian city names like Kyiv, Lviv, or Odesa; each keyword runs its own search.
- Paste robota.ua URLs directly — drop in any search-result or individual vacancy URL and the filters baked into that link are respected exactly.
- Deduplicated by vacancy ID — each job is returned once even when it appears across multiple pages or overlapping keyword searches.
Use Cases
Recruitment & Sourcing
- Build candidate-facing job feeds for a niche, city, or industry
- Pull recruiter contact details to reach hiring managers directly
- Track which employers are actively hiring for a given role
- Mirror a dialed-in robota.ua search and refresh it on a schedule
Labor-Market Research
- Map vacancy volume by city, district, and work schedule
- Measure remote vs. on-site vs. hybrid demand across Ukraine
- Track entry-level hiring with the no-experience filter
- Spot which skills employers ask for most in a profession
Salary Benchmarking
- Compile UAH salary ranges by role and region
- Compare disclosed vs. undisclosed pay across employers
- Benchmark min/max offers for a job title over time
- Feed compensation models with structured salary data
Job-Board Aggregation
- Power a vertical job aggregator or meta-search with fresh listings
- Sync new vacancies into your own database or ATS
- Keep a curated board updated with deduplicated postings
Lead Generation for HR-Tech
- Identify companies posting many roles as outreach targets
- Capture verified-employer signals for account scoring
- Build prospect lists of actively hiring organizations
Getting Started
Search by Keyword
The simplest run — one keyword across all of Ukraine:
{"keywords": ["developer"],"maxResults": 100}
Keyword + City with Filters
Remote developer roles in Kyiv paying at least 50,000 UAH:
{"keywords": ["developer", "data analyst"],"location": "Kyiv","employmentType": ["remote"],"minSalary": 50000,"maxResults": 200}
Paste robota.ua URLs
Already have a search tuned on the website? Paste the link — search and vacancy URLs both work:
{"startUrls": ["https://robota.ua/zapros/developer/ukraine","https://robota.ua/company123456/vacancy7654321"],"includeDescription": true,"maxResults": 300}
Input Reference
Search
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | array | ["developer"] | Job titles, roles, or keywords to search for (e.g. "developer", "менеджер", "accountant"). Each keyword runs its own search. Up to 50 per run. |
location | string | "" | City or region to search in (e.g. "Kyiv", "Lviv", "Odesa"). Leave empty to search all of Ukraine. |
startUrls | array | [] | Paste full robota.ua search-result or individual vacancy URLs to collect them directly. Any filters baked into the URL are respected. Up to 50 per run. |
Filters & Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
noExperienceOnly | boolean | false | When on, only show jobs open to candidates with no prior experience (entry-level roles). |
employmentType | array | [] | Only return jobs with these work schedules: Full-time, Part-time, Remote, Internship, Project-based, Seasonal / Temporary, Shift work, Hybrid, On-site. Leave empty for all. |
remoteOnly | boolean | false | Only show jobs that can be done remotely. |
minSalary | integer | null | Only show jobs offering at least this monthly salary in UAH. Jobs without a disclosed salary are excluded when this is set. |
maxResults | integer | 100 | Maximum listings to collect per keyword (or per start URL). Set to 0 to collect all available results. |
onlyUniqueJobs | boolean | true | Return each job once even if it appears across several pages or searches. Deduplicates by vacancy ID. |
Output
| Parameter | Type | Default | Description |
|---|---|---|---|
includeDescription | boolean | true | Include the full job description (text and HTML), plus contact info, skills, industry, geo, and company verification from each vacancy page. Turn off for lighter, faster records — note the description-only fields (including industry, companyUrl, companyVerified, contacts and geo) are empty when off. |
Output
Each job is one flat row. Example (trimmed for readability):
{"jobId": "7654321","title": "Python Developer","company": "Tech Solutions LLC","companyId": "123456","companyUrl": "https://robota.ua/company123456","companyVerified": true,"industry": "IT, computers, internet","location": "Kyiv","city": "Kyiv","district": "Pecherskyi","metro": "Pecherska","address": "vul. Khreshchatyk, 1","latitude": 50.4501,"longitude": 30.5234,"salary": "60000-90000 UAH","salaryMin": 60000,"salaryMax": 90000,"salaryCurrency": "UAH","salaryHidden": false,"employmentType": "Full-time, Remote","experienceLevel": null,"isRemote": true,"isHot": true,"description": "We are looking for an experienced Python developer...","descriptionHtml": "<p>We are looking for an experienced Python developer...</p>","skills": ["Python", "Django", "PostgreSQL"],"badges": ["Verified employer"],"contactPerson": "Olena Koval","contactPhone": "+380 67 123 4567","contactEmail": "hr@techsolutions.ua","extractedEmails": ["hr@techsolutions.ua"],"extractedPhones": ["+380 67 123 4567"],"socialProfiles": { "telegram": "https://t.me/techsolutions_hr" },"applyUrl": "https://robota.ua/company123456/vacancy7654321","jobUrl": "https://robota.ua/company123456/vacancy7654321","postedDate": "2026-06-10T09:30:00Z","searchQuery": "developer","scrapedAt": "2026-06-13T12:00:00Z"}
Core Fields
| Field | Type | Description |
|---|---|---|
jobId | string | robota.ua vacancy ID (the deduplication key). |
title | string | Vacancy title. |
employmentType | string | Work schedule(s), e.g. "Full-time, Remote". |
experienceLevel | string | Required experience band (not published by robota.ua; always empty). |
isRemote | boolean | True when the job can be done remotely. |
isHot | boolean | True for "hot" / featured listings. |
postedDate | string | Publication date (ISO timestamp when available). |
searchQuery | string | The keyword or URL that produced this row. |
scrapedAt | string | ISO timestamp of when the row was collected. |
Company
| Field | Type | Description |
|---|---|---|
company | string | Employer / company name. |
companyId | string | Company ID on robota.ua. |
companyUrl | string | Company profile URL. |
companyVerified | boolean | Whether the employer is verified. |
industry | string | Employer's industry / job category (e.g. "IT, computers, internet"). Populated when full descriptions are fetched. |
Salary
| Field | Type | Description |
|---|---|---|
salary | string | Human-readable salary label (e.g. "60000-90000 UAH"). |
salaryMin | number | Parsed minimum salary. |
salaryMax | number | Parsed maximum salary. |
salaryCurrency | string | Currency (UAH when an amount is disclosed). |
salaryHidden | boolean | True when the salary is not disclosed. |
Location & Geo
| Field | Type | Description |
|---|---|---|
location | string | Free-text location label for the job. |
city | string | City name. |
district | string | District (raion) when present. |
metro | string | Nearest metro station when present. |
address | string | Street address when present. |
latitude | number | Latitude when present. |
longitude | number | Longitude when present. |
Description & Skills
| Field | Type | Description |
|---|---|---|
description | string | Full job description in plain text. |
descriptionHtml | string | Full job description in original HTML. |
skills | array | Listed skills and tags. |
badges | array | Listing badges (e.g. verified employer). |
Contacts & Links
| Field | Type | Description |
|---|---|---|
contactPerson | string | Recruiter / contact name when present. |
contactPhone | string | Contact phone when present. |
contactEmail | string | Contact email when present. |
extractedEmails | array | Emails found in the listing. |
extractedPhones | array | Phone numbers found in the listing. |
socialProfiles | object | Detected social links (LinkedIn, Telegram, Viber, Facebook, etc.). |
applyUrl | string | Apply / "respond" URL. |
jobUrl | string | Canonical vacancy URL. |
Tips for Best Results
- Spell Ukrainian city names the way robota.ua shows them. Both "Kyiv" and the Cyrillic "Київ" resolve, as do "Lviv"/"Львів" and "Odesa"/"Одеса" — but a misspelled city quietly falls back to all of Ukraine.
- Mirror a tuned website search with
startUrls. Set your filters on robota.ua, copy the address-bar URL, and paste it in — schedule and experience filters baked into the link are honored exactly. - Setting
minSalaryhides "salary on request" jobs. A salary floor excludes every listing that doesn't disclose pay, so leave it empty if you want undisclosed-salary postings too. - Turn off
includeDescriptionfor fast, lightweight runs. When you only need titles, companies, locations, salaries, and apply links, skipping the full description makes each run faster and leaner. - Use multiple keywords to cover synonyms. "developer", "розробник", and "програміст" surface different listings; add them all and
onlyUniqueJobskeeps the merged result clean. - Set
maxResultsto 0 to sweep an entire search. Useful for full market snapshots; the run stops once a search is exhausted. - Filter for entry-level talent with
noExperienceOnly. robota.ua offers a single no-experience flag rather than graduated bands, so this is the way to isolate junior and internship-friendly roles.
Pricing
From $1.80 per 1,000 results — flat, pay-only-for-what-you-collect pricing that undercuts comparable robota.ua data tools. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.22 | $0.20 | $0.19 | $0.18 |
| 1,000 | $2.15 | $2.00 | $1.90 | $1.80 |
| 10,000 | $21.50 | $20.00 | $19.00 | $18.00 |
| 100,000 | $215.00 | $200.00 | $190.00 | $180.00 |
A "result" is one job row pushed to your dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n — Workflow automation
- Google Sheets — Direct spreadsheet export
- Slack / Email — Notifications on new results
- Webhooks — Trigger custom workflows on run completion
- Apify API — Full programmatic access
Legal & Ethical Use
This scraper collects publicly available job-listing data for legitimate business purposes such as recruitment, market research, and analytics. You are responsible for using the collected data in compliance with robota.ua's terms of service, applicable data-protection laws (including the GDPR where it applies), and any restrictions on processing personal data such as recruiter contact details. Use the data responsibly, respect individuals' privacy, and do not use it for spam or unsolicited outreach that violates local regulations.