jobup.ch Scraper — Swiss Jobs in Geneva & Lausanne (Romandie)
Pricing
from $0.64 / 1,000 jobs
jobup.ch Scraper — Swiss Jobs in Geneva & Lausanne (Romandie)
jobup.ch jobs scraper for French-speaking Switzerland (Geneva, Lausanne…): title, company, place, salary range in CHF, workload %, languages, posting dates, full description — plus job alerts: only jobs new since your last run. Keyword, location or search URL. No login.
Pricing
from $0.64 / 1,000 jobs
Rating
0.0
(0)
Developer
Northbell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
jobup.ch Scraper
Stop re-checking jobup.ch by hand: get only the new jobs for your searches every morning — in a sheet, Slack or your own job board. Search jobup.ch (French-speaking Switzerland) by keyword, location or a pasted search URL and get every matching job as clean JSON with the salary split into min / max / interval; schedule it and each run marks which jobs are new since your last run.
**Measured, not estimated:** 300 jobs in 86 s, about **$0.0046 of Apify platform usage per 1,000 jobs** at 512 MB (our running cost — included in the price, nothing on top) (2026-09-30).Don't know which companies to watch? The Greenhouse Jobs Scraper searches 4,800 companies by job title — no company names needed — and reports exactly which matching roles are new or closed each run.
How "new since last run" works
The Actor remembers which jobs each search returned last time. A job it has not seen before is marked isNewSinceLastRun: true.
If the whole search fits within Max jobs, the comparison is exact and jobs that disappeared come back as type: "closed" rows. If the search is bigger than Max jobs, a job only counts as new when it was also posted after your previous run — so an old job that merely moved into view is never reported as new.
Filters (title, location text, salary, remote) never change the comparison, so changing a filter never makes jobs look new.
What you get
| Field | |
|---|---|
title, company, location | as listed |
salaryMin, salaryMax, salaryCurrency, salaryInterval | the salary range as published (CHF per year) — null when not shown |
workloadMinPercent, workloadMaxPercent | the workload the Swiss way, e.g. 80–100% |
languages | languages the employer asks for |
preview, description | the search preview and the full job text (turn off with Include the full description) |
postedAt, firstPostedAt, isPaidListing | current and first publication dates, and whether it is a paid listing |
isNewSinceLastRun | true / false, or null on the first run (unknown, not "old") |
jobUrl | link to the job on jobup.ch |
search | which of your searches returned it |
Input
Put one search per line in Searches (e.g. comptable) and optionally a Location (e.g. Genève). Or set the filters on the site and paste the result page into Search URLs (e.g. https://www.jobup.ch/fr/emplois/?term=comptable&location=Gen%C3%A8ve) — every filter the site has then applies. Many searches in one run are cheaper than one run each.
A search the site refuses comes back as an error row and the run carries on.
Example output
One real row from a test run (long text shortened here with …).
{"type": "job","provider": "jobup","search": "comptable","jobId": "c359fdc5-c720-440b-8ed0-a5a912e88794","title": "CDI - Comptable Général / Unique - 60-70% - Monthey","company": "Fed Group","location": "Monthey","salaryMin": 80000,"salaryMax": 95000,"salaryCurrency": "CHF","salaryInterval": "year","workloadMinPercent": 60,"workloadMaxPercent": 60,"languages": [],"preview": "Fondé en 2001, le cabinet Fed Finance est spécialiste du recrutement intér","postedAt": "2026-10-06T16:10:30.000Z","firstPostedAt": "2026-10-06T16:10:30.000Z","isPaidListing": true,"jobUrl": "https://www.jobup.ch/en/jobs/detail/c359fdc5-c720-440b-8ed0-a5a912e88794/","companyLogo": "https://media.jobup.ch/media/c8795a9e-858c-45c8-a9b1-4edbd6e6dad2.jpg?dimensions=320x0","countryCode": "CH","remote": null,"employmentType": null,"seniority": "mid","employmentTypes": ["part-time"],"description": "Founded in 2001, the Fed Finance firm specialises in temporary and permanent recruitment for accounting and finance roles.\n\nPermanent Contract - General / Sole …","isNewSinceLastRun": false}
Get only the new jobs every morning (3 steps)
- Open this Actor in Apify Console, fill in your searches, set What to return to Only jobs that are new since the last run, and click Save as a new task.
- On the task, add a Schedule — for example daily at 07:00.
- Open the task's Integrations tab and connect Slack, email, Google Sheets (or Zapier / Make / a webhook). Each morning you get only the new jobs.
You pay only for the new jobs plus $0.01 per run, so a quiet day costs about a cent. When you export by hand, pick the Jobs view: 12 tidy columns, title first, instead of every raw field.
Pricing
$0.80 per 1,000 jobs, plus $0.01 per run. Closed-job rows and errors are free. With Only jobs that are new since the last run, a daily schedule only pays for the new ones.
For AI agents
For a fast answer call with {"searches": ["comptable"], "maxJobsPerSearch": 20, "includeDescription": false} — a few seconds. The defaults (up to 200 jobs with full descriptions) can take about a minute, which is longer than many agent tool timeouts. Each row has type: job, closed or error. isNewSinceLastRun: null means "no previous run to compare with".
Same filters on every site (10/2026): experience level (read from the title: intern → executive, returned as a seniority column) and employment type (the site's own words normalised into full-time / part-time / contract / temporary / internship, returned as employmentTypes). They only narrow what is returned — no extra requests, no extra cost.
Zero rows is never ambiguous. The run's status message says why, per search — e.g. "zzz": no results on the site, results found but all removed by your filters or nothing new since the last run — and the OUTPUT record in the run's key-value store has the same as JSON: perSearch[].status is ok, no-results, all-filtered, nothing-new or error, with listed, read, returned, new and closed. Set summaryRows: true to get it as free type: "summary" rows instead.
Same core columns on every northbell job scraper (15 job sites + 10 company-career-page scrapers), so you can stack them into one table: jobId, title, company, location, countryCode (ISO, job sites), remote (true / false / null), employmentType (the site's own words), postedAt, jobUrl, salaryMin, salaryMax, salaryCurrency, salaryInterval, isNewSinceLastRun. Unknown is null, never a guess.
More job scrapers from northbell
Job sites: SEEK · JobStreet · JobsDB · Instahyre · Reed · InfoJobs · XING · Dice · HelloWork · Computrabajo · Foundit · jobs.ch · jobup.ch · Arbeitsagentur · Arbeitnow · Visa Sponsorship Jobs.
Company career pages with exact new/closed tracking: Greenhouse · Lever · Workday · AI companies.