Swiss Job Search API — jobs.ch, jobup.ch, jobscout24, LinkedIn
Pricing
from $1.00 / 1,000 results
Swiss Job Search API — jobs.ch, jobup.ch, jobscout24, LinkedIn
Swiss job postings with canton, Pensum (workload %), contract type and a 133-role taxonomy. Deduplicated across JobCloud's three boards.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Job Hiker
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Swiss Job Search API
Job postings from Switzerland's four main boards — jobs.ch, jobup.ch, jobscout24.ch and LinkedIn — with the structure a Swiss hiring dataset needs and an international feed does not model.
Around 74,000 live postings, roughly 2,500 new per day.
What makes this Swiss rather than global
A worldwide LinkedIn feed carries far more postings than this and costs less per thousand. It cannot carry any of the following.
| Field | Coverage | Why it matters |
|---|---|---|
canton | 92% | The two-letter code the posting's location resolves to, via a gazetteer over every Swiss municipality, locality and postal code — not a string match on the city name. Cantonal boundaries are how Swiss hiring, tax and commuting actually work. |
workload_pct_min / max | 40% | The Pensum, as the range the employer advertised: 80–100%. No international job schema models this, because it is not the full-time/part-time question. Swiss ads state it more often than they state a salary. |
contract_type | 40% | PERMANENT, TEMPORARY, INTERNSHIP or APPRENTICESHIP — the contract, separate from the hours above. |
category / department | ~90% | A 150-role taxonomy grounded in ISCO-08, under 33 departments, assigned per posting. Ask for backend_engineer, not title LIKE '%engineer%'. |
source_job_id | 100% | jobs.ch, jobup.ch and jobscout24.ch are one backend serving one vacancy under one id. This is that id, so the three boards are already deduplicated rather than arriving as three copies. |
min_years | 98% | Years of experience required, parsed from the posting text. -1 means the ad states none — distinct from "not looked at". |
language | 97% | Which language the ad is written in. German, French, Italian and English postings sit side by side in this market. |
Also included: title, company, company_id (the employer as an entity, not
a spelling), location, url, apply_url, logo_url, description (full
text), posted_at, scraped_at, and salary_min/max/currency/period
where the source stated one — exact when present, which is about 2% of rows.
Usage
Everything is optional. With no input you get the most recent postings across all of Switzerland.
{"postedWithinDays": 2,"cantons": ["ZH", "ZG"],"departments": ["software_engineering"],"maxJobs": 5000}
For a daily sync, use postedWithinDays: 2 rather than 1. The overlap costs
one duplicate day and means a posting that arrives late is never missed. Rows
carry a stable id, so de-duplicating on your side is trivial.
Departments
Pass these keys in departments. Each holds several roles; pass role keys such
as backend_engineer in categories for a narrower cut.
| Key | Department |
|---|---|
software_engineering | Software Engineering |
data_ai | Data & AI |
it_infrastructure | IT Infrastructure, Security & Support |
product_design | Product & Design |
engineering | Engineering |
production | Production & Manufacturing |
metal_automotive | Metalwork, Machinery & Automotive |
electrical | Electrical & Electronics Trades |
construction_trades | Construction & Building Trades |
architecture_planning | Architecture, Construction Management & Planning |
crafts_food | Crafts, Watchmaking & Food Production |
science_pharma | Science, Research & Pharma |
environment_agriculture | Environment, Agriculture & Animals |
medicine_nursing | Medicine, Nursing & Care |
therapy_pharmacy | Therapy, Psychology & Pharmacy |
medical_assistants | Medical Assistants & Technicians |
social_work | Social Work & Counselling |
education | Teaching & Childcare |
finance | Finance, Insurance & Real Estate |
sales | Sales & Business Development |
marketing | Marketing & Communications |
hr | HR & Recruiting |
legal | Legal & Compliance |
management | Management & Consulting |
office_customer_service | Office, Administration & Customer Service |
logistics | Supply Chain & Logistics |
transport | Driving, Rail & Aviation |
hospitality | Hospitality, Food Service & Tourism |
retail | Retail |
personal_services | Beauty, Sports & Personal Services |
facilities_security | Facilities, Cleaning & Security |
public_sector | Public Administration, Police & Defence |
media_culture | Media, Arts & Culture |
Freshness
The crawl runs four times a day. posted_at is what the board published, and
scraped_at is when it reached this dataset — filter on the first, monitor the
second.
Limits
- Coverage is Switzerland. There is no international data here and there will not be.
salary_*is on ~2% of postings. Swiss ads mostly do not state pay; the Pensum is the field that carries the equivalent signal in this market.apply_urlis on ~12%. Most boards keep the apply step on their own site;urlalways points at the posting.- Postings are not re-verified after they are collected, so a small share of
older rows will have been filled at source. Filter on
postedWithinDaysif that matters to you.