jobup.ch Scraper avatar

jobup.ch Scraper

Pricing

from $1.30 / 1,000 results

Go to Apify Store
jobup.ch Scraper

jobup.ch Scraper

[💰 $1.3 / 1K] Extract job listings from jobup.ch, Switzerland's #1 job board — titles, companies, salary clues, workload %, contract type, locations, and full descriptions. Filter by keyword, location, contract, and workload.

Pricing

from $1.30 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Pull job listings from jobup.ch — Switzerland's #1 job board — at scale, with full descriptions, direct apply links, employer details, workload percentages, and contract types for every posting across the country. jobup.ch is trilingual, so titles and descriptions come back in the language the employer published them (German, French, or English). Built for Swiss recruiters, HR-tech and job-aggregator teams, and labor-market researchers who need fresh, structured jobup.ch data without rebuilding their pipeline every time the site ships a new layout.

Why This Scraper?

  • Workload-percentage range filtering (0–100%) — set a minimum and maximum workload to isolate Swiss part-time roles (e.g. 60–80%) or full-time only (90–100%). This is the facet that defines the Swiss job market, and it is sent straight to jobup.ch's own search.
  • Five contract types, server-side filtered — permanent, temporary/fixed-term, internship, freelance/contract, and apprenticeship. The filter runs on jobup.ch, so you only collect — and only pay for — jobs that match.
  • Full job descriptions plus direct apply URLs — every detail-enriched posting returns the complete description as clean plain text and HTML, alongside the employer's real external application link.
  • Trilingual output (German / French / English) — jobup.ch serves all of Switzerland, and each posting comes back in the language the employer wrote it, with localized labels honoring your chosen site language.
  • Employer identity on every row — company name, employer ID, and logo URL, so you can group postings by company or enrich an existing employer database.
  • Publication-date windows down to 24 hours — limit to the last 1, 3, 7, 14, or 30 days to capture only fresh openings and skip stale reposts.
  • Canton and region tagging — each job carries its city, canton/region code, and postal code, ready for geographic roll-ups across all 26 Swiss cantons.
  • Newest-first or relevance sorting — order by publication date for monitoring pipelines, or by relevance for keyword discovery.
  • Up to ~100,000 jobs per run — paste any jobup.ch search or job-detail link as a Start URL, or just type a keyword and location; pagination runs automatically to the cap.

Use Cases

Recruitment & Sourcing

  • Build live talent-pipeline feeds for specific roles and cantons
  • Monitor competitor job postings to track hiring momentum
  • Pull direct apply URLs in bulk for outreach and ATS import
  • Spot newly posted roles within the last 24 hours

HR-Tech & Job Aggregators

  • Power a job board or meta-search with structured Swiss listings
  • Keep an aggregator index fresh with newest-first daily pulls
  • Normalize trilingual postings into one clean schema

Labor-Market Research

  • Track Swiss hiring trends by canton, contract type, and workload
  • Quantify the part-time vs. full-time split using workload percentages
  • Analyze posting volume over publication-date windows

Relocation & Talent Mobility

  • Surface roles open to international candidates across Switzerland
  • Compare opportunity density between Zürich, Geneva, and other regions
  • Filter by workload for candidates seeking part-time or flexible roles

Competitive Salary & Demand Intelligence

  • Map which employers are hiring most aggressively by category
  • Measure demand for specific skills via keyword volume over time
  • Benchmark contract-type mix across industries

Getting Started

Just a keyword and a location:

{
"searchTerm": "software engineer",
"location": "Zürich",
"maxResults": 50
}

Permanent and temporary roles between 60% and 80% workload, posted in the last week, newest first:

{
"searchTerm": "marketing",
"location": "Genève",
"employmentType": ["permanent", "temporary"],
"workloadMin": 60,
"workloadMax": 80,
"publishedSince": "7",
"sortBy": "date",
"maxResults": 200
}

Using jobup.ch URLs

Paste any jobup.ch search page or individual job posting — these override the keyword and location fields:

{
"startUrls": [
"https://www.jobup.ch/en/jobs/?term=infirmier&location=Lausanne",
"https://www.jobup.ch/en/jobs/detail/abc123-def456/"
],
"includeDescription": true,
"maxResults": 100
}

Input Reference

ParameterTypeDefaultDescription
searchTermstring"software engineer"Job title, skill or keyword. Leave empty to browse all jobs. Ignored when Start URLs are provided.
locationstring"Zürich"City, canton or region, e.g. "Zürich", "Genève" or "Lausanne". Leave empty to search all of Switzerland. Ignored when Start URLs are provided.
startUrlsarray[]One or more jobup.ch URLs — search result pages or individual job postings. When provided, these override Search Keywords and Location.
languageselectEnglishSite language for titles and labels: English, German (Deutsch), or French (Français).

Filters

ParameterTypeDefaultDescription
employmentTypearray[]Contract types to collect: Permanent position, Temporary / fixed-term, Internship, Freelance / contract, Apprenticeship. Leave empty to include all.
workloadMinintegernullMinimum workload percentage (0–100). For example, 80 keeps roles of 80% and up. Leave empty for no minimum.
workloadMaxintegernullMaximum workload percentage (0–100). For example, 60 keeps part-time roles up to 60%. Leave empty for no maximum.
publishedSinceselectAny timeOnly collect jobs published within this window: Any time, Last 24 hours, Last 3 days, Last week, Last 2 weeks, Last 30 days.
sortByselectMost relevantResult order: Most relevant or Newest first.

Output Options

ParameterTypeDefaultDescription
includeDescriptionbooleantrueFetch the complete job description, requirements, and contact details from each posting. Turn off for a faster, lighter run that returns only the summary fields.
maxResultsinteger200Maximum number of jobs to collect. Set to 0 to collect every matching job (a broad search collects up to about 100,000 jobs, after which the run stops automatically). You are charged per job returned.

Output

Here's a representative result with full descriptions enabled:

{
"jobId": "abc123-def456",
"title": "Senior Software Engineer",
"company": "Example AG",
"companyId": "78421",
"companyLogo": "https://www.jobup.ch/logos/example-ag.png",
"location": "Zürich",
"region": "ZH",
"zipcode": "8005",
"street": "Bahnhofstrasse 1",
"workload": "80 – 100%",
"workloadMin": 80,
"workloadMax": 100,
"employmentType": "permanent",
"categories": ["IT / Telecommunication", "Software Development"],
"languageSkills": ["German", "English"],
"description": "We are looking for a Senior Software Engineer to join our team in Zürich...",
"descriptionHtml": "<p>We are looking for a Senior Software Engineer...</p>",
"contactName": "Maria Müller",
"contactPhone": "+41 44 123 45 67",
"applyUrl": "https://careers.example.ag/apply/senior-software-engineer",
"isPaid": true,
"publicationDate": "2026-05-28T08:00:00Z",
"initialPublicationDate": "2026-05-20T08:00:00Z",
"publicationEndDate": "2026-06-28T08:00:00Z",
"scrapedAt": "2026-06-02T14:30:00Z",
"url": "https://www.jobup.ch/en/jobs/detail/abc123-def456/"
}

Core Fields

FieldTypeDescription
jobIdstringjobup.ch internal job identifier
titlestringJob title
categoriesstring[]Job categories / industry
languageSkillsstring[]Required language skills, when listed
descriptionstringFull job description as plain text (when descriptions are enabled)
descriptionHtmlstringJob description as HTML (when available)
isPaidbooleanWhether the posting is a paid/promoted listing
scrapedAtstringISO 8601 timestamp the row was collected
urlstringCanonical jobup.ch job URL

Company

FieldTypeDescription
companystringHiring company / employer name
companyIdstringEmployer identifier
companyLogostringEmployer logo URL

Location

FieldTypeDescription
locationstringPlace of work (city)
regionstringCanton / region code
zipcodestringPostal code, when present
streetstringStreet address, when the employer lists one

Workload & Contract

FieldTypeDescription
workloadstringWorkload range as displayed, e.g. "80 – 100%"
workloadMinintegerParsed minimum workload percentage
workloadMaxintegerParsed maximum workload percentage
employmentTypestringContract type label. A job can carry more than one, in which case they are joined with commas (e.g. "permanent, temporary").

Contact & Dates

FieldTypeDescription
contactNamestringListed contact person, when present
contactPhonestringContact phone, when present
applyUrlstringDirect application URL (when descriptions are enabled)
publicationDatestringISO 8601 date the listing was most recently published
initialPublicationDatestringISO 8601 date the job was first ever posted (often earlier than publicationDate for re-posted roles)
publicationEndDatestringISO 8601 listing expiry, when present

Tips for Best Results

  • Use workload filtering for Swiss part-time rolesworkloadMin and workloadMax are the most powerful facet on jobup.ch. Set 60–80% to find genuine part-time positions, or 90–100% to drop job-shares and reduced-hours roles. Most Swiss boards can't filter this way.
  • Mirror a saved jobup.ch search with Start URLs — build the exact search you want in your browser, copy the URL, and paste it into startUrls. Every filter in the link is honored, no manual rebuild needed.
  • Turn off descriptions for fast counts — when you only need titles, companies, locations, and publication dates, set includeDescription to false for a much faster, lighter run; turn it on for full text, apply URLs, and contacts.
  • Sort by Newest first for monitoring — pair sortBy: "date" with publishedSince: "1" to capture only jobs posted in the last 24 hours — ideal for a daily alerting pipeline.
  • Start small, then scale — set maxResults to 25–50 on your first run to confirm the data fits your needs, then raise it.
  • Pick the language that matches your audience — set language to German or French to get localized labels; the description text always reflects what the employer originally wrote.
  • Leave fields empty to widen the net — clearing searchTerm and location browses the newest jobs across all of Switzerland, useful for a complete market snapshot.

Pricing

From $1.30 per 1,000 results — among the most affordable jobup.ch extractors on the platform, with no compute charges; you only pay per result returned. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.155$0.145$0.140$0.130
1,000$1.55$1.45$1.40$1.30
10,000$15.50$14.50$14.00$13.00
100,000$155.00$145.00$140.00$130.00

A "result" is any job row in the output dataset. No compute charges — you only pay per result returned. Platform fees depend on your Apify plan.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access

This actor is designed for legitimate recruitment research, labor-market analysis, and job-aggregation use cases. Users are responsible for complying with applicable laws and jobup.ch's Terms of Service. Collect only publicly available listing data, handle any personal data (such as listed contact details) in line with Swiss and EU data-protection rules, and do not use extracted data for spam, harassment, or any unlawful purpose.