Ostjob.ch Scraper - Eastern Switzerland Job Board
Pricing
from $3.00 / 1,000 results
Ostjob.ch Scraper - Eastern Switzerland Job Board
Scrapes job listings from Ostjob.ch, the leading job portal for Eastern Switzerland (St. Gallen, Thurgau, Appenzell, Graubünden). Filter by canton, workload, and company type. Includes optional LLM-powered contact extraction.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer

Alessandro Santamaria
Actor stats
1
Bookmarked
3
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Ostjob.ch Job Scraper
Scrapes job listings from ostjob.ch, the leading job portal for Eastern Switzerland (Ostschweiz).
Three Scraping Modes
This actor supports three distinct scraping modes for different use cases:
1. SEARCH MODE (Default)
Search for jobs using query/location filters. Supports multiple search queries in a single run.
Use case: Regular job scraping, finding new opportunities
Example input:
{"searchQuery": "Informatiker","location": "St. Gallen","maxResults": 200}
2. MULTI-QUERY MODE
Run multiple search queries in a single actor run. Each query gets its own result limit and results are deduplicated across queries.
Use case: Scraping multiple job categories efficiently
Example input:
{"searchQueries": ["Informatiker", "Pflege", "Buchhaltung", "Elektriker"],"location": "St. Gallen","maxResultsPerQuery": 50,"maxResults": 0}
3. DIRECT URL MODE
Check if specific job URLs are still online (still alive checks). Fetches jobs by their URLs directly from the API.
Use case: Monitoring if previously scraped jobs are still available, updating job status in your database
Example input:
{"directUrls": ["https://www.ostjob.ch/job/software-entwickler/12345","https://www.ostjob.ch/job/projekt-manager/67890","https://www.ostjob.ch/job/verkaufsberater/54321"]}
Output: Each job will have a job_status field:
"online"- Job is still available, full data extracted"offline"- Job not found (404) or removed
Features
- Multi-query support - Run multiple search queries in a single actor run with per-query limits
- API-based scraping - Uses the official Ostjob API for fast, reliable data extraction
- Smart location filtering - Enter any canton, district, or city name - auto-resolves via API
- Sort by date - Get newest jobs first for job monitoring use cases
- Workload filter - Filter by Pensum percentage (e.g., 40-60% for part-time)
- Regional focus - Specializes in jobs from St. Gallen, Thurgau, Appenzell, Graubunden, and surrounding areas
- Comprehensive job data - Extracts title, company, location, workload, contact details, and more
- Company enrichment - Includes company description, social media URLs, and benefits when available
- LLM-powered contact extraction - Optional AI-powered extraction of contact person details (salutation, first name, last name) using Groq or OpenRouter
- HR company filtering - Filter out recruitment agencies to get direct employer postings, or filter to only show HR agencies
- Still alive checks - Verify if specific job URLs are still active
- Standardized output - Returns data in the
JobListingschema format withsearch_querytracking - Rate-limited - Respectful 4-second delays between API requests
- Proxy support - Built-in proxy rotation for reliability
Input
| Field | Type | Description | Default |
|---|---|---|---|
directUrls | array | List of job URLs to scrape directly (for still alive checks) | [] |
searchQueries | string[] | List of search queries to run (multi-query mode) | [] |
searchQuery | string | Single search query (backward compatible) | "" (all jobs) |
location | string | Canton, district, or city name (e.g., "St. Gallen", "Thurgau"). Auto-resolves. | "" (all Eastern Switzerland) |
maxResults | integer | Maximum total results across all queries. 0 = unlimited. | 0 |
maxResultsPerQuery | integer | Maximum results per individual query | 100 |
sortOrder | string | Sort order: by_relevance or by_date | by_relevance |
workloadMin | integer | Minimum workload/Pensum percentage (0-100) | - |
workloadMax | integer | Maximum workload/Pensum percentage (0-100) | - |
includeJobDetails | boolean | Fetch full job descriptions | true |
companyFilter | string | Filter by company type: all, exclude-hr, only-hr | all |
llmApiKey | string | API key for LLM contact extraction (optional, secret) | - |
llmModel | string | LLM model for contact extraction | none |
proxyConfiguration | object | Apify proxy settings | Residential |
Output
Each job listing follows the standardized JobListing schema:
{"id": "12345","title": "Software Entwickler (m/w/d)","company": "Tech Solutions AG","location": "St. Gallen, 9000, SG","canton": "SG","search_query": "Informatiker","job_status": "online","employment_type": "full-time","workload_min": 80,"workload_max": 100,"remote_option": null,"description_snippet": "Wir suchen einen erfahrenen Entwickler...","description_full": "...","requirements": ["3+ Jahre Erfahrung in Java"],"posted_at": "2024-01-15T00:00:00.000Z","expires_at": "2024-02-28T00:00:00.000Z","source_url": "https://www.ostjob.ch/job/software-entwickler/12345","source_platform": "ostjob.ch","contact_email": "jobs@techsolutions.ch","contact_phone": "+41712345678","apply_url": "https://careers.techsolutions.ch/apply","company_url": "https://www.techsolutions.ch","scraped_at": "2024-01-16T12:00:00.000Z"}
Output Fields
| Field | Description |
|---|---|
search_query | The search query that found this job (for multi-query tracking) |
job_status | Job availability: "online", "offline". Only set in DIRECT URL mode. |
contact_raw | Raw HTML/text contact block from the job posting |
contact_email | Email address - extracted via regex |
contact_phone | Phone number - extracted via regex |
company_description | Company about/description text |
company_social_urls | Object with social media links |
company_benefits | Array of company benefits/perks |
Usage
Multi-Query Example
{"searchQueries": ["Informatiker", "Pflege", "Buchhaltung"],"location": "St. Gallen","maxResultsPerQuery": 50,"maxResults": 0,"sortOrder": "by_date"}
Via API
curl -X POST "https://api.apify.com/v2/acts/santamaria~ostjob-ch-scraper/runs" \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["Pflege", "Informatiker"],"location": "Thurgau","maxResultsPerQuery": 100}'
Covered Regions
Ostjob.ch specializes in jobs from Eastern Switzerland:
| Canton | Major Cities |
|---|---|
| SG | St. Gallen, Rapperswil, Wil |
| TG | Frauenfeld, Kreuzlingen, Arbon |
| AR | Herisau, Teufen |
| AI | Appenzell |
| GR | Chur, Davos, St. Moritz |
| GL | Glarus |
Performance
- Speed: ~100-200 jobs/minute (limited by respectful rate limiting)
- Cost: ~0.01-0.03 CU per 500 jobs
- Reliability: Built-in retry logic and error handling
Data Source
- Website: ostjob.ch
- API: Public vacancy search API (
https://api.ostjob.ch/public/vacancy/) - Coverage: Eastern Switzerland (Ostschweiz)
Legal Notice
This actor accesses publicly available job listings through the API. Please ensure your use case complies with the ostjob.ch terms of service.
Part of the Santamaria Job Scrapers Suite - Professional-grade job data for the DACH region and beyond.
Need help with integration, aggregation, or custom scraping solutions? Contact us at contact@alessandrosantamaria.com