carriera.ch Scraper: Ticino & Italian-Swiss Jobs
Pricing
from $3.00 / 1,000 serp results
carriera.ch Scraper: Ticino & Italian-Swiss Jobs
Scrape carriera.ch — the leading jobs portal for Canton Ticino / Italian-speaking Switzerland. Returns title, company, city, workload %, employment type, CHF salary, education, experience, benefits, qualifications, and full Italian description. No browser required.
Pricing
from $3.00 / 1,000 serp results
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Collect job listings from carriera.ch, the primary jobs portal for Canton Ticino and Italian-speaking Switzerland (Lugano, Bellinzona, Locarno, Mendrisio, Chiasso, Balerna, Agno, Bioggio, and beyond). Returns structured data extracted from schema.org JobPosting JSON-LD on every detail page: title, company, city, posted date, expiry date, workload percentage, employment type, and the full Italian description in plain text, HTML, and Markdown.
What you get
Each result row contains:
- Job: title (Italian), URL, posted date (ISO 8601), expiry date, workload percentage (100%, 80%, 50%, etc.)
- Company: name, website, logo URL (when the employer supplies them via JSON-LD hiringOrganization)
- Location: city, region ("Svizzera italiana"), postal code, street address, country code CH
- Job details: employment type (Full-time / Part-time / Contract / Internship / Temporary), workplace type (Remote / Hybrid inferred from description)
- Apply URL: external employer link when the detail page anchors out to a company careers page
- Description: snippet (300 chars), plain text, HTML, and Markdown (when
includeJobDetails=true) - Contacts: emails, phones, and external URLs from the job description
A note on salary data
carriera.ch does not expose salary in its job listings. The site's JSON-LD template hardcodes baseSalary.value = 80000 on every job as a CMS placeholder, not actual employer-supplied pay data. All salary fields (salary_min, salary_max, salary_currency, etc.) are returned as null. If you need CHF salary benchmarks, consider combining this actor with an LLM enrichment layer over the description text.
Use cases
- Ticino labour market research: track hiring trends across the Italian-speaking Swiss region
- Competitive intelligence: monitor which companies are actively hiring in Ticino
- Cross-border recruiting between Northern Italy (Como, Varese, Milano) and Ticino
- Lead generation for HR / staffing agencies serving the Italian-Swiss market
- Academic research: employment patterns in the multi-lingual Swiss economy
Pricing
This actor uses Pay-Per-Event (PPE) pricing. Every Apify account includes a $5 free monthly credit.
| Event | Cost |
|---|---|
| Actor start | $0.001 |
| SERP result (job card from the search page) | $0.003 |
| Full job detail (description + JSON-LD structured fields) | $0.005 |
carriera.ch's SERP shows only date / company / title / city / workload. All the structured JobPosting data (employment type, location detail, apply URL, description) lives on the detail page. Keep includeJobDetails: true (default) for the full field surface; set to false for lightweight bulk collection at the lower rate.
Input
{"searchQueries": [""],"location": "Lugano","includeJobDetails": true,"sortBy": "newest","maxResults": 100}
| Field | Type | Description |
|---|---|---|
searchQueries | string[] | Italian job keywords. Leave [""] (empty) to scrape all active listings. Examples: informatica, contabile, ingegnere, commerciale |
searchUrls | string[] | Direct carriera.ch SERP URLs. Paste a /cgi-bin/annunci_offerte_lavoro.cgi URL and the scraper paginates through job_page. |
location | string | Ticino city filter. Examples: Lugano, Bellinzona, Locarno, Mendrisio, Chiasso, Balerna |
category | string | carriera.ch job_category code (leave empty for ALL). Reference: 190 = IT / Telecomunicazioni, 200 = Marketing, 270 = Vendita / Distribuzione |
sortBy | enum | Sort order. newest (default; sort_date=DESC) or oldest (sort_date=ASC). Verified empirically 2026-09-03 |
includeJobDetails | boolean | Fetch each detail page for the full JSON-LD JobPosting block (default: true) |
includeCompanyDetails | boolean | Include hiringOrganization.url / .logo when present (default: false) |
maxResults | integer | Total results cap (default: 100, max: 5000) |
maxResultsPerQuery | integer | Cap per keyword (default: 100) |
maxConcurrency | integer | Max concurrent requests 1-20 (default: 5; scraper is currently sequential) |
Output sample
{"_type": "job","id": "291235","title": "Mechanical maintenance technician","job_url": "https://www.carriera.ch/cgi-bin/offerta.cgi?job_id=291235","source_url": "https://www.carriera.ch/cgi-bin/offerta.cgi?job_id=291235","source_platform": "carriera.ch","company_name": "IBSA Farmaceutici Italia","location": "Lodi, IT","country": "IT","region": null,"city": "Lodi","posted_at_text": "2026-09-01","posted_at_datetime": "2026-09-01T00:00:00Z","expires_at": "2026-12-31T00:00:00Z","employment_type": "Full-time","description_snippet": "La posizione di Mechanical Maintenance Technician presso IBSA Farmaceutici Italia...","description_full": "La posizione di Mechanical Maintenance Technician presso IBSA...","apply_url": "https://www.ibsa.it/carriere/posizione-maintenance-technician","scraped_at": "2026-09-05T10:00:00Z"}
Notes on data completeness
- Fields with high fill rate (>80%):
title,company_name,city,location,posted_at_datetime,description_full,description_snippet,description_html,description_md-- all sourced from JSON-LD JobPosting. - Fields with lower fill rate:
company_website,company_logo_url,apply_url-- depend on whether the employer supplies ahiringOrganization.url/.logoor an outbound "Dettagli dell'annuncio" link. - Fields always null:
salary_min,salary_max,salary_currency,salary_period,salary_text(hardcoded CMS placeholder on the site -- see salary note above),company_size,company_profile_url,image_url,education_requirements,experience_requirements,qualifications,job_benefits,incentive_compensation,seniority(all boilerplate template values identical across every job on the site). - Fields typically null:
category(JSON-LD occupationalCategory is usually empty),company_industry(JSON-LD industry is usually empty),postal_code,street_address. - Charset: carriera.ch serves ISO-8859-1. The scraper transcodes to UTF-8 before parsing so Italian accented characters (a, e, i, o, u with accents) render cleanly.
Related actors
Swiss job boards (same market)
- jobs-ch-scraper - jobs.ch, Switzerland's largest job board (JobCloud)
- jobup-ch-scraper - jobup.ch, French-speaking Switzerland (JobCloud)
- arbeit-swiss-scraper - job-room.ch, the official Swiss federal job portal (arbeit.swiss / travail.swiss / lavoro.swiss / work.swiss)
- swissdevjobs-ch-scraper - swissdevjobs.ch, developer-focused Swiss listings
- ictjobs-ch-scraper - ictjobs.ch, ICT and tech roles in Switzerland
- zentraljob-ch-scraper - zentraljob.ch, Central Switzerland regional board
- ostjob-ch-scraper - ostjob.ch, Eastern Switzerland regional board
- jobbasel-ch-scraper - jobbasel.ch, Basel regional board
- jobbern-ch-scraper - jobbern.ch, Bern regional board
- jobmittelland-ch-scraper - jobmittelland.ch, Mittelland regional board
- jobzueri-ch-scraper - jobzueri.ch, Zurich regional board
- myjob-ch-scraper - myjob.ch, Swiss generalist board
- schaffu-ch-scraper - schaffu.ch, Swiss generalist board
- nicejob-de-scraper - nicejob.de, German-language Swiss and German listings
Italian job boards (same-language market for IT-CH)
- subito-it-jobs-scraper - subito.it, Italy's largest classifieds platform with a large jobs section
Support
Questions, bug reports, or field requests? Email contact@nanoscrape.com or open an issue on the actor issues tab.