Job Room Jobs Search Scraper
Pricing
Pay per usage
Job Room Jobs Search Scraper
Scrape job listings from Job-Room.ch, Switzerland's official job search platform. Extract 23+ fields including job IDs, government registration numbers, status, publication details, and more — perfect for labor market research, recruitment analytics, and employment data aggregation.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Soft Alexist
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Job-Room.ch Jobs Search Scraper: Swiss Employment Data at Scale
About Job-Room.ch
Job-Room.ch is Switzerland's premier public employment portal, operated by the Swiss State Secretariat for Economic Affairs (SECO). It centralizes job postings from across the country and integrates with government employment systems (EGOV and AVAM). For researchers, policy analysts, recruiters, and HR professionals, accessing Job-Room data programmatically is invaluable for understanding Swiss labor market trends. The Job-Room.ch Jobs Search Scraper automates this process, delivering structured employment data with government-level fields and reporting metadata.
Overview
The Job-Room.ch Jobs Search Scraper collects job listings from Job-Room.ch's search results and detail pages, extracting 23+ fields per posting. It is designed for:
- Labor market researchers analyzing employment trends in Switzerland
- Policy analysts monitoring job market health and sectoral demand
- Recruitment agencies building proprietary job databases
- Academic institutions conducting employment studies
- HR consultants benchmarking Swiss hiring activity
- Data aggregators feeding multiple job sources into unified platforms
Key strengths include support for large-scale scraping (up to 200 items per URL), automatic error handling via ignore_url_failures, and comprehensive government and administrative metadata fields.
Input Format
The scraper accepts a JSON configuration object specifying which Job-Room pages to scrape:
{"urls": ["https://www.job-room.ch/job-search"],"ignore_url_failures": true,"max_items_per_url": 200}
| Parameter | Type | Description | Example |
|---|---|---|---|
urls | Array | Direct links to Job-Room.ch search results or filtered pages | ["https://www.job-room.ch/job-search"] |
ignore_url_failures | Boolean | If true, the scraper continues even if some URLs fail; if false, stops on errors | true |
max_items_per_url | Integer | Maximum number of job postings to extract per URL (range: 1–200) | 200 |
Best practices:
- Use search result URLs (e.g.,
/job-search) or filtered pages (e.g., with region or keyword filters) to target specific subsets - Set
max_items_per_urlto 200 to capture maximum data per run - Enable
ignore_url_failures: truefor robust batch operations
Output Format
Sample output
{"id": "0d5b6183-5d3f-453c-8e0a-bddb069125f0","created_time": "2026-07-09T06:15:24.423","updated_time": "2026-07-09T06:15:24.425","status": "PUBLISHED_PUBLIC","source_system": "API","external_reference": "JRQ$677-1247","stellennummer_egov": "242461596","stellennummer_avam": null,"fingerprint": null,"reporting_obligation": false,"reporting_obligation_end_date": null,"report_to_avam": false,"job_center_code": null,"job_center_user_id": null,"approval_date": null,"rejection_date": null,"rejection_code": null,"rejection_reason": null,"cancellation_date": null,"cancellation_code": null,"job_content": {"external_url": "https://ohws.prospective.ch/public/v1/jobs/815aefde-3ba6-4e45-bc71-e0ff22522b95","number_of_jobs": "1","job_descriptions": [{"language_iso_code": "de","title": "Technische:r Einkäufer:in","description": "100%\n\nunbefristet\n\nStadler bietet vielseitige Möglichkeiten für eine internationale Karriere. Bei Stadler bekommst du die Chance, über dich hinaus zu wachsen, Verantwortung zu übernehmen und grossartige Leistungen im Team zu erbringen. Wir sind auf der Suche nach motivierten Talenten, die mit uns die Zukunft der Mobilität gestalten möchten. Bist du bereit, um mit uns grossartige Dinge zu erreichen?\n\n**DEINE AUFGABENBEREICHE**\n\n<br />\n\n* Beschaffung von fahrwerksspezifischen Komponenten -- effizient und kostenbewusst\n* Steuerung des gesamten Beschaffungsprozesses von der Anfrage bis zur Rechnungsfreigabe\n* Du behältst die Lagerbestände, Liefertermine und KPIs stets im Blick\n* Selbständige Verhandlung von Einzelkomponenten und Verträgen mit unseren Zulieferpartnern\n* Stringentes Reporting in die einzelnen Projekte\n\n<br />\n\n**DEINE BERUFLICHEN ERFAHRUNGEN**\n\n<br />\n\n* Technische Grundausbildung mit kaufmännischer Weiterbildung\n* Mindestens 5 Jahre Erfahrung im Einkauf, idealerweise im Industrieumfeld\n* Verhandlungssicher in Deutsch und Englisch (mündlich \\& schriftlich)\n* Zuverlässig, durchsetzungsstark, verhandlungsgewandt und voller Tatendrang\n* Du bist ein Macher und pflegst einen proaktiven Austausch\n* Kenntnisse in der Materialdisposition sind von Vorteil\n\n<br />\n\n**UNSER VERSPRECHEN AN DICH**\n\n<br />\n\n* Ein kollegiales Arbeitsumfeld und die Zusammenarbeit in qualifizierten und leidenschaftlichen Teams\n* Einen Handlungs- und Gestaltungsspielraum, in welchem Du die Erwartungen an Deine Arbeit umsetzen kannst\n* Eine wertschätzende Kultur für Deine Leistungen\n* Du arbeitest für ein führendes Unternehmen, welches die Zukunft der globalen Mobilität täglich prägt\n\n<br />\n\n**DEINE BENEFITS**\n\nBei Stadler bekommst Du eine Vielfalt an Benefits, wie zum Beispiel\n\n* Finanzielle Zuschüsse für ZVV- oder SBB --Abo und Fitness-Abo\n* Unterstützung von Weiterbildungsmöglichkeiten (finanziell oder mit Teilzeitmöglichkeiten)\n* Verpflegungsmöglichkeiten in der Migros Kantine\n\n<br />\n\nDEIN STANDORT\n\nWerde Teil unseres Teams von Stadler in Bussnang, das als Kompetenzzentrum für verschiedene Produkttypen dient und der Division Schweiz angehört.\n\nDEINE ANSPRECHPERSON\n\n**Borhan Bas**\nHR Business Partner\n+41 79 581 03 55\n"}],"company": {"name": "Stadler Bussnang AG","street": "Ernst-Stadler-Strasse 4","house_number": null,"postal_code": "9565","city": "Bussnang","country_iso_code": "CH","post_office_box_number": null,"post_office_box_postal_code": null,"post_office_box_city": null,"phone": null,"email": null,"website": null,"surrogate": false},"employment": {"start_date": null,"end_date": null,"short_employment": false,"immediately": true,"permanent": true,"workload_percentage_min": "100","workload_percentage_max": "100","work_forms": []},"location": {"id": null,"remarks": null,"city": "Bussnang","postal_code": "9565","communal_code": "4921","region_code": "TG08","canton_code": "TG","country_iso_code": "CH","coordinates": {"lon": "9.082","lat": "47.558"}},"occupations": [{"avam_occupation_code": "101686","work_experience": "NO_EXPERIENCE","education_code": null,"qualification_code": null}],"language_skills": [],"apply_channel": {"raw_post_address": null,"post_address": null,"email_address": null,"phone_number": null,"form_url": "https://ohws.prospective.ch/public/v1/redirect/815aefde-3ba6-4e45-bc71-e0ff22522b95/ats","additional_info": null},"public_contact": null},"publication": {"start_date": "2026-07-09","end_date": "2026-08-07","eures_display": false,"eures_anonymous": false,"public_display": true,"restricted_display": true,"company_anonymous": false},"owner": null,"from_url": "https://www.job-room.ch/job-search"}
Each scraped job returns 23 fields spanning job content, administrative metadata, and government tracking information:
Core Identification
| Field | Meaning | Example |
|---|---|---|
ID | Unique Job-Room identifier for the posting | 12345678 |
Fingerprint | Hash-based job fingerprint for deduplication | a1b2c3d4e5f6 |
External Reference | Third-party reference ID (if applicable) | EXT-2024-001 |
Timeline & Status
| Field | Meaning | Example |
|---|---|---|
Created Time | When the job was posted to Job-Room | 2024-01-15T09:30:00Z |
Updated Time | Last update timestamp | 2024-01-20T14:22:00Z |
Status | Current posting status (e.g., published, expired, withdrawn) | published |
Approval Date | Date job was approved by moderators | 2024-01-15T10:00:00Z |
Rejection Date | If rejected, the rejection date | null or 2024-01-15 |
Cancellation Date | Date the job was withdrawn or filled | null or 2024-02-15 |
Swiss Government & Reporting
| Field | Meaning | Example |
|---|---|---|
Stellennummer EGOV | Swiss official employment number (EGOV system) — used for government labor statistics | CH-GEN-2024-5678 |
Stellennummer AVAM | Swiss unemployment insurance registry number (AVAM — "Arbeitslosenversicherung AVAM") | AVAM-01-2024-9876 |
Reporting Obligation | Whether this job triggers mandatory reporting to AVAM | true |
Reporting Obligation End Date | Deadline for reporting requirements | 2024-03-15 |
Report To AVAM | Confirmation that the job was reported to AVAM | true |
Administrative & Processing
| Field | Meaning | Example |
|---|---|---|
Source System | System origin (e.g., "jobroom", "partner_feed") | jobroom |
Job Center Code | Regional employment center identifier | ZH-001 |
Job Center User ID | ID of the employment center staff member handling the posting | staff-user-456 |
Rejection Code | Standardized code if job was rejected (e.g., compliance, incomplete) | INVALID_DATA |
Rejection Reason | Human-readable rejection explanation | Missing required fields |
Cancellation Code | Reason for withdrawal (e.g., filled, no longer needed) | POSITION_FILLED |
Job Content & Publication
| Field | Meaning | Example |
|---|---|---|
Job Content | Full job description, requirements, salary (if provided), and employer details | Long HTML/text block |
Publication | Publication metadata (e.g., visibility settings, featured status) | {"visible": true, "featured": false} |
Owner | Employer/organization details (name, contact, registration) | {"name": "Acme Corp", "contact": "hr@acme.ch"} |
How to Use
- Identify URLs — Browse Job-Room.ch and identify search results or filtered pages (e.g., by region, industry, or keyword). Copy the page URL.
- Build the configuration — Add URLs to the
urlsarray and setmax_items_per_url(recommend: 200). - Set error handling — Enable
ignore_url_failures: trueto skip failed URLs without stopping the entire run. - Execute the scraper — Start the run and monitor the log for progress.
- Export results — Download scraped data in JSON, CSV, or Excel format.
Troubleshooting:
- If results are incomplete, verify the URL is a valid Job-Room search page (not a single job detail).
- Government fields (EGOV, AVAM) may be
nullfor listings that don't trigger reporting obligations. - Use status filters to exclude old or expired postings.
Use Cases & Applications
- Labor market dashboards: Monitor Swiss job creation by region, sector, and qualification level
- Policy impact analysis: Measure effects of labor market reforms on job supply
- Talent forecasting: Identify hiring trends and emerging skills demand
- Academic research: Study employment patterns, wage trends, and sectoral shifts
- Compliance monitoring: Track reporting obligation compliance for employment centers
The comprehensive government metadata ensures data quality and regulatory compliance, making it ideal for official reporting and academic research.
Important Notes
The output includes government-mandated fields (EGOV, AVAM, reporting obligations) that reflect Switzerland's employment administration framework. These fields are essential for:
- Official labor statistics compilation
- Unemployment insurance (AVAM) compliance
- Regional employment center reporting
- Legislative employment data tracking
Not all postings include these fields—they are populated only when applicable under Swiss law.
Conclusion
The Job-Room.ch Jobs Search Scraper provides structured access to Switzerland's official employment data, combining public job content with administrative metadata. Whether you're conducting labor market research, building a job aggregator, or analyzing Swiss hiring trends, this scraper delivers reliable, comprehensive data at scale. Start scraping today and unlock insights from one of Europe's most transparent employment platforms.