
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape Jobs.cz job listings by keyword, location, category and filters, or from search and job URLs. Get title, company, salary (parsed min and max), location, posting date and the full description, benefits, requirements and recruiter contact.
Scrape job listings from Jobs.cz, the largest job portal in the Czech Republic. Search by keyword, city or region and category with the site's own filters, or paste search and job URLs, and get every job with its salary, location, posting date and, by default, the full description, benefits, requirements and recruiter contact. No login, no browser, about 1,000 detailed jobs in roughly a minute, for $0.60 per 1,000 jobs.
company.jobs.cz career sites. The scraper reads those too and adds city, postal code and GPS coordinates.salaryMin, salaryMax, salaryCurrency and salaryPeriod, ready for analysis.developer, účetní, skladník) and a location (Praha, Brno, Jihomoravský kraj), or paste Jobs.cz search or job URLs.| Field | What it does |
|---|---|
keywords | Job titles, skills or companies. Each keyword is a separate search. |
location | Czech city, district or region. Empty means the whole country. |
startUrls | Jobs.cz search URLs (filters in the URL are kept), job URLs or company career-site job URLs. |
maxItems | Maximum number of jobs to save (default 20, 0 = no limit). |
includeDetails | Full description, benefits, requirements and contact (on by default). |
postedWithin, minSalary, categories, radius, employmentTypes, contractTypes, education, languages, workArrangement, employerType, suitableFor | The site's own filters. |
skipTopOffers | Leave out promoted listings. |
{
"keywords": ["developer"],
"location": "Praha",
"maxItems": 20,
"includeDetails": true,
"postedWithin": "7d",
"employmentTypes": ["full"]
}
Categories narrow a search only when no keyword is set (Jobs.cz would add every job of the category to a keyword search instead of narrowing it). Pick categories with a location to list, say, every IT and marketing job in Brno.
| Field | Description |
|---|---|
id, url, jobUrl | Jobs.cz job id, canonical job link and the page the job is shown on (Jobs.cz or the company career site) |
title, company, location, address | Job title, employer, place and street address |
salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod | Salary as shown and parsed |
postedDate, postedLabel, expiresSoon, isTopOffer | When the job was posted, the site's label, closing soon, promoted |
descriptionText, descriptionHtml | Full job description |
benefits, education, languages, employmentTypes, employmentDuration, contractTypes, employerType | Requirements and conditions |
fields, professions, suitableFor, tags | Categories, professions, target groups and the card's tags |
contactName, contactPhone, contactEmail, contactAddress, applyUrl | Recruiter contact where the employer shows it |
companyLogo, companyProfileUrl, companyReviewCount, companyReviewsUrl | Employer profile and reviews |
city, region, postalCode, latitude, longitude | Location details (career-site jobs) |
searchKeyword, searchLocation, searchUrl, scrapedAt, detailSource | Where the job came from |
Example (one job from a test run; description and lists shortened, contact person replaced with a fictional name):
{
"id": "2001492208",
"url": "https://www.jobs.cz/rpd/2001492208/",
"jobUrl": "https://www.jobs.cz/rpd/2001492208/",
"title": "Fullstack Software Developer (Medior/Senior)",
"company": "Medor Solutions, s.r.o.",
"location": "Praha – Libeň",
"salaryText": "70 000 – 100 000 Kč",
"salaryMin": 70000,
"salaryMax": 100000,
"salaryCurrency": "CZK",
"salaryPeriod": "month",
"postedDate": "2026-10-21",
"postedLabel": "Přidáno před 40 minutami",
"isTopOffer": false,
"tags": ["Odpověď do 2 týdnů", "Možnost občasné práce z domova"],
"address": "Na hrázi 178/25, Praha – Libeň",
"descriptionText": "Chceš psát kód, který používají týmy napříč Evropou? ...",
"benefits": ["Vzdělávací kurzy, školení", "Stravenky/příspěvek na stravování", "Mobilní telefon", "Notebook"],
"education": "Středoškolské nebo odborné vyučení s maturitou",
"languages": ["Čeština (Výborná)", "Angličtina (Středně pokročilá)"],
"employmentTypes": ["Práce na plný úvazek"],
"contractTypes": ["pracovní smlouva", "práce na živnostenský list (IČO)"],
"fields": ["IS/IT: Vývoj aplikací a systémů"],
"professions": [".NET vývojář", "C# vývojář", "JavaScript vývojář", "Programátor"],
"contactName": "Jana Nováková",
"applyUrl": "https://www.jobs.cz/jof/2001492208/",
"detailSource": "jobs.cz",
"searchKeyword": "developer",
"searchLocation": "Praha",
"scrapedAt": "2026-10-21T14:18:58.209Z"
}
$0.60 per 1,000 jobs ($0.0006 per job), with or without full details. Platform usage (compute and proxy traffic) is billed on top and is small: a measured run of 1,000 jobs with full details used about $0.07 of platform usage, so 1,000 detailed jobs cost about $0.67 in total. You only pay for jobs that are saved, and a run stops cleanly at your maximum charge.
Is it legal to scrape Jobs.cz? The scraper only reads public job listings that anyone can open without an account. You are responsible for how you use the data, including personal data such as recruiter names and phone numbers (GDPR applies in the Czech Republic).
Do I need a Jobs.cz account or my own proxy? No. No login is needed, and the default datacenter proxy works. If Jobs.cz starts refusing it, the run switches to Czech residential proxies on its own.
How many jobs can I get? As many as Jobs.cz lists for your search. Searches with more than 1,350 matches are split by region and category so the run can go past the site's page limit. A test run collected 10,000 jobs in one go.
Why is a field empty? Jobs.cz shows only what the employer filled in. Salary, phone and e-mail are often missing; promoted listings carry no posting date. Coordinates and postal codes come from company career sites only.
Can I schedule it or use the API? Yes. Save your input as a task, schedule it (for example daily with "Last 24 hours"), and read results through the API or send them to integrations such as Google Sheets, Slack or webhooks.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
keywordsarrayOptionalKeywords
Job titles, skills or companies, one per line, e.g. developer, účetní, skladník. Each keyword is a separate search. Leave empty to list every job in the location or category.
locationstringOptionalLocation
Czech city, district or region, e.g. Praha, Brno, Ostrava, Plzeň, Jihomoravský kraj. Leave empty for the whole country.
startUrlsarrayOptionalSearch or job URLs
Jobs.cz search pages copied from your browser (https://www.jobs.cz/prace/brno/?q%5B%5D=účetní, filters in the URL are kept), job pages (https://www.jobs.cz/rpd/2001467734/) or company career-site job pages (https://company.jobs.cz/pd/2001481282/).
maxItemsintegerOptionaldefault 20Max results
Maximum number of jobs to save across all searches. 0 means no limit.
includeDetailsbooleanOptionaldefault trueInclude full job details
Open each job for the full description (text and HTML), benefits, required education and languages, employment and contract type, categories, professions and the recruiter's contact. Turn off for a faster list with title, company, location, salary and date only.
postedWithinenumOptionaldefault "any"Date posted
Only jobs posted within this period.
minSalaryintegerOptionalMinimum monthly salary (CZK)
Only jobs that state a gross monthly salary of at least this much, e.g. 50000. Jobs without a salary are left out by the site when this is set.
categoriesarrayOptionalCategories
Only jobs in these Jobs.cz fields (obory). Used without keywords: Jobs.cz would add every job of the category to a keyword search instead of narrowing it.
radiusenumOptionalDistance from location (km)
Search radius around a city. Leave empty for the site default (50 km for cities).
employmentTypesarrayOptionalWorking hours
Keep jobs with any of these.
contractTypesarrayOptionalContract type
Keep jobs with any of these contract types.
educationenumOptionaldefault "any"Education
Only jobs open to this level of education.
languagesarrayOptionalLanguages
Keep jobs that use any of these languages.
workArrangementenumOptionaldefault "any"Work from home
Only jobs with this arrangement.
employerTypeenumOptionaldefault "any"Employer type
Only jobs from this kind of employer.
suitableForenumOptionaldefault "any"Suitable for
Only jobs the employer marks as suitable for this group.
skipTopOffersbooleanOptionaldefault falseSkip promoted jobs
Leave out the promoted 'TIP' listings Jobs.cz places at the top of results.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for Jobs.cz. If the site starts refusing them, the run moves to Czech residential proxies on its own.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| id | string | null | |
| url | string | null | |
| jobUrl | string | null | |
| title | string | null | |
| company | string | null | |
| location | string | null | |
| salaryText | string | null | |
| salaryMin | number | null | |
| salaryMax | number | null | |
| salaryCurrency | string | null | |
| salaryPeriod | string | null | |
| postedDate | string | null | |
| isTopOffer | boolean | null | |
| descriptionText | string | null | |
| descriptionHtml | string | null | |
| benefits | array | null | |
| employmentTypes | array | null | |
| contractTypes | array | null | |
| fields | array | null | |
| professions | array | null | |
| education | string | null | |
| languages | array | null | |
| contactName | string | null | |
| contactPhone | string | null | |
| contactEmail | string | null | |
| address | string | null | |
| scrapedAt | string | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Job | One saved job listing. | $0.0006 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('openrole/jobs-cz-scraper').call({
"keywords": [
"developer"
],
"location": "Praha",
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run openrole/jobs-cz-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=openrole/jobs-cz-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
No examples yet
The developer hasn't published example inputs for this actor.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.