Myjob Jobs Search Scraper
Pricing
Pay per usage
Myjob Jobs Search Scraper
Scrape job search results from MyJob.ch with precision. Collect titles, company details, locations, requirements, salary ranges, and 28+ fields per job — perfect for Swiss job market analysis, recruitment insights, and career data aggregation.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Alex
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
MyJob.ch Jobs Search Scraper: Extract Swiss Job Listings at Scale
What Is MyJob.ch?
MyJob.ch is Switzerland's premier job search platform, hosting thousands of active job listings across sectors and regions. It aggregates opportunities from major Swiss employers, SMEs, and international companies hiring in Switzerland. Manually reviewing job listings from search results pages is tedious — the MyJob.ch Jobs Search Scraper automates extraction, delivering clean, structured data from job listing pages.
Overview
The MyJob Jobs Search Scraper targets job list pages on MyJob.ch and extracts comprehensive job records. It is built for:
- Recruitment agencies tracking Swiss labor market trends
- Job market researchers analyzing salary, location, and industry patterns
- Career platforms aggregating Swiss job data
- HR professionals benchmarking skill demands and industry movements
- Data analysts building Swiss employment datasets
Key strengths include bulk URL support, configurable scraping limits, and resilient error handling via ignore_url_failures — enabling reliable data collection even when individual pages fail.
Input Format
The scraper accepts a JSON configuration with three main parameters:
{"urls": ["https://www.myjob.ch/job/alle-jobs-seite-2"],"max_items_per_url": 200,"ignore_url_failures": true}
| Parameter | Type | Description |
|---|---|---|
urls | Array | Job list page URLs to scrape (e.g., search results pages, filtered categories) |
max_items_per_url | Integer | Maximum jobs to extract per URL (default: 100, max recommended: 200) |
ignore_url_failures | Boolean | If true, continues scraping if some URLs fail; if false, stops on first error |
Notes:
- Use full job list URLs or search results pages (e.g.,
alle-jobs-seite-Xfor all jobs by page) - Adjust
max_items_per_urlbased on list length — higher values take longer to process
Output Format
Sample output
{"id": 3226998,"title": "Techniker in Fleet Control Room Astoro","company_id": 30456,"workplace_zip": "","workplace_city": "Basel","activity": "Das kannst du bewegen. \n \n Du bringst deine Ressourcen, Kompetenzen und Materialkenntnisse ein, um Instandsetzungs- und Reparaturarbeiten mit Hilfe modernster Ferndiagnosedaten und Betriebsinformationen effizient vorzubereiten. \n In dieser Funktion erstellst du präzise Störungsanalysen auf täglicher Basis, um die wesentlichen Grundlagen für die Einforderung vertraglich geschuldeter Leistungen gegenüber unserer Lieferantin sicherzustellen. \n Du ... ","requirements": "","offer": "","contact": null,"url_application": "https://jobs.sbb.ch/v2/offene-stellen/techniker-in-fleet-control-room-astoro/39f869bc-f80b-4f83-8ba1-ecff310f38bc","is_shown_on_company_minisite": true,"date_first_published": "2026-07-18T05:23:30.354+02:00","date_start": "2026-07-18","date_end": null,"company_description": "","keywords": null,"type_key": 5,"type_value_min": 100,"type_value_max": 100,"date_actualization": "2026-07-18","is_special_offer": false,"is_promoted": false,"position": [],"external_id": "e3a76b6f-561a-5c52-bace-1f86f18490ac","home_office": false,"country_code": ["ch"],"video_url": null,"coordinates": [{"ort": "Basel","latitude": 47.529823,"longitude": 7.593175},{"ort": "Basel","latitude": 47.540625,"longitude": 7.597569},{"ort": "Basel","latitude": 47.548439,"longitude": 7.610169},{"ort": "Basel","latitude": 47.551166,"longitude": 7.568883},{"ort": "Basel","latitude": 47.55373,"longitude": 7.586072},{"ort": "Basel","latitude": 47.554606,"longitude": 7.590051},{"ort": "Basel","latitude": 47.554607,"longitude": 7.590051},{"ort": "Basel","latitude": 47.554607,"longitude": 7.590051},{"ort": "Basel","latitude": 47.554607,"longitude": 7.590051},{"ort": "Basel","latitude": 47.554607,"longitude": 7.590051},{"ort": "Basel","latitude": 47.554608,"longitude": 7.590051},{"ort": "Basel","latitude": 47.554614,"longitude": 7.590052},{"ort": "Basel","latitude": 47.554615,"longitude": 7.590052},{"ort": "Basel","latitude": 47.554616,"longitude": 7.590052},{"ort": "Basel","latitude": 47.554617,"longitude": 7.590052},{"ort": "Basel","latitude": 47.554617,"longitude": 7.590053},{"ort": "Basel","latitude": 47.554619,"longitude": 7.590053},{"ort": "Basel","latitude": 47.55462,"longitude": 7.590053},{"ort": "Basel","latitude": 47.55462,"longitude": 7.590053},{"ort": "Basel","latitude": 47.554621,"longitude": 7.590053},{"ort": "Basel","latitude": 47.554621,"longitude": 7.590053},{"ort": "Basel","latitude": 47.554622,"longitude": 7.590053},{"ort": "Basel","latitude": 47.554624,"longitude": 7.590054},{"ort": "Basel","latitude": 47.554625,"longitude": 7.590054},{"ort": "Basel","latitude": 47.55463,"longitude": 7.590054},{"ort": "Basel","latitude": 47.55463,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554631,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554631,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554632,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554633,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554634,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554634,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554634,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554635,"longitude": 7.590055},{"ort": "Basel","latitude": 47.554639,"longitude": 7.590056},{"ort": "Basel","latitude": 47.554639,"longitude": 7.590056},{"ort": "Basel","latitude": 47.554644,"longitude": 7.590057},{"ort": "Basel","latitude": 47.554646,"longitude": 7.590057},{"ort": "Basel","latitude": 47.554647,"longitude": 7.590057},{"ort": "Basel","latitude": 47.554846,"longitude": 7.589845},{"ort": "Basel","latitude": 47.554894,"longitude": 7.592116},{"ort": "Basel","latitude": 47.556946,"longitude": 7.588808},{"ort": "Basel","latitude": 47.557667,"longitude": 7.590404},{"ort": "Basel","latitude": 47.561291,"longitude": 7.56558},{"ort": "Basel","latitude": 47.565605,"longitude": 7.611773},{"ort": "Basel","latitude": 47.570586,"longitude": 7.574066},{"ort": "Basel","latitude": 47.57429,"longitude": 7.593071},{"ort": "Basel (Bäumlihof)","latitude": 47.567874,"longitude": 7.626316},{"ort": "Basel (Universitätsspital)","latitude": 47.561385,"longitude": 7.58342}],"cantons": ["Basel-Landschaft","Basel-Stadt"],"updated_at": null,"company": {"id": 30456,"name": "Schweizerische Bundesbahnen SBB","description": "Zahlen, die beeindrucken: 354 Millionen Fahrgäste sind jedes Jahr mit der SBB unterwegs. Mit ihrem Streckennetz von 3138 Kilometern Länge hält die SBB einen grossen Anteil am 5200 Kilometer langen Eisenbahnnetz der Schweiz.","homepage": "http://www.sbb.ch/","additional_address": "","vacancy_list_style_class": "Ostjob_Vacancy_ListStyle_Default","zip": "3014","city": "Bern 65","hide_first_publication_date": false,"street": "Hilfikerstrasse","house_number": "1","po_box": "","country": "Schweiz","additional_name": "","main_phone_number": "","pdf_preview_enable": true,"contact_and_application_url_enable": true,"vacancies_in_popup": false,"is_shown_iframe_on_mobile_pages": true,"show_template_on_mobile": false,"logo_id": "de034f6785f2ce500ed8","country_of_origin_code": "ch","is_free_company": false,"with_profile": false},"from_url": "https://www.myjob.ch/job/alle-jobs"}
Each job record contains 28+ fields across identification, location, job details, and company information:
Identification & Metadata
| Field | Meaning | Example |
|---|---|---|
id | Unique MyJob.ch job identifier | 123456 |
title | Job title as listed | Marketing Manager |
external_id | Third-party ID (if cross-posted) | ext_789 |
url_application | Direct link to apply | https://www.myjob.ch/job/... |
position | Position level or number | 1 or Senior |
Location & Geography
| Field | Meaning | Example |
|---|---|---|
workplace_city | City of employment | Zurich |
workplace_zip | ZIP/postal code | 8000 |
country_code | ISO country code | CH |
cantons | Swiss cantons where role is active | ["ZH", "AG"] |
coordinates | Geographic coordinates (latitude, longitude) | {"lat": 47.37, "lng": 8.54} |
Company Information
| Field | Meaning | Example |
|---|---|---|
company | Company name | Acme Corp |
company_id | Internal company identifier | 5000 |
company_description | Company profile text | Leading tech innovator... |
is_shown_on_company_minisite | Appears on employer's mini career page | true or false |
Job Details & Requirements
| Field | Meaning | Example |
|---|---|---|
activity | Job category or sector | Technology, Finance |
requirements | Skills and qualifications needed | 5+ years experience, fluent German |
offer | Benefits and compensation overview | Competitive salary, flexible hours |
keywords | Search tags associated with the role | ["remote", "startup", "Python"] |
type_key | Employment type identifier | PERMANENT or TEMPORARY |
home_office | Remote work availability | FULL_REMOTE, HYBRID, ONSITE |
Dates & Lifecycle
| Field | Meaning | Example |
|---|---|---|
date_first_published | When listing was first posted | 2024-01-15 |
date_start | Expected start date for the role | 2024-03-01 |
date_end | Listing expiration date | 2024-02-28 |
date_actualization | Last update timestamp | 2024-01-20T10:30:00Z |
updated_at | Most recent modification | 2024-01-20T10:30:00Z |
Compensation & Promotion
| Field | Meaning | Example |
|---|---|---|
type_value_min | Minimum salary/hourly rate | 80000 |
type_value_max | Maximum salary/hourly rate | 120000 |
is_special_offer | Special promotion flag | true or false |
is_promoted | Premium visibility status | true or false |
Media & Contact
| Field | Meaning | Example |
|---|---|---|
video_url | Company video presentation URL | https://video.example.com/... |
contact | Hiring contact information | John Doe, hr@company.ch |
How to Use
- Identify target URLs — Visit MyJob.ch and navigate to job search results. Copy list page URLs (including pagination parameters like
seite-2, filtered categories, or keyword searches). - Configure parameters — Paste URLs into the
urlsarray. Setmax_items_per_urlbased on expected results (typical: 50–200). - Set error handling — Enable
ignore_url_failures: truefor bulk runs to skip broken links. - Execute — Start the scraper and monitor progress in the run log.
- Export — Download results as JSON, CSV, or Excel for analysis or integration.
Tips & Best Practices:
- Use filtered search URLs to narrow results (e.g., by region, job type)
- Start with smaller
max_items_per_urlvalues to test URLs - Schedule recurring scrapes to track job market trends over time
- Combine
date_actualizationto identify recently updated postings
Troubleshooting:
- If no jobs are scraped, verify the URL is a search results or job list page, not a single job detail
- Check page structure hasn't changed on MyJob.ch
- Use
ignore_url_failures: truewhen scraping many pages
Use Cases & Business Value
- Market intelligence: Track hiring volume, salary trends, and skill demand across Swiss sectors
- Competitive analysis: Monitor competitor job postings, compensation benchmarks, and hiring pace
- Research & analytics: Build datasets for labor economics, industry trends, and regional employment studies
- Platform integration: Feed job data into custom job boards, career advice tools, or aggregators
- Recruitment automation: Identify new postings matching specific criteria (location, industry, salary range)
By automating data extraction, the MyJob Jobs Search Scraper reduces manual research time from hours to minutes while ensuring consistent, error-free data collection.
Conclusion
The MyJob.ch Jobs Search Scraper is an essential tool for anyone analyzing Swiss employment markets or building recruitment solutions. With 28+ output fields and flexible configuration, it transforms search results into actionable business intelligence. Start scraping today to unlock insights into Switzerland's dynamic job landscape.