Jobs.ch Jobs Scraper avatar

Jobs.ch Jobs Scraper

Pricing

from $0.80 / 1,000 job listings

Go to Apify Store
Jobs.ch Jobs Scraper

Jobs.ch Jobs Scraper

The Jobs.ch Jobs Scraper extracts Swiss job vacancies from Jobs.ch by keyword, location and workload, capturing original advert text kept separate from translations, source language, every workplace, published salaries, companies and hours — ideal for Swiss recruiting and labour-market research.

Pricing

from $0.80 / 1,000 job listings

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

🚀 Jobs.ch Jobs Scraper

Extract Swiss job vacancies from jobs.ch by keyword, location and workload (Pensum). The Jobs.ch Jobs Scraper keeps each advert's original text exactly as the employer wrote it, separate from jobs.ch's own translation. It also reports the source language and saves every workplace of multi-location jobs. Use it for Swiss recruiting, sourcing and labour-market research.

✨ Features

  • 🇨🇭 Swiss job search: search in German, French, Italian or English, anywhere in Switzerland or in a town, canton or region (Zürich, Genève, Ticino).
  • 📝 Original and translated text, never mixed: title and description hold the advertiser's original advert. titleLocalized and descriptionLocalized hold jobs.ch's translation into English, German or French, when it provides one.
  • 🌐 Advert language with a sanity check: sourceOriginalLanguage is the language jobs.ch reports. detectedLanguage is our own guess from the text. languageMetadataConflict flags jobs where the two disagree, such as an Italian advert that jobs.ch labels as French.
  • ⚖️ Workload (Pensum) filter with two modes: by default you get jobs.ch's own matching, where a 60–100% job counts for a 40–60% search. Turn on Whole workload range must fit to keep only jobs whose entire offered range lies inside your range. Dropped jobs are not charged.
  • 📍 All workplaces: a job advertised in St. Gallen, Zürich, Bern and Basel-Land keeps all four addresses with postcode, canton and coordinates.
  • 💰 Only real salaries: salary fields are filled only when the advertiser publishes a figure (for example CHF 90,000–138,000 per year). Jobs without one get null, never a zero or an estimate.
  • ✅ Verified job pages: an expired or redirected job URL is reported in the run summary. It is never replaced with another job's data and never charged.
  • 🔗 Flexible input: use a keyword search, search or category pages copied from your browser, or single job URLs.
  • 📋 Run summary: for every search you get the number of jobs jobs.ch reports, the pages scanned, the number of jobs excluded by the workload filter and why the search stopped.

🛠️ How It Works

  1. Enter a keyword and location: for example software in Zürich. You can also paste jobs.ch search, category or job URLs.
  2. Optionally set a workload range: for example 40–60% for part-time roles.
  3. Choose listings or full details: listings come straight from the search results. Scrape full job details adds the full advert, the translation, salary, employment type, weekly hours and more.
  4. Run the scraper: download the results as JSON, CSV or Excel, or connect them to your tools through the Apify API.

💵 Pricing

You pay per job saved. No monthly fee.

EventPriceWhat you get
Job listing$0.80 per 1,000 jobsOriginal title, company, workload range, place and all workplaces, required languages, publication dates
Job detail$1.50 per 1,000 jobsEverything in a listing plus the original advert text, the jobs.ch translation, source language, published salary, employment type, weekly hours, category, skills and application link

Duplicates, jobs dropped by the workload filter and expired job URLs are free.

📊 Sample Output Data

A job with full details. The description is shortened here, and two of the four workplaces are shown:

{
"jobId": "58361213-0012-480c-9b23-856f6c756380",
"url": "https://www.jobs.ch/en/vacancies/detail/58361213-0012-480c-9b23-856f6c756380/",
"title": "Abacus Consultant (Fokus Wertschöpfung) im Key Customer Team (a) 80% - 100%",
"titleLocalized": "Abacus Consultant (Focus on Value Creation) in the Key Customer Team (a) 80% - 100%",
"companyName": "Axept Business Software AG",
"companyUrl": "https://www.jobs.ch/en/companies/5d162b71-16f4-40b5-b4bf-8c101926559b-axept-business-software-ag/",
"workloadMin": 80,
"workloadMax": 100,
"place": "St. Gallen",
"locations": [
{
"street": "Heiligkreuzstrasse 5",
"postalCode": "9008",
"city": "St. Gallen",
"cantonCode": "SG",
"countryCode": "CH",
"latitude": 47.43609,
"longitude": 9.39575
},
{
"street": "Kemptpark 12",
"postalCode": "8310",
"city": "Kemptthal",
"cantonCode": "ZH",
"countryCode": "CH",
"latitude": 47.45155,
"longitude": 8.70436
}
],
"requiredLanguages": [{ "language": "de", "level": 4 }],
"listingTags": ["quickApply"],
"publicationDate": "2026-09-22T10:21:54+02:00",
"publicationEndDate": "2026-10-23",
"description": "Du kennst Abacus aus der Praxis und möchtest dein Fachwissen künftig in spannenden Kundenprojekten einsetzen? …",
"descriptionLocalized": "You know Abacus from practical experience and want to apply your expertise in exciting customer projects in the future? …",
"uiLanguage": "en",
"sourceOriginalLanguage": "de",
"detectedLanguage": "de",
"languageMetadataConflict": false,
"employmentType": "Permanent position",
"workHours": "33.6 - 42 hours/week",
"salaryMin": null,
"salaryMax": null,
"salaryCurrency": null,
"salaryPeriod": null,
"hiringOrganization": "Axept Business Software AG",
"category": "Technical / Information Technology / Telecom. / Consultancy / Business Informatics",
"applicationMethod": "formular",
"externalApplyUrl": null,
"detailStatus": "ok",
"scrapedAt": "2026-09-23T09:27:27.673Z"
}

Jobs found by a search also include searchKeywords, searchLocation, searchUrl and searchMode. searchMode shows how jobs.ch matched the query: semantic or full_text.

📝 Good to Know

  • workHours is jobs.ch's conversion of the workload percentage to hours, based on a 42-hour week. It is not a contractual figure.
  • companyName is the advertiser. For recruitment agencies, this may not be the final employer.
  • jobs.ch sometimes switches how it matches a search partway through. When that happens, the scraper stops that search instead of mixing two different result lists, and records the reason in the run summary.
  • Salary figures are kept exactly as published, per year, month or hour. They are not annualised or adjusted for workload.

Find your next hire or map the Swiss job market with the Jobs.ch Jobs Scraper today! 🚀