Duunitori Jobs Scraper avatar

Duunitori Jobs Scraper

Pricing

from $1.80 / 1,000 results

Go to Apify Store
Duunitori Jobs Scraper

Duunitori Jobs Scraper

[💰 $1.80 / 1K] Extract job listings from Duunitori, Finland's largest job board. Search by keyword, location, category, employment type, remote work, and ad language, or paste search and job-ad URLs. Returns title, company, location, salary, dates, description, and apply link — one row per job.

Pricing

from $1.80 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Pull job listings from Duunitori — Finland's largest job board, with 18,000+ live postings — including title, company, location, declared monthly salary in EUR, posting and closing dates, and the direct apply link to each employer's application system. Filter across 24 job categories, three ad languages, employment and contract type, and remote-only roles, or paste any Duunitori URL — a search with its filters honored verbatim, or a single job ad. Built for Finnish recruiters, labor-market analysts, and relocating job seekers who need clean, structured Duunitori data without copy-pasting listings one page at a time.

Why This Scraper?

  • 24 mapped job categories — pick from clean English titles (Industry & technology, Sales & commerce, Healthcare, Construction, Social & care work, Transport, logistics & traffic, and 18 more); the actor translates each to Duunitori's exact Finnish field name for you, umlauts and all.
  • Three ad-language filter — return only Finnish, Swedish, or English-language ads — the relocation/expat power move for finding roles you can actually apply to in English.
  • Declared salary parsed to EUR/month — when an employer publishes pay, you get salaryMin, salaryMax, salaryCurrency, and salaryPeriod as structured numbers, not a free-text blob to clean up later.
  • Direct employer apply linkapplyUrl captures the external link straight into the employer's own application system or ATS, not just the Duunitori listing page.
  • Employment + contract type as separate filters — full-time vs part-time and permanent / fixed-term / summer job, exposed as two independent dropdowns instead of buried in free text.
  • "Also search ad text" recall switch — match your keyword inside the full ad body, not just the title; a single niche term can jump from a handful of title hits to thousands of body matches.
  • Phone numbers pulled from the adextractedPhones surfaces contact numbers written into the description, ready for recruiter or sales outreach.
  • Paste any Duunitori link — search page or single job ad — dial in a search on the site and paste its URL with every baked-in filter honored as-is, or paste the job ad you are looking at right now and get that one listing back in full. Location and employer pages work too, and you can mix all of them in one run.
  • Per-job-ID deduplication — each listing is returned once even when it appears across multiple pages or keyword searches, keyed on the stable Duunitori job ID.

Use Cases

Recruitment & Talent Sourcing

  • Track which competitors are actively hiring and for which roles
  • Build candidate-outreach lists filtered by city, category, and language
  • Monitor newest postings in your specialty with the "Newest first" sort
  • Spot summer-job and fixed-term openings ahead of seasonal hiring waves

Labor-Market & Salary Research

  • Benchmark Finnish wages from employer-declared EUR/month salary ranges
  • Measure hiring demand by category, city, or employment type over time
  • Quantify how many roles are offered as remote across industries
  • Compare full-time vs part-time and permanent vs fixed-term mix by sector

Lead Generation

  • Treat companies that are actively hiring as growth signals for B2B prospecting
  • Pull apply links and ad phone numbers for direct outreach
  • Segment target accounts by location and job field
  • Find fast-growing employers posting across multiple categories at once

Job-Aggregator & Niche Board Feeds

  • Power a vertical job board with fresh Finnish listings on a schedule
  • Feed a candidate-matching engine with structured title, category, and location
  • Keep an internal opportunity dashboard current with daily pulls

Relocation & Expat Job Search

  • Filter to English-language ads only to surface roles open to non-Finnish speakers
  • Focus on Helsinki, Tampere, or any city while keeping the language filter on
  • Combine remote-only with English ads to find location-flexible openings

Getting Started

Search a single keyword across all of Finland:

{
"searchQueries": ["ohjelmistokehittäjä"],
"maxResults": 50
}

Keyword + Location + Category + Language

Narrow to English-language Industry & technology roles in Helsinki:

{
"searchQueries": ["developer"],
"location": "Helsinki",
"category": "teollisuus ja teknologia (ala)",
"language": "eng_lang",
"maxResults": 100
}

Direct URLs with Full Details

Mix a dialed-in search URL with individual job ads you already have open:

{
"startUrls": [
"https://duunitori.fi/tyopaikat?haku=sairaanhoitaja&alue=Tampere&filter_work_type=full_time",
"https://duunitori.fi/tyopaikat/tyo/sairaanhoitaja-tampere-20525678"
],
"fetchDescription": true,
"sortBy": "date",
"maxResults": 300
}

Input Reference

ParameterTypeDefaultDescription
searchQueriesstring[]["ohjelmistokehittäjä"]Job titles or keywords to search for. Each keyword runs its own search. Leave empty for the broadest result set. Up to 50 keywords per run.
locationstring""City or region in Finland (e.g. "Helsinki", "Tampere", "Turku", "Oulu"). Empty searches the whole country. Applies to every keyword.
startUrlsstring[][]Paste full Duunitori URLs: search-result pages (filters baked into the URL are respected as-is), single job ads (returns just that one listing), or location and employer pages. Mix any of them in one run. Up to 50 URLs per run.

Filters & Limits

ParameterTypeDefaultDescription
categoryselectAny categoryLimit to one of 24 Duunitori job fields (Industry & technology, Sales & commerce, Healthcare, Construction, and more), shown with English titles.
employmentTypeselectAnyFull-time or part-time.
contractTypeselectAnyPermanent, fixed-term, or summer job.
remoteOnlybooleanfalseOnly return roles that can be done remotely.
languageselectAnyOnly return ads written in Finnish, Swedish, or English.
searchDescriptionsbooleanfalseAlso match keywords inside the full ad text, not just the title — broadens results.
sortByselectBest matchOrder results by best match or newest first.
maxResultsinteger100Maximum listings to collect across all keywords and URLs. Set to 0 to collect all available. A cap below 20 is exact, so a 5-result trial returns exactly 5. From 20 upwards results arrive 20 per page and the full final page is kept, so a run can finish with up to 19 more than your cap.
onlyUniqueJobsbooleantrueReturn each job once, deduplicated by its job ID across pages and searches.

Output

ParameterTypeDefaultDescription
fetchDescriptionbooleantrueFetch the full description, salary, dates, and apply link from each job's detail page. Turn off for lighter, faster records with just titles, companies, locations, and links.

Output

Each row is one job posting. Here's a representative result with full details enabled, from a run that had Remote Only switched on and Contract Type set to fixed-term:

{
"jobId": "20316302",
"title": "Full Stack -kehittäjä, Yle-sovellus ja yle.fi",
"company": "Yle",
"companyLogoUrl": "https://duunitori.imgix.net/media/next/f5408481.jpg?w=177",
"location": "Helsinki",
"municipality": "Helsinki",
"salaryText": "4200–5000 EUR / month",
"salaryMin": 4200,
"salaryMax": 5000,
"salaryCurrency": "EUR",
"salaryPeriod": "MONTH",
"employmentType": "Full-time",
"contractType": "Fixed-term",
"category": "tieto- ja tietoliikennetekniikka",
"occupation": "ohjelmistokehittäjä",
"remoteWork": true,
"description": "Haemme frontend-painotteista full stack -kehittäjää...",
"descriptionHtml": "<p>Haemme frontend-painotteista...</p>",
"url": "https://duunitori.fi/tyopaikat/tyo/full-stack-kehittaja-yle-20316302",
"applyUrl": "https://yle.rekrytointi.com/paikat/?o=A_RJ&jgid=1",
"postedDate": "2026-05-29",
"validThrough": "2026-06-30T20:59:59+00:00",
"extractedEmails": ["rekry@yle.fi"],
"extractedPhones": ["0401234567"],
"searchQuery": "ohjelmistokehittäjä",
"scrapedAt": "2026-06-11T21:14:43+00:00"
}

Core Fields

FieldTypeDescription
jobIdstringStable Duunitori listing ID — the cross-page dedup key.
titlestringJob title, properly cased.
companystringEmployer or recruiter name, exactly as the listing publishes it. Empty on the rare ad whose advertiser has not disclosed the hiring employer.
companyLogoUrlstringCompany logo image URL.
categorystringThe listing's own job-field tag (free-form), distinct from the Job Category input filter. Duunitori publishes this tag on search pages only, so rows that came from a pasted job-ad URL leave it empty.
urlstringCanonical Duunitori job URL.
postedDatestringPublication date as YYYY-MM-DD. Identical whether or not you fetch full descriptions, so results from different runs line up and load into a date column cleanly.

Location

FieldTypeDescription
locationstringWhere the job is based, as the listing states it — a street address on ads that give one, otherwise the city.
municipalitystringThe single city the listing is filed under, ready to group, map, or filter on — almost always Finnish, though ads for jobs abroad file the foreign city here (Copenhagen, Torrevieja). Populated whether or not you fetch full descriptions, and never a multi-city blob even when an ad covers several towns. About 1 ad in 20 is advertised across a whole region or the whole country instead of one town; those are left empty here on purpose, and location still names the area.

Salary (when declared)

FieldTypeDescription
salaryTextstringHuman-readable salary summary (range, currency, and pay period).
salaryMinnumberParsed minimum salary.
salaryMaxnumberParsed maximum salary.
salaryCurrencystringCurrency code (typically EUR).
salaryPeriodstringPay period — usually MONTH.

Detail Fields (with fetchDescription on)

FieldTypeDescription
employmentTypestringFull-time, part-time, internship, temporary, contract, and the rest of the standard job-type labels, always in plain English.
contractTypestringEchoes the Contract Type filter this run used (permanent, fixed-term, or summer job). Duunitori classifies contract type behind its search filter but does not print it on the ad, so this stays empty when you run without that filter.
occupationstringOccupation or role classification.
remoteWorkbooleantrue on every row when you run with Remote Only on, which is Duunitori's own remote classification applied to the whole search. Individual ads carry no remote flag, so this stays empty when the filter is off.
descriptionstringFull job description, plain text.
descriptionHtmlstringFull job description, HTML.
applyUrlstringDirect link to the employer's application system.
validThroughstringThe day and time applications close, when the advertiser set a deadline. Empty means the ad has no closing date, so you can tell open-ended vacancies apart instead of seeing a placeholder far-future date.
extractedEmailsstring[]Emails found in the ad body.
extractedPhonesstring[]Phone numbers found in the ad body.

Provenance

FieldTypeDescription
searchQuerystringThe keyword or URL that surfaced this row.
scrapedAtstringISO timestamp the row was collected.

Tips for Best Results

  • Turn on "Also search ad text" to catch hidden matches — a skill like "Kubernetes" often appears in the body of an ad but not its title; this switch can take a niche keyword from a handful of hits to thousands.
  • Use the English-language filter for expat searches — set language to English to instantly surface only the roles open to non-Finnish speakers, skipping ads you can't act on.
  • Let the category dropdown do the translation — the 24 job fields use plain English titles in the UI, and the actor maps each to Duunitori's exact Finnish field name behind the scenes, so you never have to type Finnish.
  • Keep fetchDescription on for salary and apply links — declared EUR/month pay, closing dates, and the direct apply URL all live on the detail page; turn it off only when you want a fast, lightweight list.
  • Sort by "Newest first" for monitoring — pair sortBy: "date" with a scheduled run to catch fresh postings the moment they appear.
  • Combine keywords with location and filters — every keyword inherits your location, category, and type filters, so one run can sweep several titles across the same target market.
  • Filter for remote or contract type instead of reading it off the row — Duunitori keeps its remote and permanent/fixed-term/summer classification in the search itself, not on the ad, so a Remote Only run is how you get a clean remote-only set. The remoteWork and contractType columns record which filter the run used, so filtered exports stay self-describing when you merge them.
  • Paste the job ad itself when you only want one listing — a single job URL in Direct Duunitori URLs returns that exact ad with its description, salary, dates and apply link, so you never have to reverse-engineer a search that finds it. Every column a search result carries comes back, except the ad's own Job Field tag.
  • Trial runs below 20 cost exactly what you ask for — a cap under 20 is honoured to the row, so a maxResults: 10 test bills 10 results, not a full page. Confirm the fields fit your pipeline, then raise the cap.

Pricing

From $1.80 per 1,000 results — a flat per-result rate that undercuts comparable Finnish job extractors. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.21$0.20$0.19$0.18
1,000$2.10$2.00$1.90$1.80
10,000$21.00$20.00$19.00$18.00
100,000$210.00$200.00$190.00$180.00

A "result" is any job row in the output dataset.

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 lead generation. You are responsible for complying with applicable laws and Duunitori's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose, and handle any personal data found in job ads in line with GDPR and other privacy regulations.