Ostjob.ch Scraper - Eastern Switzerland Job Board avatar

Ostjob.ch Scraper - Eastern Switzerland Job Board

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Ostjob.ch Scraper - Eastern Switzerland Job Board

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

Alessandro Santamaria

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

2 days ago

Last modified

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 JobListing schema format with search_query tracking
  • Rate-limited - Respectful 4-second delays between API requests
  • Proxy support - Built-in proxy rotation for reliability

Input

FieldTypeDescriptionDefault
directUrlsarrayList of job URLs to scrape directly (for still alive checks)[]
searchQueriesstring[]List of search queries to run (multi-query mode)[]
searchQuerystringSingle search query (backward compatible)"" (all jobs)
locationstringCanton, district, or city name (e.g., "St. Gallen", "Thurgau"). Auto-resolves."" (all Eastern Switzerland)
maxResultsintegerMaximum total results across all queries. 0 = unlimited.0
maxResultsPerQueryintegerMaximum results per individual query100
sortOrderstringSort order: by_relevance or by_dateby_relevance
workloadMinintegerMinimum workload/Pensum percentage (0-100)-
workloadMaxintegerMaximum workload/Pensum percentage (0-100)-
includeJobDetailsbooleanFetch full job descriptionstrue
companyFilterstringFilter by company type: all, exclude-hr, only-hrall
llmApiKeystringAPI key for LLM contact extraction (optional, secret)-
llmModelstringLLM model for contact extractionnone
proxyConfigurationobjectApify proxy settingsResidential

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

FieldDescription
search_queryThe search query that found this job (for multi-query tracking)
job_statusJob availability: "online", "offline". Only set in DIRECT URL mode.
contact_rawRaw HTML/text contact block from the job posting
contact_emailEmail address - extracted via regex
contact_phonePhone number - extracted via regex
company_descriptionCompany about/description text
company_social_urlsObject with social media links
company_benefitsArray 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:

CantonMajor Cities
SGSt. Gallen, Rapperswil, Wil
TGFrauenfeld, Kreuzlingen, Arbon
ARHerisau, Teufen
AIAppenzell
GRChur, Davos, St. Moritz
GLGlarus

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)

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