Prace.cz Scraper
Pricing
from $0.79 / 1,000 results
Prace.cz Scraper
Scrape Prace.cz, a leading Czech job board. Filter by keyword, location, employment type, age and salary. Full descriptions, structured salary in CZK, city, postal code, coordinates, expiry date, and repost detection. No API key required.
Pricing
from $0.79 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
11
Total users
5
Monthly active users
14 days ago
Last modified
Categories
Share

Extract job listings from Prace.cz, one of the largest job boards in Czechia, in a clean, consistent structure ready for analysis, job boards, recruiting tools and market research. No API key required.
Why this scraper?
🎯 Built for Czechia
A dedicated Czech scraper, not a global tool with a country dropdown. Search, locations and currency (CZK) are tuned for Prace.cz.
📄 Complete job data
Full job title and description in HTML, plain text and Markdown, the direct listing URL, the publish date and the expiry date for every record.
💶 Structured salary
Minimum, maximum, pay period and currency, parsed from the employer's own structured data in CZK. Jobs without a published salary are returned as null, never guessed.
🏢 Company
The hiring company name for every listing.
📍 Precise location
City, postal code, street and country, plus latitude and longitude, so listings drop straight onto a map or into a geo filter.
🔁 Repost & change detection
Every record carries isRepost and changeStatus, so daily feeds return genuinely new or updated jobs instead of reposted duplicates.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "" | Search keyword, e.g. developer or účetní. Leave empty to return all listings. |
location | string | "" | City or region slug as it appears in Prace.cz URLs, e.g. praha, brno, ostrava. Leave empty to search all of Czechia. |
employmentType | string | "all" | Filter by employment type: all, plny-uvazek (full-time) or zkraceny-uvazek (part-time). |
daysOld | integer | 0 | Return only jobs published within this many days. 0 means no age limit. Enables detail fetch automatically. |
minSalaryCzk | integer | 0 | Drop jobs whose published salary is below this amount. Jobs without a published salary are kept. Enables detail fetch automatically. |
skipReposts | boolean | false | Skip jobs already seen in previous runs, using 90-day cross-run deduplication. |
fetchDetails | boolean | false | Fetch each job's detail page for the full description, structured salary, city, postal code, street, coordinates and expiry date. |
startUrls | array | [] | Optional list of Prace.cz /nabidky/ browse URLs to scrape directly. Overrides location and employmentType. |
maxItems | integer | 5 | Maximum number of job listings to return. |
Output schema
Fields the source does not publish for a given job are returned as null rather than omitted.
Always present
| Field | Type | Description |
|---|---|---|
id | string | Prace.cz listing UUID. |
url | string | Canonical detail-page URL. |
title | string | Job title. |
company | string | null | Hiring company name. |
location | string | null | Location label as shown on the listing card. |
country | string | ISO country code, CZ. |
employmentTypes | string[] | Employment type labels, e.g. ["Plný úvazek"]. |
salaryMin | number | null | Minimum salary (from the listing when present). |
salaryMax | number | null | Maximum salary. |
salaryPeriod | string | null | MONTH, HOUR, YEAR, WEEK or DAY. |
currency | string | null | Salary currency, CZK when a salary is present. |
salaryRaw | string | null | Salary exactly as displayed on the listing. |
summary | string | One-line `title |
source | string | prace.cz. |
scrapedAt | string | ISO timestamp of extraction. |
isRepost | boolean | true if the job was seen in a previous run. |
originalPublishDate | string | null | First-seen publish date for reposts. |
originalUrl | string | null | First-seen URL for reposts. |
changeStatus | string | NEW, UPDATED, UNCHANGED or REAPPEARED. |
contentHash | string | Stable content fingerprint for change detection. |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
descriptionHtml | string | null | Full job description as HTML. |
descriptionText | string | null | Full description as plain text. |
descriptionMarkdown | string | null | Full description as Markdown. |
publishDate | string | null | Publish date, DD.MM.YYYY. |
publishDateISO | string | null | Publish date, YYYY-MM-DD. |
validThrough | string | null | Listing expiry date, YYYY-MM-DD. |
city | string | null | City from the employer's structured address. |
postalCode | string | null | Postal code. |
streetAddress | string | null | Street. |
latitude | number | null | Latitude derived from the city. |
longitude | number | null | Longitude derived from the city. |
salaryMin / salaryMax / salaryPeriod / currency | number/string | null | Structured salary from the employer's data, preferred over the listing value. |
Example record
{"id": "844ef503-b1e7-4e94-8c8f-d1b4585e2b19","url": "https://www.prace.cz/nabidka/844ef503-b1e7-4e94-8c8f-d1b4585e2b19/","title": "Banketní asistent","company": "AUSTRIA Hotels CZ s.r.o.","location": "Praha-Staré Město","city": "Praha","postalCode": "11000","streetAddress": "Králodvorská","country": "CZ","latitude": 50.0874,"longitude": 14.4212,"employmentTypes": ["Plný úvazek"],"salaryMin": 20000,"salaryMax": 30000,"salaryPeriod": "MONTH","currency": "CZK","salaryRaw": "20 000 – 30 000 Kč/měsíc","publishDate": "25.06.2026","publishDateISO": "2026-06-25","validThrough": "2026-07-25","descriptionText": "Do našeho 5* hotelu v centru Prahy hledáme nového kolegu na pozici banket asistent...","isRepost": false,"changeStatus": "NEW","contentHash": "6b467ec259ccf685","source": "prace.cz","scrapedAt": "2026-07-10T07:01:16.902Z"}
Examples
Search for developer roles in Prague:
{"searchQuery": "developer","location": "praha","maxItems": 100,"fetchDetails": true}
Full-time roles paying at least 40,000 CZK:
{"employmentType": "plny-uvazek","minSalaryCzk": 40000,"maxItems": 200}
Scrape specific browse URLs directly:
{"startUrls": ["https://www.prace.cz/nabidky/brno/","https://www.prace.cz/nabidky/ostrava/"],"fetchDetails": true}
Daily feed of new jobs only:
{"searchQuery": "account manager","daysOld": 1,"skipReposts": true,"maxItems": 500}
💰 Pricing
$0.99 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.10 |
| 1,000 | ~$0.99 |
| 10,000 | ~$9.90 |
| 100,000 | ~$99.00 |
Flat-rate alternatives typically charge $30–$100/month regardless of usage.
Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 3–6 minutes |
| 10,000 results | 25–45 minutes |
Detail fetching adds time but unlocks descriptions, structured salary, precise location and coordinates.
Known limitations
- Salary is only present when the employer publishes it; roughly 40% of listings show no salary and return
null. - City, postal code, street, coordinates, description and expiry date require
fetchDetails: true. - Coordinates are derived from the city name, so they are city-level rather than exact address points.
- Contact-person details are deliberately never collected.
Technical details
- Source: prace.cz — Czech job listings
- Coverage: nationwide, filterable by keyword, location and employment type
- Repost storage: KeyValueStore
prace-cz-job-dedup, 90-day TTL - Retry: automatic retry on network errors with exponential backoff
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl