Jobs.ch Search Scraper avatar

Jobs.ch Search Scraper

Pricing

from $2.99 / 1,000 job details

Go to Apify Store
Jobs.ch Search Scraper

Jobs.ch Search Scraper

Scrape job listings from Jobs.ch, Switzerland's leading job board. Extract job titles, companies, locations, salary ranges, contract types, and descriptions for Swiss recruitment and job market analysis.

Pricing

from $2.99 / 1,000 job details

Rating

0.0

(0)

Developer

Jobs API

Jobs API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

This Actor extracts rich public job records from jobs.ch using bounded native HTTPS requests and Cheerio, locally or on Apify Cloud. It does not sign in, use browser fingerprinting or stealth plugins, submit applications, or fetch external application destinations.

Modes

  • search: query the public Jobs.ch vacancy search and enrich complete records from their detail pages.
  • single: enrich one official public vacancy URL using jobUrl, directUrl, or startUrl.
  • multiple: enrich several official public vacancy URLs using jobUrls, directUrls, or startUrls.

Search and detail requests are bounded by maxPages, maxItems, maxConcurrency, requestTimeoutSecs, retries, and delayMillis. Records are buffered until their detail identity, canonical URL, description, company, and location are verified. Incomplete records are never written to the dataset.

The dataset contains source-backed JSON-LD and visible-page fields, normalized locations, employment data, descriptions and sections, salary data when published, company metadata, explicit application actions when present, request receipts, and data-quality flags. An application URL is emitted only when an explicit public anchor or JSON-LD potentialAction supplies it.

Local validation

npm ci
npm test
npm run lint
npm run validate
apify validate-schema .actor\input_schema.json
apify run --purge --input-file INPUT.json

Use INPUT-single.json and INPUT-multiple.json for the direct-detail examples. A blocked or failed target exits non-zero, writes zero dataset rows, and records structured diagnostics in the local key-value store.

For cloud validation, deploy with apify push and use the three-item INPUT.json fixture at 512 MB with a 300-second timeout. OUTPUT_SUMMARY, RUN_HEALTH, RUN_DIAGNOSTICS, RUN_SKIPS, and SOURCE_RECEIPTS expose dynamic run/build/storage provenance and safe response hashes. Direct public access remains the default; proxy escalation is considered only when cloud evidence justifies it.