carriera.ch Scraper: Ticino & Italian-Swiss Jobs avatar

carriera.ch Scraper: Ticino & Italian-Swiss Jobs

Pricing

from $3.00 / 1,000 serp results

Go to Apify Store
carriera.ch Scraper: Ticino & Italian-Swiss Jobs

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

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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.

EventCost
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
}
FieldTypeDescription
searchQueriesstring[]Italian job keywords. Leave [""] (empty) to scrape all active listings. Examples: informatica, contabile, ingegnere, commerciale
searchUrlsstring[]Direct carriera.ch SERP URLs. Paste a /cgi-bin/annunci_offerte_lavoro.cgi URL and the scraper paginates through job_page.
locationstringTicino city filter. Examples: Lugano, Bellinzona, Locarno, Mendrisio, Chiasso, Balerna
categorystringcarriera.ch job_category code (leave empty for ALL). Reference: 190 = IT / Telecomunicazioni, 200 = Marketing, 270 = Vendita / Distribuzione
sortByenumSort order. newest (default; sort_date=DESC) or oldest (sort_date=ASC). Verified empirically 2026-09-03
includeJobDetailsbooleanFetch each detail page for the full JSON-LD JobPosting block (default: true)
includeCompanyDetailsbooleanInclude hiringOrganization.url / .logo when present (default: false)
maxResultsintegerTotal results cap (default: 100, max: 5000)
maxResultsPerQueryintegerCap per keyword (default: 100)
maxConcurrencyintegerMax 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 a hiringOrganization.url/.logo or 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.

Swiss job boards (same market)

Italian job boards (same-language market for IT-CH)


Support

Questions, bug reports, or field requests? Email contact@nanoscrape.com or open an issue on the actor issues tab.