Duunitori Jobs Scraper — Finland Job Listings API
Pricing
from $2.00 / 1,000 job scrapeds
Duunitori Jobs Scraper — Finland Job Listings API
Scrape job listings from Duunitori.fi, Finland's largest job board. Keyword and city search, recruiter emails & phones, salary mentions, remote/hybrid detection, daily new-job alerts.
Pricing
from $2.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Spotless Studios
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape job listings from Duunitori.fi, Finland's largest job board (18,000+ open jobs). Search by keyword and city, then get every ad enriched with recruiter emails and phone numbers, salary mentions, remote/hybrid detection, employment type, and posting language. Schedule with onlyNewItems for a daily new-jobs feed — you pay only for postings you haven't seen.
Trial cost: 25 jobs ≈ $0.05 · Schedule with
onlyNewItemsfor a daily new-postings feed.
What you get
| Field | Example |
|---|---|
title, company, location | Sales Advisor / Myyjä · Zio · Helsinki |
postedAt, url | 2026-09-24T12:30:00Z · duunitori.fi/tyopaikat/tyo/… |
contactEmails, contactPhones | hakemukset@zio.fi · +358 40 558 1152 |
salaryMentioned, salaryText | true · 3200 €/kk |
workMode | remote, hybrid, onsite, unknown |
employmentTypes | full-time, permanent, fixed-term, summer, internship, gig… |
language | fi / en |
description, descriptionLength | Full ad text |
latitude, longitude | When Duunitori provides them |
searchTerm, searchLocation | The query that found the job |
Why this scraper
- ⚡ Fast and reliable — reads Duunitori's JSON feed at 100 jobs per request, no browser, no blocking.
- 📇 Lead-ready enrichment — emails, phones, and salary lines pulled from the ad text for you.
- 🎛️ Power filters — companies to include/exclude (skip staffing agencies), work mode, employment types, language, "has contact info", "has salary", keywords with
/regex/. - 🔔 Monitoring mode — schedule it and receive only new jobs;
postedWithinDaysstops paging early to keep runs tiny. - 🧮 Multi-query — every search term × every location, deduplicated.
Quick start
New Python and data jobs in Helsinki and Espoo this week
{ "searchTerms": ["python", "data engineer"], "locations": ["Helsinki", "Espoo"], "postedWithinDays": 7 }
Sales prospecting: companies hiring salespeople, with a direct recruiter contact
{"searchTerms": ["myyjä", "sales"],"requireContactInfo": true,"excludeCompanies": ["Staffpoint", "Barona", "Adecco", "Eilakaisla"],"outputFields": ["company", "title", "location", "contactEmails", "contactPhones", "url"]}
Daily remote-jobs alert in English
{ "workMode": "remoteOrHybrid", "language": "en", "onlyNewItems": true, "stateKey": "remote-en" }
Input reference
| Parameter | Default | What it does |
|---|---|---|
searchTerms | ["python"] | Keywords; each runs separately. Empty = all jobs |
locations | — | Cities/regions; combined with each term |
postedWithinDays | — | Only recent jobs (stops paging early) |
companies / excludeCompanies | — | Company name contains |
workMode | any | remote, hybrid, remoteOrHybrid, onsite |
employmentTypes | — | full-time, part-time, permanent, fixed-term, summer, internship, gig |
language | any | fi, en |
requireContactInfo / requireSalaryInfo | false | Keep only ads with contacts / salary |
includeKeywords / excludeKeywords / keywordMatch | — | Words or /regex/, any/all |
onlyNewItems + stateKey | false | Monitoring memory per saved search |
maxResults | 100 | Cap on saved jobs |
includeDescription / descriptionMaxLength | true / 0 | Description output |
outputFields | all | Keep only these fields |
maxPagesPerQuery, maxConcurrency, maxRequestRetries, requestTimeoutSecs | 200 / 4 / 4 / 45 | Performance |
proxyConfiguration | off | Optional proxy |
Pricing
| Event | Price |
|---|---|
Job saved (job-scraped) | $0.002 ($2 per 1,000 jobs) |
1,000 enriched jobs ≈ $2. A daily alert returning 30 new jobs ≈ $0.06/day.
Export formats & integrations
Export formats
Export your dataset with zero code in whichever format fits your workflow:
- Excel (.xlsx) & CSV: Clean tabular sheets formatted for Microsoft Excel, Google Sheets, LibreOffice, and CRM imports.
- JSON & JSONL: Structured records for developers, backend pipelines, and AI agent prompt context.
- XML & HTML: Formatted for web dashboards, feed syndication, and reporting.
No-code automations & integrations
- Google Sheets & Airtable: Automatically push new scraped rows into live tracking spreadsheets.
- Make, Zapier & n8n: Trigger instant Slack alerts, email digests, or create deals in HubSpot, Salesforce, and Pipedrive.
- Webhooks & REST API: Programmatically trigger runs and retrieve results via Apify's REST API, Python SDK, or JavaScript/TypeScript SDK.
FAQ
How do I export this data to Excel or CSV? After the run finishes, click the Export button in the Dataset tab to download the complete file in Excel (.xlsx), CSV, JSON, or XML. You can also automate exports directly to Google Sheets via the Integrations tab. Does it need a login or proxy? No.
How accurate is the enrichment? Emails and phones are exact matches from the ad text. Work mode, employment type, and language are keyword-based and flagged unknown when the ad doesn't say.
Other Nordic boards? Tell us on the actor page — Jobnet (DK) and Arbetsförmedlingen (SE) are next on the list.
More from Spotless Studios
All actors on Apify · Support: spotless.studios.info@gmail.com
| Actor | Best for |
|---|---|
| SLED Government Bids | Daily US gov RFP / bid alerts |
| Webflow Experts | Webflow agency & freelancer leads |
| Stripe Partners | Stripe implementation partner lists |
| UK Planning Applications | UK planning leads + agent contacts |
| Product Hunt | Every PH launch + makers / websites |
| Duunitori Jobs | Finland job listings |
| Clutch Agencies | Clutch agency prospecting |
| Skool Communities | Skool community & creator leads |