Swiss Job Search API — jobs.ch, jobup.ch, jobscout24, LinkedIn avatar

Swiss Job Search API — jobs.ch, jobup.ch, jobscout24, LinkedIn

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Swiss Job Search API — jobs.ch, jobup.ch, jobscout24, LinkedIn

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

Job Hiker

Maintained by Community

Actor 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.

FieldCoverageWhy it matters
canton92%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 / max40%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_type40%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_id100%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_years98%Years of experience required, parsed from the posting text. -1 means the ad states none — distinct from "not looked at".
language97%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.

KeyDepartment
software_engineeringSoftware Engineering
data_aiData & AI
it_infrastructureIT Infrastructure, Security & Support
product_designProduct & Design
engineeringEngineering
productionProduction & Manufacturing
metal_automotiveMetalwork, Machinery & Automotive
electricalElectrical & Electronics Trades
construction_tradesConstruction & Building Trades
architecture_planningArchitecture, Construction Management & Planning
crafts_foodCrafts, Watchmaking & Food Production
science_pharmaScience, Research & Pharma
environment_agricultureEnvironment, Agriculture & Animals
medicine_nursingMedicine, Nursing & Care
therapy_pharmacyTherapy, Psychology & Pharmacy
medical_assistantsMedical Assistants & Technicians
social_workSocial Work & Counselling
educationTeaching & Childcare
financeFinance, Insurance & Real Estate
salesSales & Business Development
marketingMarketing & Communications
hrHR & Recruiting
legalLegal & Compliance
managementManagement & Consulting
office_customer_serviceOffice, Administration & Customer Service
logisticsSupply Chain & Logistics
transportDriving, Rail & Aviation
hospitalityHospitality, Food Service & Tourism
retailRetail
personal_servicesBeauty, Sports & Personal Services
facilities_securityFacilities, Cleaning & Security
public_sectorPublic Administration, Police & Defence
media_cultureMedia, 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_url is on ~12%. Most boards keep the apply step on their own site; url always 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 postedWithinDays if that matters to you.