jobs.ch Swiss Jobs Scraper avatar

jobs.ch Swiss Jobs Scraper

Pricing

from $0.10 / 1,000 jobs

Go to Apify Store
jobs.ch Swiss Jobs Scraper

jobs.ch Swiss Jobs Scraper

Scrape Swiss job ads from jobs.ch: title, company, place, workload, dates and opt-in full description, salary, skills and benefits. Recruiter names and phones removed.

Pricing

from $0.10 / 1,000 jobs

Rating

0.0

(0)

Developer

LOUDTZU TZULOUD

LOUDTZU TZULOUD

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Scrapes public job ads from jobs.ch, Switzerland's largest job board, in German, French or English.

What you get per job: job ID, URL, title, company (name, ID, page), place, workload % (min/max), employment type and position IDs, first and latest publication date, "new" and "paid" flags and the logo.

With "Include job details" switched on (opt-in, charged per job): the full description and employer text, company website, posting/start/expiry dates, number of openings, employment type, work hours, postcode and locality, industry, category, salary range (when jobs.ch shows it), skills, benefits and languages.

Privacy

  • Recruiter contact fields (names, phones, photos) from jobs.ch are never copied.
  • Names, phone numbers and e-mails inside descriptions are replaced with [name], [phone] and [email] by a German/French/English masker. It is built on openly licensed name lists: Wikidata (CC0) given names and surnames for Germany, Switzerland, France, Belgium, Luxembourg, Albania, Kosovo, North Macedonia and other countries, and SCOWL (permissive licence) for common English words. Masking is heuristic: it errs on the side of masking, so a company named after a person (e.g. "Walter Mäder AG") may be masked too, and so may a company or department name placed right after a contact heading (e.g. "Kontakt\nMigros Aare" becomes "Kontakt\n[name]"). Product prefixes such as "MS SQL" or "MS Office" are kept. After strong contact cues ("Kontakt:", "Ihre Ansprechperson ist", "Your contact is", "Bewerbung an", "X (HR) freut sich") an unlisted two-word name is masked too, unless a word is an ordinary German word form (Wikidata lexemes, CC0, src/data/de_wikidata_forms.txt.xz), a Swiss or German place word (Wikidata, CC0, src/data/ch_places.txt.xz, src/data/de_places.txt.xz), a common English word, or a company/department word (AG, GmbH, Recruiting, Klinik, Service …). All data files are CC0, SCOWL (MIT-style) or OGL v3; no GPL data.
  • Phone numbers and e-mails get a final pass over every text field just before saving (shared masker, 0.2.6): Swiss, German, Austrian, Dutch, Polish and other international formats (+CC, 00CC, (0), brackets, dots, slashes, digits glued to "T"/"Tel"/"WhatsApp") and spelled-out e-mails ("at"/"dot", "(at)", "punkt"). Labelled reference numbers (Ref., Referenz-Nr., UID, CHE-…) and salaries are kept. Links, image URLs and IDs are never changed.
  • French/Italian/English contact cues with a role title ("Votre contact: responsable RH …", "Persona di contatto: responsabile …", "Your contact: Head of HR …") and same-line greetings ("Freundliche Grüsse, …") are masked. Known over-mask: a role word followed by a project or place name ("Kontakt: Bauleiter Neubau Süd") can become "Bauleiter [name]".

How it works

Only the public HTML search and vacancy pages are read (no /api/ calls, which robots.txt disallows), with plain HTTP requests over Apify datacenter proxy. No login.

Input

FieldDescription
Search termsKeywords, e.g. python, Pflege, comptable. jobs.ch no longer has a keyword-less "all jobs" listing, so if you leave this and Start URLs empty the Actor searches the default keyword Informatik and says so in the run status.
LocationsSwiss places or cantons, e.g. Zürich, Genève. Every term is searched in every location.
Search URLsOptional jobs.ch search page URLs, with any filters set on jobs.ch.
Max jobsTotal cap (default 100, up to 50,000).
Include job detailsOpens every vacancy page (slower, charged per job).
Languagede, fr or en (labels and links).

Pricing

Pay per event (beta):

EventPrice
Run start (once per run, charged only after the first job is saved; failed runs and runs with 0 jobs cost $0)$0.0007
Job (search results data)$0.0001 ($0.10 per 1,000)
Job details (opt-in, per job whose vacancy page was read)$0.0001 ($0.10 per 1,000)

So 1,000 jobs cost $0.1007 for search data, or $0.2007 with details.

How this compares (Apify Store, checked 2026-10-24, cheapest tier shown)

ActorPer 1,000 jobsStart fee1,000 jobs
This Actor$0.10 (+$0.10 details)$0.0007$0.10 / $0.20 with details
santamaria-automationssearch $2.87 Free / $2.75 Bronze / $2.60 Silver / $2.49 Gold+; details $5.00 Free+Bronze / $4.75 Silver / $4.50 Gold+$0.001$2.49–$2.87 / $6.99–$7.87 with details
lexis-solutions$1.91 Free → $1.27 Gold+$0.0025$1.27–$1.91
blackfalcondata$2.00$0.001$2.00
gubidonius$0.01$0.00001$0.01
deriverge$0.50 Free → $0.25 Gold+, details includednone$0.25–$0.50
automation-lab$1.84 → $0.448$0.005from $0.45
northbell$0.80 → $0.64$0.01from $0.65
piotrv1001$0.80none$0.80
jpmarketdata$0.90none$0.90
plainrows$1.20 → $0.90nonefrom $0.90
unfenced-group$1.50 → $0.90nonefrom $0.90
shahidirfan$0.99$0.0005$0.99
scrapestorm (search, 56 users)$2.89$0.00005$2.89 (details: separate Actor, $2.99 / 1k)

Honest notes:

  • gubidonius is cheaper at every run size ($0.01 per 1,000 jobs; it has 2 users).
  • deriverge is cheaper for very small runs: under 5 jobs on its Gold tier (under 2 on Free), or under 14 jobs with details on Gold (tie at 14; under 3 on Free). Above that, this Actor costs less.
  • It is cheaper than santamaria-automations, lexis-solutions, blackfalcondata, scrapestorm and every other jobs.ch Actor listed above at every run size and on every plan (e.g. 1 job: $0.0008 against santamaria's $0.0035+; 1,000 jobs with details: $0.2007 against $6.99+).
  • What it does not do: no recruiter contact fields (by design; santamaria's details include contact details), no Italian site language (only de/fr/en), and no "new jobs only" / incremental mode (blackfalcondata and deriverge have one).
  • Masking gaps: names are found by cues (Kontaktperson, Ansprechperson, Ihr Kontakt, Votre contact, Persona di contatto, 'steht Ihnen (gerne)', 'erteilt Ihnen gerne', 'beantwortet', 'Cordialement,', 'Kind regards,', 'X Y freut sich', a name line followed by a role or phone line) and by the name lists. A name with no cue and not on a list, in running text, can still get through; a company named after a person can be masked.