Swiss Jobs Scraper (JobRoom / arbeit.swiss) avatar

Swiss Jobs Scraper (JobRoom / arbeit.swiss)

Pricing

$1.50 / 1,000 results

Go to Apify Store
Swiss Jobs Scraper (JobRoom / arbeit.swiss)

Swiss Jobs Scraper (JobRoom / arbeit.swiss)

Scrape public job listings from JobRoom (job-room.ch / arbeit.swiss), the official Swiss public employment service. No login required.

Pricing

$1.50 / 1,000 results

Rating

0.0

(0)

Developer

riadh chebbi

riadh chebbi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Collect public job listings from JobRoom (job-room.ch), the official job platform of the Swiss public employment service, also reachable as arbeit.swiss. The Actor reads the site's public search API directly, so it needs no login and no account.

Use it to build job datasets for the Swiss market: recruitment and lead generation, salary and hiring research, job aggregators, or feeding listings into a CRM.

What you get

Every job includes:

  • Title, company name, and the full description
  • Workload range (percentage) and whether the role is permanent
  • City, postal code, canton, and country
  • Company address
  • Contact name, email, and phone when the employer publishes them
  • Employer apply URL
  • Official Swiss job number (stellennummerEgov)
  • A direct link back to the listing on job-room.ch
  • Publication date

Input

FieldTypeDefaultDescription
keywordslist of textemptySearch terms. Leave empty to get all recent jobs.
cantonCodeslist of textemptyFilter by Swiss canton, for example ZH, BE, VD, GE. Empty covers all of Switzerland.
workloadPercentageMinnumber10Minimum employment percentage.
workloadPercentageMaxnumber100Maximum employment percentage.
onlineSinceDaysnumber60Only include jobs published in the last N days.
descriptionLanguagetextdePreferred language for the title and description: de, fr, it, or en.
maxItemsnumber0Maximum jobs to return. 0 means no limit.
maxPagesnumber50Safety cap on the number of API pages fetched.

Example input

{
"keywords": ["pflege"],
"cantonCodes": ["ZH", "BE"],
"workloadPercentageMin": 80,
"onlineSinceDays": 30,
"maxItems": 500
}

Example output

One item per job:

{
"id": "b128a2b1-ee55-4005-b7a0-d434f710d3a0",
"title": "Advanced Practice Nurse 80-100% in Affoltern am Albis",
"company": "Example Personal AG",
"description": "Full job text...",
"workload": "80-100",
"permanent": true,
"city": "Affoltern am Albis",
"postalCode": "8910",
"canton": "ZH",
"country": "CH",
"address": "Bahnhofplatz 1c, 8304 Wallisellen",
"contactName": "HR Team",
"email": "jobs@example-company.ch",
"phone": "+41 44 000 00 00",
"externalUrl": "https://example-company.ch/jobs/advanced-practice-nurse",
"stellennummerEgov": "242436499",
"detailUrl": "https://www.job-room.ch/job-search/b128a2b1-ee55-4005-b7a0-d434f710d3a0",
"publishedAt": "2026-06-24T13:48:20",
"source": "job-room.ch"
}

How it works

The Actor queries the public JobRoom search API and pages through results sorted by date, newest first. Jobs are de-duplicated by id within a run. Since the source is an official public API, runs are fast and the output stays stable over time.

Notes

  • Data comes from the public job-room.ch platform. Use the results in line with the platform's terms and applicable data protection rules.
  • Contact details appear only when the employer chooses to publish them in the ad.
  • Set descriptionLanguage to match the language you need. Many ads are written in German.