JobScout24.ch Scraper - Swiss Job Board Data Extraction
Pricing
from $3.00 / 1,000 results
JobScout24.ch Scraper - Swiss Job Board Data Extraction
Scrapes job listings from JobScout24.ch, a major Swiss job portal. Filter by region, category (IT, finance, healthcare, etc.), and employment type. Includes optional LLM-powered contact extraction.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
2
Bookmarked
59
Total users
11
Monthly active users
2 hours ago
Last modified
Categories
Share
Scrape job listings from JobScout24.ch, a major Swiss general job board covering all 26 cantons. Returns title, company, location, canton, employment type, workload, salary, contact details, apply URL, full description, requirements, company benefits, and company rating. No login required. Pay-per-result.
JobScout24.ch carries listings in German, French, and Italian across every sector - IT, engineering, finance, healthcare, hospitality, logistics, and more - making it a strong complement to the JobCloud family (jobs.ch, jobup.ch) for comprehensive Swiss market coverage.
Features
- Three input modes: searchQueries (keywords) · directUrls (single-job re-scrape / still-alive checks) · searchQuery (legacy single keyword, backward compatible)
- Regional targeting: 11 Swiss regions including Zurich, Bern, Basel, Romandie, Tessin, Graubunden, Wallis, and Remote
- Category filtering: 15 career categories from IT and Engineering to Healthcare, Legal, and Hospitality
- Employment type filter: Full-time, Part-time, Temporary, Apprenticeship, Internship
- Sort order control:
newest(Currentness),relevance,title,company,locationvia server-sidesortbyURL parameter - Job status detection on direct-URL mode:
online,expired,unknown. Job pages that are gone or offline (404, 410, "job not found" or expired pages) produce no row and are not charged; the run still succeeds and the final status message tells you how many URLs were skipped - Top listing flag: identifies promoted placements in SERP results
- Workload range extraction:
workload_minandworkload_maxpercentages (Swiss standard) - Full description in plain text and snippet formats; structured requirements array
- Company enrichment: description, rating, review count, social media URLs, benefits list
- Contact extraction: salutation, first name, last name, email, phone, position from detail pages
- Apply URL and apply email extracted from detail pages
- Fast SERP-only mode:
includeJobDetails: falseskips detail pages for bulk collection - Multi-query deduplication across all keyword runs in a single actor invocation
- Concurrent detail fetching (5 workers, batches of 50) for efficient throughput
- 3-tier proxy fallback (user proxy → auto → direct) for resilience
- 128 MB memory footprint; written in Go for low compute-unit cost
Use with AI Agents (MCP)
Connect this actor to any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Apify MCP server URL:
https://mcp.apify.com?tools=santamaria-automations/jobscout24-ch-scraper
Example prompt once connected:
"Use
jobscout24-ch-scraperto scrape up to 50 IT jobs in the Zurich region from JobScout24.ch. Return results as a table with title, company, location, and apply URL."
Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via add-actor.
Sample input
Keyword search (standard mode):
{"searchQueries": ["Softwareentwickler", "Projektleiter"],"region": "zurich","category": "it","sortBy": "newest","includeJobDetails": true,"maxResultsPerQuery": 50,"maxResults": 100}
Direct URL mode (re-scrape / still-alive checks):
{"directUrls": ["https://www.jobscout24.ch/de/job/10226990","https://www.jobscout24.ch/en/job/10189234"]}
SERP-only mode (bulk collection, no detail pages):
{"searchQueries": ["Verkäufer", "Logistiker"],"includeJobDetails": false,"maxResultsPerQuery": 200}
Sample output
{"id": "10226990","title": "Softwareentwickler / Projektleiter Automation 100% (m/w/d)","company": "FoodTechScout AG","location": "Bern","country": "CH","canton": "BE","job_status": "online","top_listing": false,"employment_type": "full-time","workload_min": 100,"workload_max": 100,"remote_option": null,"salary_text": null,"description_snippet": "Softwareentwickler / Projektleiter Automation 100% - Wir suchen eine engagierte Persoenlichkeit...","description_full": "Softwareentwickler / Projektleiter Automation 100%...","requirements": ["Abgeschlossene Ausbildung als Informatiker EFZ oder gleichwertig", "3+ Jahre Erfahrung in der Automatisierungstechnik"],"posted_at": "2026-09-02T21:19:14.000Z","expires_at": null,"source_url": "https://www.jobscout24.ch/en/job/10226990","source_platform": "jobscout24.ch","contact_salutation": "Herr","contact_firstname": "Thomas","contact_lastname": "Brunner","contact_email": "t.brunner@foodtechscout.ch","contact_phone": "+41 31 220 33 44","contact_position": "HR Manager","contact_raw": "Thomas Brunner, HR Manager","apply_url": "https://www.jobscout24.ch/de/jobs/apply/10226990","apply_email": null,"company_url": "https://www.jobscout24.ch/de/companies/foodtechscout","company_description": "FoodTechScout AG ist ein Schweizer Technologieunternehmen im Bereich Lebensmittelautomation.","company_rating": 4.1,"company_review_count": 23,"company_social_urls": {"linkedin": "https://linkedin.com/company/foodtechscout"},"company_benefits": ["Homeoffice", "Weiterbildung", "Flexible Arbeitszeiten"],"search_query": "Softwareentwickler","scraped_at": "2026-09-09T11:33:58Z"}
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | - | One or more keywords. Each runs as a separate search; results are deduplicated. |
searchQuery | string | - | Single keyword (legacy, backward compatible). Use searchQueries for new integrations. |
directUrls | string[] | - | Job detail page URLs to scrape directly, skipping search. Use for still-alive checks or targeted re-scrapes. |
region | enum | All regions | Swiss region filter: zurich, bern, basel, aargau, ostschweiz, zentralschweiz, romandie, tessin, graubunden, wallis, remote |
category | enum | All categories | Career category filter: it, engineering, finance, sales, marketing, hr, healthcare, education, hospitality, construction, logistics, administration, management, legal, customer-service |
employmentType | enum | All types | Employment type filter: full-time, part-time, temporary, apprenticeship, internship |
sortBy | enum | newest | Sort order: newest (most recently posted first), relevance (JobScout24 default ranking), title (job title A-Z), company (company name A-Z), location (place of work A-Z). |
postedWithinDays | int | 0 (off) | Only jobs posted within the last N days. Day granularity (the site shows ages like New, 1 d), boundary inclusive: 1 keeps today and yesterday. Applied server-side and before detail fetch and billing. Jobs without a date are kept. |
maxAgeHours | int | 0 (off) | Co-canonical with postedWithinDays; if both are set the stricter wins. With job details on, the exact posting time is checked before billing; in SERP-only mode it is evaluated per calendar day (Europe/Zurich) because the site has no hour-level ages. |
titleFilter | string | empty (off) | Comma-separated terms, case-insensitive substring OR-match on the job title (e.g. Laborant, Chemiker, QC). Applied before the detail fetch and billing. |
includeJobDetails | bool | true | Visit each job's detail page for full description, contact info, apply URL, and company data. Set false for fast SERP-only collection. |
maxResultsPerQuery | int | 100 | Per-keyword result cap. Set to 0 for unlimited per query. |
maxResults | int | 0 | Global cap across all queries. Set to 0 for unlimited. |
Output fields
| Field | Type | Notes |
|---|---|---|
id | string | JobScout24 job ID |
title | string | Job title |
company | string or null | Hiring company name |
location | string | City or area |
country | string | Always CH |
canton | string or null | Swiss canton code (e.g. ZH, BE, GE) |
job_status | string or null | online / expired / unknown. Populated in direct-URL mode. Offline or gone job pages are skipped (no row, no charge). |
top_listing | bool or null | true for promoted placements |
employment_type | string or null | full-time, part-time, temporary, etc. |
workload_min | number or null | Minimum workload percentage |
workload_max | number or null | Maximum workload percentage |
remote_option | string or null | Remote work availability: remote (fully remote), hybrid (home office or mobile working mentioned in the ad), or null when the ad says nothing |
salary_text | string or null | Salary as displayed (e.g. CHF 90'000 - 110'000) |
description_snippet | string or null | First 500 characters of the description |
description_full | string or null | Complete job description text |
description_md | string or null | Job description converted to Markdown |
requirements | string[] | Bullet points under the ad's profile / requirements headings (e.g. "Dein Profil", "Das bringst du mit") |
posted_at | string or null | ISO 8601 posting date |
expires_at | string or null | ISO 8601 expiry date |
source_url | string | Direct URL to the job listing |
source_platform | string | Always jobscout24.ch |
contact_salutation | string or null | Contact person salutation (Herr, Frau) when the ad names it |
contact_firstname | string or null | Contact person first name |
contact_lastname | string or null | Contact person last name |
contact_email | string or null | Contact person email address |
contact_phone | string or null | Contact person phone number |
contact_position | string or null | Contact person job title |
contact_raw | string or null | Raw contact text from the end of the ad (the contact person block, "Fragen?", "Ansprechperson", "Kontakt") |
apply_url | string or null | Direct application URL |
apply_email | string or null | Application email address |
company_url | string or null | Company profile URL on JobScout24 |
company_description | string or null | Company description text |
company_rating | number or null | Company rating score |
company_review_count | number or null | Number of company reviews |
company_social_urls | object or null | Social media URLs keyed by platform (e.g. linkedin) |
company_benefits | string[] or null | Company-offered benefits list |
search_query | string or null | The keyword that returned this listing |
scraped_at | string | ISO 8601 timestamp of when the item was scraped |
Contact fields are read from the contact block at the end of the ad text, so they are filled only when the ad names a contact person, phone or email. You are responsible for using the data lawfully, including the GDPR/DSGVO, national data-protection laws and unfair-competition rules (e.g. UWG) for marketing and outreach.
Pricing (Pay-per-event)
| Event | Description | When it fires |
|---|---|---|
apify-actor-start | One-time run start fee (a tiny amount) | Every run, once |
apify-default-dataset-item | One price per result | Once for every job saved to the dataset |
Every saved job costs the same per-result price, whether or not the full job page was read. Job pages that are gone or offline produce no row and cost nothing. If you set a maximum cost per run, the run stops saving jobs once that limit is reached and ends as succeeded.
Related actors
- Jobs.ch Scraper - sister JobCloud site
- Jobup.ch Scraper - French-speaking Switzerland board (Geneva, Lausanne, Fribourg)
- travail.swiss / arbeit.swiss Scraper - official Swiss federal employment office (SECO); covers DE/FR/IT/EN
- Swissdevjobs.ch Scraper - Swiss developer-focused tech jobs
- ICTjobs.ch Scraper - Swiss IT and ICT specialist board
- Zentraljob.ch Scraper - Central Switzerland regional board
- Ostjob.ch Scraper - Eastern Switzerland regional board
- Jobbasel.ch Scraper - Basel region board
- Jobbern.ch Scraper - Bern region board
- Jobmittelland.ch Scraper - Mittelland region board
- Jobzueri.ch Scraper - Zurich region board
- Myjob.ch Scraper - General Swiss job board
- Schaffu.ch Scraper - Swiss job board
- Nicejob.de Scraper - German job board
- Carriera.ch Scraper - Italian-speaking Switzerland board
- Sozjobs.ch Scraper - Swiss social sector and NGO jobs
Issues / feature requests
Open an issue at https://console.apify.com/actors/lhnwIvrF1VfdmkBUM/issues or contact us at contact@nanoscrape.com. We usually reply within 6 hours.
Built by NanoScrape. No affiliation with JobScout24.ch or its operators.