Prace.cz Scraper avatar

Prace.cz Scraper

Pricing

from $0.79 / 1,000 results

Go to Apify Store
Prace.cz Scraper

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

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

11

Total users

5

Monthly active users

14 days ago

Last modified

Share

Prace.cz Scraper

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

ParameterTypeDefaultDescription
searchQuerystring""Search keyword, e.g. developer or účetní. Leave empty to return all listings.
locationstring""City or region slug as it appears in Prace.cz URLs, e.g. praha, brno, ostrava. Leave empty to search all of Czechia.
employmentTypestring"all"Filter by employment type: all, plny-uvazek (full-time) or zkraceny-uvazek (part-time).
daysOldinteger0Return only jobs published within this many days. 0 means no age limit. Enables detail fetch automatically.
minSalaryCzkinteger0Drop jobs whose published salary is below this amount. Jobs without a published salary are kept. Enables detail fetch automatically.
skipRepostsbooleanfalseSkip jobs already seen in previous runs, using 90-day cross-run deduplication.
fetchDetailsbooleanfalseFetch each job's detail page for the full description, structured salary, city, postal code, street, coordinates and expiry date.
startUrlsarray[]Optional list of Prace.cz /nabidky/ browse URLs to scrape directly. Overrides location and employmentType.
maxItemsinteger5Maximum 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

FieldTypeDescription
idstringPrace.cz listing UUID.
urlstringCanonical detail-page URL.
titlestringJob title.
companystring | nullHiring company name.
locationstring | nullLocation label as shown on the listing card.
countrystringISO country code, CZ.
employmentTypesstring[]Employment type labels, e.g. ["Plný úvazek"].
salaryMinnumber | nullMinimum salary (from the listing when present).
salaryMaxnumber | nullMaximum salary.
salaryPeriodstring | nullMONTH, HOUR, YEAR, WEEK or DAY.
currencystring | nullSalary currency, CZK when a salary is present.
salaryRawstring | nullSalary exactly as displayed on the listing.
summarystringOne-line `title
sourcestringprace.cz.
scrapedAtstringISO timestamp of extraction.
isRepostbooleantrue if the job was seen in a previous run.
originalPublishDatestring | nullFirst-seen publish date for reposts.
originalUrlstring | nullFirst-seen URL for reposts.
changeStatusstringNEW, UPDATED, UNCHANGED or REAPPEARED.
contentHashstringStable content fingerprint for change detection.

With fetchDetails: true

FieldTypeDescription
descriptionHtmlstring | nullFull job description as HTML.
descriptionTextstring | nullFull description as plain text.
descriptionMarkdownstring | nullFull description as Markdown.
publishDatestring | nullPublish date, DD.MM.YYYY.
publishDateISOstring | nullPublish date, YYYY-MM-DD.
validThroughstring | nullListing expiry date, YYYY-MM-DD.
citystring | nullCity from the employer's structured address.
postalCodestring | nullPostal code.
streetAddressstring | nullStreet.
latitudenumber | nullLatitude derived from the city.
longitudenumber | nullLongitude derived from the city.
salaryMin / salaryMax / salaryPeriod / currencynumber/string | nullStructured 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.

ResultsCost
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 sizeTypical time
100 resultsunder 1 minute
1,000 results3–6 minutes
10,000 results25–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