Ostjob.ch Job Scraper

The NanoScrape Ostjob Scraper is an Apify actor that extracts job listings from ostjob.ch. It returns 42 fields per result including title, company, location, company_name, company_website, priced at $3/1k result, with no API key or monthly subscription required.

Ostjob.ch (Regional, Switzerland): job portal for Eastern Switzerland (St (source platform). Gallen, Thurgau, Appenzell, Graubünden). Canton filter, workload, and optional LLM contact extraction.

Open on Apify → Read the tutorial
Pricing
$3.00 / 1,000 result
Runtime
Cloud (Apify)
Proxy
Residential
Coverage
CH

What you can scrape — 42 fields per result

FieldTypeExampleGroupFill %
idstring1105181Core100%
titlestringEmbedded Softwareingenieure/-innen (80-100%)Core100%
company_namestring | nullIMT AGCore100%
job_urlstring | nullhttps://www.ostjob.ch/job/embedded-softwareingenieure-innen-80-100-/1105181Core100%
source_urlstringhttps://www.ostjob.ch/job/embedded-softwareingenieure-innen-80-100-/1105181Core100%
source_platformstringostjob.chCore100%
apply_urlstring | null(populated when data available)Core60%
company_urlstring | nullhttp://www.imt.ch/Core100%
company_logo_urlstring | nullhttps://api.ostjob.ch/public/image/2aa955a432b26aab8492Core100%
company_social_urlsarray | null(populated when data available)Core20%
companystring | nullIMT AGCompany100%
company_websitestring | nullhttp://www.imt.ch/Company100%
company_aboutstring | nullSeit 1991 widmet sich die IMT mit Leidenschaft und einem interdisziplinären Team aus er...Company100%
company_descriptionstring | nullSeit 1991 widmet sich die IMT mit Leidenschaft und einem interdisziplinären Team aus er...Company100%
company_addressstring | nullGewerbestrasse 8, 9470, Buchs (SG), SchweizCompany100%
company_benefitsarray | null(populated when data available)Company—
locationstringSchwerzenbach, 8603, ZHLocation100%
description_snippetstring | nullDeine Aufgaben Konzeption, Architektur, Design und Implementierung von Embedded Realtim...Description100%
description_fullstring | nullDeine Aufgaben Konzeption, Architektur, Design und Implementierung von Embedded Realtim...Description100%
salary_minnumber | null(populated when data available)Salary—
salary_maxnumber | null(populated when data available)Salary—
salary_currencystring(populated when data available)Salary—
salary_periodstring | null(populated when data available)Salary—
employment_typestring | nullfull-timeEmployment100%
remote_optionstring | nullhybridEmployment60%
requirementsarray[]Requirements—
posted_atstring | null2026-10-30T23:40:02.125ZMetadata100%
scraped_atstring2026-10-31T06:01:19.075ZMetadata100%
cantonstring | nullZHOther100%
job_statusstring | null(populated when data available)Other—
workload_minnumber | null80Other100%
workload_maxnumber | null100Other100%
expires_atstring | null2026-12-04T00:00:00.000ZOther40%
contact_salutationstring | null(populated when data available)Other—
contact_firstnamestring | null(populated when data available)Other60%
contact_lastnamestring | null(populated when data available)Other60%
contact_emailstring | null(populated when data available)Other60%
contact_phonestring | null(populated when data available)Other60%
contact_positionstring | null(populated when data available)Other40%
contact_rawstring | null(populated when data available)Other100%
apply_emailstring | null(populated when data available)Other60%
search_querystring | nullInformatikerOther100%

Input example — showcase (full detail)

{
  "includeJobDetails": true,
  "maxResults": 30,
  "maxResultsPerQuery": 10,
  "searchQueries": [
    "Informatiker",
    "Pflege",
    "Buchhaltung"
  ]
}

Output example — real dataset item (PII scrubbed)

{
  "id": "1105181",
  "title": "Embedded Softwareingenieure/-innen (80-100%)",
  "company_name": "IMT AG",
  "company": "IMT AG",
  "location": "Schwerzenbach, 8603, ZH",
  "country": "CH",
  "canton": "ZH",
  "employment_type": "full-time",
  "workload_min": 80,
  "workload_max": 100,
  "remote_option": "hybrid",
  "description_snippet": "Deine Aufgaben Konzeption, Architektur, Design und Implementierung von Embedded Realtime Softwaresystemen im Medizinaltechnik- und Industrieumfeld Interdisziplinäre Zusammenarbeit mit den Fachbereichen Elektronik, Mess-, Steuer- und Regelungstechnik sowie Mechanik Mitarbeit bei der Erstellung von Spezifikationen und Pflichtenheften Entwicklung von Embedded Software nach hohen Qualitätsstandards (Clean Code) Sicherstellung des ...",
  "description_full": "Deine Aufgaben Konzeption, Architektur, Design und Implementierung von Embedded Realtime Softwaresystemen im Medizinaltechnik- und Industrieumfeld Interdisziplinäre Zusammenarbeit mit den Fachbereichen Elektronik, Mess-, Steuer- und Regelungstechnik sowie Mechanik Mitarbeit bei der Erstellung von Spezifikationen und Pflichtenheften Entwicklung von Embedded Software nach hohen Qualitätsstandards (Clean Code) Sicherstellung des ...",
  "description_md": "Deine Aufgaben\n\nKonzeption, Architektur, Design und Implementierung von Embedded Realtime Softwaresystemen im Medizinaltechnik- und Industrieumfeld\nInterdisziplinäre Zusammenarbeit mit den Fachbereichen Elektronik, Mess-, Steuer- und Regelungstechnik sowie Mechanik\nMitarbeit bei der Erstellung von Spezifikationen und Pflichtenheften\nEntwicklung von Embedded Software nach hohen Qualitätsstandards (Clean Code)\nSicherstellung des ...",
  "requirements": [],
  "posted_at": "2026-10-30T23:40:02.125Z",
  "expires_at": "2026-12-04T00:00:00.000Z",
  "job_url": "https://www.ostjob.ch/job/embedded-softwareingenieure-innen-80-100-/1105181",
  "source_url": "https://www.ostjob.ch/job/embedded-softwareingenieure-innen-80-100-/1105181",
  "apply_url": null,
  "source_platform": "ostjob.ch",
  "contact_salutation": null,
  "contact_firstname": null,
  "contact_lastname": null,
  "contact_email": null,
  "contact_phone": null,
  "contact_position": null,
  "contact_raw": null,
  "apply_email": null,
  "company_website": "http://www.imt.ch/",
  "company_url": "http://www.imt.ch/",
  "company_about": "Seit 1991 widmet sich die IMT mit Leidenschaft und einem interdisziplinären Team aus erfahrenen Ingenieuren dem Erfolg unserer renommierten Kunden. Wir entwickeln innovative Produkt- und Softwarelösungen in den Bereichen Medizintechnik , Industrie und System-Engineering , um Ihre Herausforderungen erfolgreich zu meistern. Bei der IMT pflegen wir eine ungezwungene Atmosphäre, getragen von einer flachen Hierarchie und einer Kultur, in der Respekt und Wertschätzung den Grundton bestimmen. Du bist in einem modernen und agilen Umfeld tätig, in dem du auf ein vielfältiges Team aus unterschiedlichsten Disziplinen stösst. Wir bieten dir die Möglichkeit, deine Erfahrungen einzubringen und kontinuierlich neues Wissen zu erlangen. Wir arbeiten anders als Personalleih-Unternehmen. Durch unseren ausschliesslich projektbasierten Ansatz bleiben unsere Mitarbeiter Teil von der IMT und wir erhalten unsere Teamkultur.",
  "company_description": "Seit 1991 widmet sich die IMT mit Leidenschaft und einem interdisziplinären Team aus erfahrenen Ingenieuren dem Erfolg unserer renommierten Kunden. Wir entwickeln innovative Produkt- und Softwarelösungen in den Bereichen Medizintechnik , Industrie und System-Engineering , um Ihre Herausforderungen erfolgreich zu meistern. Bei der IMT pflegen wir eine ungezwungene Atmosphäre, getragen von einer flachen Hierarchie und einer Kultur, in der Respekt und Wertschätzung den Grundton bestimmen. Du bist in einem modernen und agilen Umfeld tätig, in dem du auf ein vielfältiges Team aus unterschiedlichsten Disziplinen stösst. Wir bieten dir die Möglichkeit, deine Erfahrungen einzubringen und kontinuierlich neues Wissen zu erlangen. Wir arbeiten anders als Personalleih-Unternehmen. Durch unseren ausschliesslich projektbasierten Ansatz bleiben unsere Mitarbeiter Teil von der IMT und wir erhalten unsere Teamkultur.",
  "company_address": "Gewerbestrasse 8, 9470, Buchs (SG), Schweiz",
  "company_logo_url": "https://api.ostjob.ch/public/image/2aa955a432b26aab8492",
  "company_social_urls": null,
  "company_benefits": null,
  "search_query": "Informatiker",
  "scraped_at": "2026-10-31T06:01:19.075Z"
}

Cost math

Priced at $0.0030 per result. 10 results ≈ $0.03, 100 ≈ $0.30, 1,000 ≈ $3.00. The first runs land inside Apify's $5/mo free-tier credit — pay only for what you extract, no monthly subscription.

Who Should Use This

Swiss HR tech platforms and regional recruiters focused on the Eastern Switzerland cantons (SG, TG, AI, AR, GR) use Ostjob.ch as their primary source because it is the dominant regional board for this area with postings that do not appear on national Swiss portals. The Pensum workload filter is essential in a market where a large share of postings are at 60-100% and job seekers filter by percentage as their primary criterion. Recruitment agency prospectors use companyFilter: exclude-hr to surface direct employer postings and build outreach lists to hiring managers using the contact_person and contact_email fields. Monitoring pipelines use direct URL mode to verify that previously indexed listings are still live, keeping job feed databases up to date without full re-crawls.

Related Tutorials

Integrations

Run this actor directly on Apify (no code)

Click Open on Apify above to run ostjob-ch-scraper in your browser - no code, no install. In the Apify console you get:

Get your Apify API token

To run this actor from your own code you need an Apify API token. Get one in about a minute:

  1. Sign up for a free Apify account (Google, GitHub, or email).
  2. Go to Settings → Integrations → API tokens.
  3. Click Create a new API token. Copy it and keep it secret.

Free tier: Apify credits your account with $5 of platform usage every month, no credit card required. Enough to test any actor meaningfully. How many results that covers depends on the actor's price per result.

Call from code

Run this actor from any language via the Apify REST API. Replace YOUR_TOKEN with your API token and adapt the input JSON to your needs.

curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~ostjob-ch-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('santamaria-automations/ostjob-ch-scraper').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
# pip install apify-client
from apify_client import ApifyClient

client = ApifyClient('YOUR_TOKEN')
run = client.actor('santamaria-automations/ostjob-ch-scraper').call(run_input={})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(items)
// dotnet add package Apify.Client
using Apify.Client;

var client = new ApifyClient("YOUR_TOKEN");
var run = await client.Actor("santamaria-automations/ostjob-ch-scraper").CallAsync(new { });
var items = await client.Dataset(run.DefaultDatasetId).ListItemsAsync();
// Maven: com.apify:apify-client
import com.apify.client.ApifyClient;

ApifyClient client = new ApifyClient("YOUR_TOKEN");
ActorRun run = client.actor("santamaria-automations/ostjob-ch-scraper").call(Map.of());
List<Map<String,Object>> items = client.dataset(run.getDefaultDatasetId()).listItems();

Use with AI agents (MCP)

This actor is available on the Apify MCP server, so you can drive it from any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or a custom agent - without writing any code.

https://mcp.apify.com?tools=santamaria-automations/ostjob-ch-scraper

Example prompt once connected:

"Use <code>ostjob-ch-scraper</code> to run a scrape on my target list and give me the results as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.

Use with no-code platforms

Trigger this actor from your favorite automation tool. Every platform below can call the Apify API in a few clicks - no code required.

  1. Add the n8n Apify node (installed by default on n8n Cloud; on self-hosted install @apify/n8n-nodes-apify).
  2. Set Actor to santamaria-automations/ostjob-ch-scraper.
  3. Choose operation Run Actor and get dataset, paste your input JSON, and connect a downstream node (Google Sheets, Postgres, webhook, ...).
  1. Create a new Zap with any trigger.
  2. Add a Webhooks by Zapier POST action to https://api.apify.com/v2/acts/santamaria-automations~ostjob-ch-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Body: your input JSON. Content-Type: application/json.
  1. Create a new scenario.
  2. Add an HTTP module: URL https://api.apify.com/v2/acts/santamaria-automations~ostjob-ch-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, method POST, body raw JSON.
  3. Parse the response with a JSON module to iterate items downstream.
  1. Create a new workflow.
  2. Add an HTTP Request step: POST to https://api.apify.com/v2/acts/santamaria-automations~ostjob-ch-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Access steps.http.$return_value in subsequent steps.
  1. Install the API Connector plugin.
  2. Add a new API: POST https://api.apify.com/v2/acts/santamaria-automations~ostjob-ch-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, body type JSON.
  3. Initialize the call with your input, then reference the response array in workflow actions.

FAQ

How much does the ostjob-ch-scraper cost?

$3.00 / 1,000 result, billed per result on Apify. Apify's $5/month free tier covers the first runs. No monthly subscription — you only pay for what you extract.

What fields does it return?

42 fields per result. Full field catalog is listed in the 'What you can scrape' table above — includes core identifiers, descriptive text, dates, and any category-specific data.

Is scraping this site legal?

Scraping publicly available data is generally permitted in most jurisdictions, but GDPR applies to any personal data you collect. Review your local rules and consult a lawyer for commercial use.

Do I need an API key from the source platform?

No. This actor reads public pages over HTTP with residential proxies. No API key, no OAuth, no rate-limit management on your side.

How fresh is the data?

Every run pulls live data at execution time. Set up a schedule (daily/hourly/weekly cron) in the Apify console to keep your dataset current automatically.

Related actors in this category

Related tutorials

Open on Apify → Read the tutorial