Úřad práce Scraper ($0.95/1K): Czech Labour Office Jobs
Pricing
from $0.75 / 1,000 vacancies
Úřad práce Scraper ($0.95/1K): Czech Labour Office Jobs
All Czech Labour Office vacancies (Úřad práce, MPSV open data) with salary, region, profession, shifts and foreigner flags. Track new, changed and filled jobs. Optional ARES company data. Unofficial.
Pricing
from $0.75 / 1,000 vacancies
Rating
0.0
(0)
Developer
Tomáš Buchta
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Features
Share
Úřad práce Scraper: Czech Labour Office Jobs (MPSV)
Get every job vacancy registered at the Czech Labour Office (Úřad práce ČR) as clean structured data, straight from the official MPSV open data that are published every night: about 40 000 vacancies with 105 000 open positions, many of them never advertised on commercial job boards. Filter by keywords, regions, districts and municipalities, CZ-ISCO profession codes, salary, employment type (full-time, part-time, DPP, DPČ), shift pattern, education, benefits and vacancies open to foreigners (non-EU citizens, employee card, EU Blue Card). For each vacancy you get the title, employer with its IČO, place of work with region (kraj) and district (okres), salary for every vacancy (with monthly and hourly equivalents), contract types, hours, shifts, required education, languages and skills, benefits, number of open positions and a link to the vacancy on the official portal.
Built for watching the labour market: schedule it daily in monitoring mode and you get, and pay for, only vacancies that are new or changed, plus, if you want, the vacancies that disappeared (filled or withdrawn) and how many days they were open. Every run also saves a free market summary (salary median and quartiles by region and field, top employers). Optional company data from ARES, the public Czech business register (legal form, size, main activity), found exactly by the IČO, for an extra charge.
Source: MPSV / Úřad práce ČR open data (data.mpsv.cz, dataset "Volná místa za celou ČR"). Unofficial tool, not affiliated with MPSV or the Labour Office.
Česky: Volná pracovní místa Úřadu práce ČR z otevřených dat MPSV (denně aktualizovaný celostátní registr): mzda u každé nabídky, firma a IČO, profese CZ-ISCO, obec a kraj, úvazek, směny, vzdělání, vhodnost pro cizince (zaměstnanecká a modrá karta). Filtry, monitoring a volitelně údaje z ARES. Výstup do Excelu, CSV nebo JSON. Podporu poskytujeme i česky.
Why use this Úřad práce scraper?
- 🏛️ The official register, complete. All vacancies the Labour Office publishes, read from the MPSV open data file in one go: no website scraping, no pagination limits, no proxy, the same data the public portal shows.
- 💰 A salary for every vacancy. Employers must give a salary to the Labour Office, so every row has
salaryMin(and oftensalaryMax), monthly or hourly, plus monthly and hourly equivalents. Amounts that don't fit their period (34 000 "per hour") are kept but not converted. - 🗺️ Codes translated to names. Municipalities, districts, regions, CZ-ISCO professions, fields of activity, contract types, shifts, education, skills, languages and benefits come as readable names (official MPSV/ČSÚ code lists built into the actor), and as stable English values for filtering.
- 🌍 Vacancies for foreigners. Flags for vacancies open to non-EU citizens, in the employee card register (zaměstnanecká karta) or the EU Blue Card register, and for employers looking for EU workers, with a filter.
- 🕑 Shift pattern, hours and positions. Single, two, three or four shifts, continuous operation, night, flexible hours; hours per week; how many people the employer is hiring.
- 📬 Monitoring mode: a daily feed of new and changed vacancies (
changeType), optionally with removed vacancies (removedAt,daysOnline) to see how fast positions are filled. - 📊 Free market summary after every run (
SUMMARYrecord): median and quartiles of monthly salary overall, by region and by field, top 20 employers, employment types, regions, number of open positions. - 🏢 Company data from ARES (optional, extra charge): legal form, registered office, employee count range, main activity (CZ-NACE), founding date, matched by the IČO (no guessing by name).
- 🔒 Privacy first. Contact persons only if you turn them on (off by default); e-mails and phone numbers in the free text are replaced and the contact person's name is masked; employers that are private persons (sole traders) are never named.
- ⚡ Fast and cheap: the whole register is one ~18 MB download; a run that needs 20 vacancies stops reading after the first megabyte or two.
What data can you get?
| Field | Example |
|---|---|
| Title, employer, IČO | Řidič/ka sk. C+E, POSPIECH SD, s.r.o., 26838869 |
| Place of work | Ostrava, district Ostrava-město, region Moravskoslezský kraj; street Luční 1210/20, postal code 72100, city part Svinov (cityDistrict e.g. "Praha 3") |
| Salary | 30 000 – 45 000 CZK per month (monthly 30 000 – 45 000, hourly 187.5 – 281.25) |
| Contract | fullTime, employee ("Pracovní poměr - plný úvazek"); DPP, DPČ; 40 hours per week |
| Shifts, positions | twoShifts ("Dvousměnný provoz"), 2 open positions |
| Profession | CZ-ISCO 83322 "Řidiči tahačů", field "Doprava" |
| Requirements | education "Střední odborné (vyučen)" (level apprenticeship), languages "Angličtina (aktivní)", skills "Řidičský průkaz sk. C" |
| Foreigners | openToNonEuForeigners, employeeCard, blueCard, euWorkersWanted |
| Benefits | "Podnikové stravování: stravenky", "Dovolená navíc: 5 týdnů" |
| Dates | posted 2026-05-05, start 2026-06-01, fixed-term until, last change |
| Description | the employer's free text, e-mails, phone numbers and the contact person's name removed |
| Labour office | Krajská pobočka pro hlavní město Prahu |
| With Add company data from ARES | Společnost s ručením omezeným, 25-49 employees, 43210 Elektrické instalace, founded 2001-06-27 |
| With Monitoring: include removed vacancies | changeType removed (removedAt, firstSeenAt, lastSeenAt, daysOnline) and reappeared |
See the Output tab for all fields. The dataset has views for Overview, Salaries, Companies, Foreign workers, Requirements, Places, Monitoring and Removed vacancies.
How to get Czech Labour Office vacancies
- Choose what you need: Keywords (e.g.
řidič,svářeč,účetní), Regions, Districts or Municipalities, and any Job filters (profession codes, salary, employment type, shifts, education, foreigners, benefits...). Empty input = the most recently changed vacancies of the whole country. - Set Max vacancies (0 = no limit) and the order (Sort by), and turn on Add company data from ARES if you need it.
- Click Start and download the results as JSON, CSV or Excel, or use the API. The market summary is in the Storage → Key-value store tab as
SUMMARY(and in the Output tab).
Use cases
New vacancies for drivers in Prague every morning
Save this input as a task, add a Schedule (daily, the data are updated every night) and connect an integration (e-mail, Slack, Google Sheets, Make, Zapier or a webhook). Each run returns only vacancies that are new or changed.
{"keywords": ["řidič"],"regions": ["praha"],"maxItems": 0,"onlyNewOrChanged": true}
Vacancies open to foreign workers with accommodation
{"foreigners": ["employeeCard"],"benefits": ["accommodation"],"sortBy": "positions","maxItems": 500}
Salary research for a profession group
All software developers (CZ-ISCO 2512) in the country, highest salary first; the free SUMMARY record has the median and quartiles by region.
{"professionCodes": ["2512"],"sortBy": "salary","maxItems": 0}
Filled vacancies and time to fill
Run daily with removed vacancies turned on. Vacancies that are no longer in the data come back as rows with changeType: "removed", removedAt and daysOnline (days from posting to the last run that still saw the vacancy).
{"districts": ["Brno-město", "Brno-venkov"],"maxItems": 0,"onlyNewOrChanged": true,"includeRemovedJobs": true}
Shift work in manufacturing, apprenticeship at most, posted this week
{"categories": ["Výroba a provoz"],"shiftPatterns": ["twoShifts", "threeShifts", "continuous"],"maxEducation": "apprenticeship","postedWithinDays": 7,"maxItems": 200}
Hiring employers with company data
{"municipalities": ["Plzeň"],"employerType": "directEmployer","includeCompanyInfo": true,"maxItems": 100}
Filters (all applied by the actor; filtered-out vacancies are free)
| Input | What it does |
|---|---|
| Keywords, Exclude keywords | words in the job title or the CZ-ISCO profession name, at the start of a word; typed with diacritics they must match them (řidič does not find řídící), typed without any accents match (ridic finds řidič) |
| Regions, Districts, Municipalities | the place of work; a vacancy in any of the given places is kept. Include vacancies for the whole country adds those whose place of work is the whole Czech Republic |
| Profession codes (CZ-ISCO) | code prefixes: 8332 truck drivers, 2512 software developers, 25 ICT professionals, 93 labourers |
| Categories | field of activity of the profession (obor činnosti, MPSV code list): Doprava, Výroba a provoz, Zdravotnictví... |
| Minimum salary (CZK per month) | top of the salary range at least this much (hourly × 160) |
| Employment type | full-time, part-time, DPP, DPČ, civil service |
| Shift pattern | single, two, three, four shifts, split shifts, continuous, night, flexible hours, rotation |
| Education: at least / at most | the minimum education the employer requires, from none to doctorate |
| Suitable for foreigners | open to non-EU citizens, employee card, EU Blue Card |
| Suitable for | graduates, under 18, people with disabilities, wheelchair users, asylum holders |
| Benefits | accommodation, meals, extra holiday, bonuses, travel, kindergarten... |
| Employer type, Public sector | direct employers or employment agencies (agentury práce); civil service and local government positions |
| Posted / Changed in the last N days | by the date the vacancy was entered or last changed |
| Employer IČO, Exclude employer IČO, Company name contains, Exclude company names | by employer |
| Vacancy IDs or URLs | only these vacancies (check whether they are still open) |
Monitoring mode explained
With Monitoring: only new or changed vacancies each run compares the matching vacancies with the previous run that used the same Monitoring: key. A vacancy is returned as changeType: "new" when it wasn't seen before, or "updated" when its title, employer, salary, place, contract, hours, shifts, number of positions or education changed (changedFields says which of title, salary and positions). The Labour Office touches many vacancies every night (the "last changed" date), and employers edit their texts; neither counts as a change. Vacancies not seen for 90 days are forgotten. Use one key per watched search, and keep the same filters for that key.
Monitoring: include removed vacancies adds vacancies from the previous run that are no longer in the Labour Office data (filled, withdrawn or expired), with their last known title, employer, place, salary and URL, changeType: "removed", firstSeenAt, lastSeenAt, removedAt and daysOnline. Each removed vacancy is reported once; if it comes back, it is returned once as "reappeared". A vacancy that is still in the data but no longer matches your filters is not reported as removed. Removed vacancies are checked only when the run read the whole file: keep Max vacancies at 0 (or high enough). Removed rows are normal dataset rows and are charged like any other vacancy.
Market summary (SUMMARY)
Every run writes a free JSON record SUMMARY to the run's default key-value store (link in the Output tab). It covers all vacancies the run found that match your filters (in monitoring mode also the unchanged ones), each once.
| Key | Content |
|---|---|
counts | vacancies in the data, matched, saved, open positions; in monitoring mode new, updated, unchanged, removed and reappeared |
salary | monthly CZK median and quartiles (p25, median, p75) overall, byRegion and byCategory (groups of at least 5 vacancies) |
topCompanies | top 20 employers by number of vacancies |
employmentTypes, regions, workArrangement | number and share per value |
data | which MPSV file was read, when MPSV published it, bytes downloaded |
The monthly figure of a vacancy is the middle of its salary range; hourly wages count as 160 hours per month. The summary contains no personal data: employers only (never private persons), no contacts, no descriptions.
Company data from ARES (optional, extra charge)
With Add company data from ARES (extra charge) the actor looks up each employer in ARES (Administrativní registr ekonomických subjektů), the public register of the Ministry of Finance of the Czech Republic (ares.gov.cz), by the IČO given in the Labour Office data, and adds companyIco, companyLegalForm, companyAddress (registered office), companyEmployeeRange (e.g. 25-49), companyNace (main activity) and companyFoundedAt, with companyInfoSource: "ARES", companyInfoMatch: "ico" and companyInfoRetrievedAt.
- Off by default. Without this option the actor never contacts ARES.
- Exact: the IČO comes from the Labour Office, so there is no name matching. For an employment agency the data describe the agency (the employer in the data).
- No private persons. When ARES says the employer is a natural person (a sole trader), nothing from ARES is returned and the vacancy's employer name, IČO and address are removed too.
- Each IČO is looked up once per run, one request at a time (at most about 60 per minute), always directly. Results are kept for 30 days in a key-value store
urad-prace-ares-cachein your account (sole traders are never stored). If ARES is unavailable or limits requests, vacancies are saved without company data and the status message says so. - Price: you pay the Company info event only for saved vacancies that got company data. Your maximum cost per run is respected.
- About 1–2 seconds per new employer, so a run with company data takes longer.
This actor is not affiliated with or endorsed by the Ministry of Finance of the Czech Republic.
Contact person and privacy (optional, personal data)
Include contact person (personal data) adds recruiterName, recruiterPhone and recruiterEmail: the person the employer named for applicants, as the Labour Office portal shows it. Off by default.
- When not. Never for employers that look like a private person (also when ARES says so), for vacancies published without employer data, or for people who asked to be left out. No list of contact persons, no count per person, no contact in the
SUMMARYrecord. - Nothing is kept by the actor. Contacts go only into your run's dataset: never into the monitoring state, the ARES cache, the
SUMMARYrecord or the log. A change of the contact person doesn't count as a change in monitoring mode. No extra charge. - You are the data controller (GDPR). You need your own legal basis, typically a legitimate interest, and only for responding to that specific vacancy (e.g. as an applicant or on an applicant's behalf).
- No marketing. In Czechia, commercial e-mails and SMS without prior consent are prohibited (Act No. 480/2004 Coll., § 7), also to business addresses, and marketing calls need consent (Act No. 127/2005 Coll., § 96). Don't use the contacts for marketing, don't resell them and don't build contact databases from them.
- Inform and delete. Tell the person who you are, why you contact them and where you got the contact (Labour Office vacancy), and that they may object (Art. 14 GDPR). Delete a dataset with contacts as soon as you no longer need it.
- To be left out of future results: open an issue in the Issues tab of this actor in Apify Store, or write to Apify's privacy contact privacy@apify.com.
How much does it cost to get Úřad práce vacancies?
Pay per result, see the Pricing tab for the current prices and discounts for higher Apify plans:
| What | Price |
|---|---|
| Vacancy (every saved row, including removed vacancies in monitoring mode) | $0.95 per 1 000 vacancies ($0.89 Bronze, $0.85 Silver, $0.75 Gold and higher Apify plans) |
| + Company info (only vacancies that got company data from ARES) | +$1.00 per 1 000 vacancies |
| Contact person (optional) | no extra charge |
Filtered-out vacancies, unchanged vacancies in monitoring mode, the SUMMARY record | free |
There is also a start fee of $0.005 per run (half a cent): every run reads the Labour Office file, so a daily check that finds only a few new vacancies still covers its cost. Example: a daily monitoring run with 3 new vacancies costs $0.005 + 3 × $0.00095 ≈ $0.008, about $0.24 a month.
Platform usage is included. Typical runs (512 MB):
| Scenario | Data downloaded | Typical time |
|---|---|---|
| 20 vacancies (most recently changed, with filters) | ~1–2 MB | a few seconds |
| 100 vacancies sorted by salary (whole file read) | ~18 MB | about a minute |
| The whole register (~40 000 vacancies) | ~18 MB | 1–3 minutes |
| Daily monitoring of a search, whole file read | ~18 MB | about a minute |
Input example
{"keywords": ["řidič"],"regions": ["praha"],"maxItems": 20}
Output example
{"id": "uradprace:67256333","source": "up.gov.cz","url": "https://up.gov.cz/volna-mista-v-cr#/volna-mista-detail/67256333","jobId": "67256333","referenceNumber": "33083960721","title": "Řidič/ka sk. C+E","company": "POSPIECH SD, s.r.o.","companyId": "26838869","isAgency": false,"publicSector": false,"employerUrl": null,"location": "Ostrava","locations": ["Ostrava"],"region": "Moravskoslezský kraj","district": "Ostrava-město","regions": ["Moravskoslezský kraj"],"locationType": "workplaceAddress","municipalityCode": "554821","districtCode": "3807","streetAddress": "Luční","houseNumber": "1210/20","postalCode": "72100","cityPart": "Svinov","cityDistrict": "Svinov","workplaceName": "POSPIECH SD, s.r.o.","workplaceAddress": null,"workArrangement": "onsite","salaryMin": 70000,"salaryMax": null,"salaryCurrency": "CZK","salaryPeriod": "month","salaryMonthlyMin": 70000,"salaryMonthlyMax": null,"salaryHourlyMin": 437.5,"salaryHourlyMax": null,"employmentType": ["fullTime"],"contractTypes": ["employee"],"contractTypeNames": ["Pracovní poměr - plný úvazek"],"hoursPerWeek": null,"shiftPattern": "continuous","shiftPatternName": "Nepřetržitý provoz","positions": 2,"education": "Základní + praktická škola","educationLevel": "elementary","educationFields": [],"languagesRequired": [],"skills": [],"experienceIn": [],"professionCode": "83322","profession": "Řidiči tahačů","categories": ["Doprava"],"suitableFor": ["graduates"],"openToNonEuForeigners": true,"employeeCard": true,"blueCard": false,"euWorkersWanted": true,"benefits": [],"benefitTypes": [],"startDate": "2026-06-01","endDate": null,"postedAt": "2026-05-05","updatedAt": "2026-11-05T22:01:44Z","validThrough": null,"labourOffice": "Kontaktní pracoviště Ostrava","labourOfficeCode": "OTA","description": "83322 Řidiči tahačů\nZamK\nKontakt e-mailem, telefonicky.\nNáplň práce:\n- řízení a nakládání nákladního vozidla nad 3,5 t…","changeType": null,"firstSeenAt": null,"changedFields": null,"lastSeenAt": null,"removedAt": null,"daysOnline": null,"scrapedAt": "2026-11-06T10:00:00Z"}
Limitations
- What the Labour Office has. The data contain the vacancies employers registered at the Labour Office (by law or voluntarily). Many of them are also on commercial job boards, many are not; office and IT jobs are fewer than on Jobs.cz or Prace.cz, manual, driving, care and shift work more.
- Updated once a day. MPSV publishes the file every night (around midnight); vacancies added during the day appear the next morning. The status message and
SUMMARYsay which version a run read. The actor reads the compressed copy of the file and switches to the uncompressed one (about 10× more data) when the compressed copy is older than the data. - Salary is given for every vacancy, but often only as the bottom of the range (in our sample
salaryMaxwas set for about 40 %), frequently at the minimum wage. - Region and district are known for about 98.7 % of vacancies with a place of work; the rest gave neither an address nor a recognisable place. Vacancies for the whole country have no region.
- Work arrangement (
hybrid,remote) is read from the ad text, because the Labour Office form has no field for it: under 1 % of vacancies mention home office. - Employer names that look like a private person (sole traders, about 6 % of vacancies) are returned as
nulltogether with their IČO, website and workplace address; municipality, district and region stay. A name counts as a person when it has the shape of a personal name and a given name, a Czech female surname or an academic title; in a random sample of 80 of the 1 662 hidden names (of 18 000 employers) all were people, mostly sole traders. 22 vacancies (0.06 %) are published by the Labour Office without employer data at all. - Descriptions are written by employers and may mention other people by name; e-mails, phone numbers and the named contact person are removed, other names in the free text are not. Use descriptions for analysis, not for republishing.
- Removed vacancies are checked only after a run that read the whole file; see Monitoring mode explained.
- If the download breaks, it is resumed where it stopped (up to 3 times); if the file can't be read to the end, the run keeps what it read and says that the results may be incomplete.
For AI agents and API users
- Minimal input:
{"keywords": ["řidič"], "regions": ["praha"], "maxItems": 20};{}returns the 100 most recently changed vacancies. - One row = one vacancy = one charge.
includeCompanyInfo: trueadds the Company info charge only for rows withcompanyInfoSource: "ARES". maxItemscounts saved rows. WithsortBy: "recentlyChanged"(the default) the run stops reading once it has enough; other orders read the whole file.- Enum values:
employmentType⊂fullTime,partTime;contractTypes⊂employee,dpp,dpc,civilService;shiftPattern∈singleShift,twoShifts,threeShifts,fourShifts,splitShifts,continuous,night,flexibleHours,rotation,unspecified;educationLevel∈none,elementary,lowerSecondary,apprenticeship,maturita,higherVocational,bachelor,master,doctorate;salaryPeriod∈month,hour;changeType∈new,updated,removed,reappeared;regionsinput ⊂praha,stredocesky-kraj,jihocesky-kraj,plzensky-kraj,karlovarsky-kraj,ustecky-kraj,liberecky-kraj,kralovehradecky-kraj,pardubicky-kraj,kraj-vysocina,jihomoravsky-kraj,olomoucky-kraj,zlinsky-kraj,moravskoslezsky-kraj. - Field names match the Jobs.cz and Prace.cz scrapers of the same author where they overlap (
title,company,location,region,district,salary*,employmentType,contractTypes,categories,postedAt, monitoring fields), so the datasets can be merged.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("<username>/urad-prace-scraper").call(run_input={"keywords": ["svářeč"],"regions": ["moravskoslezsky-kraj"],"maxItems": 100,})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["title"], job["company"], job["district"], job["salaryMin"], job["url"])summary = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("SUMMARY")["value"]print(summary["salary"]["monthlyCzk"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('<username>/urad-prace-scraper').call({keywords: ['řidič'], regions: ['praha'], maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((j) => `${j.title} (${j.company}, ${j.salaryMin} CZK)`));
You can also connect the actor to Make, Zapier, n8n, Google Sheets, Slack, e-mail or webhooks and schedule it in Apify Console.
Troubleshooting
| Status message | What to do |
|---|---|
"Regions": unknown region | Use one of the listed values, e.g. praha, jihomoravsky-kraj. |
"Districts": unknown district | Use the district (okres) name, e.g. Brno-venkov, Praha-východ; the message suggests similar names. |
"Municipalities": unknown municipality | Use the official name (Mladá Boleslav, not MB) or the 6-digit ČSÚ code. |
Saved 0 vacancies (new or changed since last run…) | Nothing changed since the previous monitoring run; that's expected. |
removed vacancies were not checked because the run stopped reading at Max vacancies | Set Max vacancies to 0 (or high enough). |
the compressed copy … was older than the data file, so the uncompressed file was read | Nothing to do: the run used the newest data (a larger download). |
the data file could not be read to the end …, so the results may be incomplete | data.mpsv.cz broke the connection; run it again for complete results. |
The Labour Office data could not be downloaded from data.mpsv.cz | The MPSV server is not available; try again later. |
company info unavailable for the rest of the run: ARES rate limit | ARES limited requests; the vacancies were saved without company data and without the extra charge. Try again later. |
More Czech job scrapers
The same output format for the other Czech job sources (many jobs are published on several of them):
- Czech Jobs Aggregator: all these Czech job boards in one run: duplicates merged, one output format, monitoring
- Jobs.cz Scraper: Czech jobs with salary, region, requirements, monitoring and optional ARES company data
- Prace.cz Scraper: Czech jobs with salary, region, monitoring and optional ARES company data
- Pracezarohem.cz Scraper: jobs near a town (GPS distance search) from all big Czech job sources, with the portal of every ad
- JenPráce.cz Scraper: Czech jobs and side jobs with salary, own ads told apart from Labour Office vacancies
- StartupJobs.cz Scraper: IT and startup jobs with salary, technologies, seniority, remote work, company profiles and an IT market overview
- Profesia.sk & .cz Scraper: Slovak and Czech jobs from Profesia with salary, region and monitoring
- Fajn-brigady.cz & INwork.cz Scraper: Czech temporary and part-time jobs from two websites: hourly wage, town, start date, monitoring
- GastroJobs.cz Scraper: Czech hotel, restaurant and catering jobs: salary, type of venue, employer company ID, monitoring
Custom scrapers and changes
Need a custom version of this actor, another field or filter, or a scraper for a different website? Write to info@tsutsei-software.com with the website, the data you need and how often, and we will reply with a fixed quote. We work mainly with clients from the Czech Republic and from outside the EU.
More about us and all our actors: tsutsei-software.com.
FAQ
Is it legal to use the Labour Office data?
Yes. The vacancies are open data of the Ministry of Labour and Social Affairs (MPSV), published for reuse; according to MPSV's terms of use they are not protected by copyright and there is no database right in them. The actor downloads the published file once per run, without logging in and without any load on the Labour Office's portal. The data contain personal data (the contact person of a vacancy, names and phone numbers in the free text, employers who are private persons): the actor leaves them out by default, as described above, and if you turn on Include contact person (personal data) you are responsible for using the contacts lawfully. If unsure, consult a lawyer.
Where do the data come from?
Source: MPSV / Úřad práce ČR open data ("Volná místa za celou ČR", data.mpsv.cz), updated every night. Each vacancy links to its page on the Labour Office portal (up.gov.cz). Code lists (municipalities, districts, regions, CZ-ISCO, education, shifts...) are the open MPSV and ČSÚ code lists, built into the actor.
How fresh are the data?
As fresh as the MPSV file: it is regenerated every night, so a run in the morning has yesterday's vacancies. The SUMMARY record (data.lastModified) says when the file the run read was published.
Do I need a proxy?
No. The actor downloads one open-data file; no proxy is used.
Does it scrape Jobs.cz or Prace.cz too?
No, only the Labour Office register. For those job boards use the scrapers linked above; the field names are the same.
Can I get the contact person's phone number?
Only if you turn on Include contact person (personal data): the name, phone and e-mail of the person the employer named for applicants, never for private employers. These are personal data: use them only to respond to that specific vacancy, never for marketing (see Contact person and privacy).
Something doesn't work
Open an issue in the Issues tab and include the input you used.
This is an unofficial tool, not affiliated with or endorsed by the Ministry of Labour and Social Affairs of the Czech Republic (MPSV), the Labour Office of the Czech Republic (Úřad práce ČR) or the Ministry of Finance of the Czech Republic. It is also known as a Úřad práce API, Czech Labour Office vacancies API, "volná místa Úřad práce", "volná pracovní místa MPSV" or "nabídky práce ÚP ČR".