Swiss Jobs Scraper (JobRoom / arbeit.swiss)
Pricing
$1.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
| Field | Type | Default | Description |
|---|---|---|---|
| keywords | list of text | empty | Search terms. Leave empty to get all recent jobs. |
| cantonCodes | list of text | empty | Filter by Swiss canton, for example ZH, BE, VD, GE. Empty covers all of Switzerland. |
| workloadPercentageMin | number | 10 | Minimum employment percentage. |
| workloadPercentageMax | number | 100 | Maximum employment percentage. |
| onlineSinceDays | number | 60 | Only include jobs published in the last N days. |
| descriptionLanguage | text | de | Preferred language for the title and description: de, fr, it, or en. |
| maxItems | number | 0 | Maximum jobs to return. 0 means no limit. |
| maxPages | number | 50 | Safety 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.