Duunitori Scraper avatar

Duunitori Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Duunitori Scraper

Duunitori Scraper

Scrape and extract structured job listings from Duunitori.fi — Finland's largest job board. Salary ranges, employment types, employer details, and 22,000+ active listings.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Black Falcon Data

Black Falcon Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

🔍 What is Duunitori Scraper?

Duunitori Scraper extracts structured job listings from duunitori.fi — with salary fields, contact and apply details, company metadata, full descriptions, and geo-ready location fields. The input is built around keyword search, location filters, and controllable result limits, so you can rerun the same search universe consistently over time.

duunitori.fi is a public job platform, but it does not provide the kind of structured export most teams need for recurring data workflows. This actor bridges that gap by turning the source into clean JSON with salary fields, contact and apply details, company metadata, full descriptions, and geo-ready location fields, with direct API access and a schema that is easier to reuse in dashboards, enrichment pipelines, and agent workflows.

🎯 What you can do with this actor

  • Use geo-ready listing data for regional analysis, location clustering, or map-based downstream workflows.
  • Feed compact listing data into AI agents, MCP tools, and ranking workflows without carrying full raw payloads every time.
  • Start with lightweight search runs, then enable detail enrichment only when you need deeper company or listing context.

✨ Why choose this actor?

FeatureThis actorTypical alternatives
Geo-ready outputIncludes structured location fields for regional analysisOften location text only
Collection strategyCan stay lightweight or add enrichment only when neededOften fixed to one scraping mode
AI-agent usabilityCompact output mode for smaller, more controllable payloadsOften full payload only
Schema qualityKeeps salary fields, contact and apply details, company metadata, full descriptions, and geo-ready location fields in a consistent output shapeOften inconsistent across runs

🚀 Quick start

Basic search:

{
"query": "ohjelmistokehittäjä",
"location": "Helsinki",
"maxResults": 10,
"includeDetails": true,
"descriptionMaxLength": 0,
"compact": false,
"incrementalMode": false
}

Incremental monitoring:

{
"query": "ohjelmistokehittäjä",
"location": "Helsinki",
"maxResults": 10,
"includeDetails": true,
"descriptionMaxLength": 0,
"compact": false,
"incrementalMode": true,
"stateKey": "daily-monitor"
}

📊 Sample output

{
"jobId": "20116266",
"title": "Myyjä - Kylpyhuoneremontit",
"company": "TNT Rekrytointi Oy",
"companyLogoUrl": "https://duunitori.imgix.net/media/images/logos/TNT_Rekrytointi.png?auto=format&w=300",
"location": "Tampere",
"latitude": null,
"longitude": null,
"salaryText": "1000–8000 EUR/MONTH",
"salaryMin": 1000,
"salaryMax": 8000,
"salaryCurrency": "EUR",
"salaryPeriod": "MONTH",
"employmentType": "FULL_TIME",
"description": "Etsimme asiakasyrityksellemme Rehiva Oy:lle motivoituneita ja tuloshakuisia myyjiä! Tässä työssä sinulla on oikeasti mahdollisuus tienata hyvin ja tehdä tulosta. Jos pidät ihmisten kohtaamisesta kasvotusten, nautit tavoitteellisesta työstä ja haluat työskennellä myyntialalla, tämä paikka on sinua varten. Tässä tehtävässä pääset myymään laadukkaita ja kustannustehokkaita kylpyhuoneremontteja. Työ on ovelta ovelle myyntiä ja jokainen ovi on mahdollisuus uudelle kaupalle\nMyyjän tehtävät\nAsiakkaiden kontaktoiminen ovelta ovelle\n\nValmiiden asiakaskäyntejen tekeminen\n\nAsiakastarpeiden kartoitus ja ratkaisujen tarjoaminen\n\nOman myyntityön kehittäminen sekä asetettujen tavoitteiden saavuttaminen\n\nMitä tarjoamme sinulle\nKilpailukykyinen palkkamalli työsuhteessa: Provisio keskimäärin 400 - 500 euroa per kauppa\n\nKattava perehdytys, jossa kokeneet myyjät ja esihenkilösi tukevat jokaista askelta\n\nKilpailukykyinen ja ajankohtainen tuote\n\nLaadukkaan myyntikoulutuksen, jossa pääset oppimaan myyntiä - koulutus on jatkuvaa ja sen tarkoituksena on kehittää sinusta huippumyyjä\n\nMahdollisuus työskennellä joustavasti, myynnissä ei katsota tehtyjä tunteja vaan kauppoja\n\nKannustavan ja energisen tiimin, jossa on yhdessä tekemisen meininki\n\nMyyntikilpailuita, joissa palkinnot ovat oikeasti hyviä\n\nHakijalta odotamme\nVahvaa halua menestyä myynnissä ja tehdä tulosta\n\nOmaa autoa ja B-ajokorttia\n\nHyvät vuorovaikutus- ja asiakaspalvelutaidot\n\nOppimishaluista asennetta – aiempi myyntikokemus on hyödyksi, muttei pakollista. Etsimme tekijöitä, joilla on oppimisen halua ja kykyä työskennellä tuloksekkaasti\n\nSujuvaa suomen kielen taitoa\n\nMyynti avaa uusia ovia!\nMyynti on yksi elämän tärkeimmistä taidoista. Myynnin avulla opit taitoja, jotka vievät sinua eteenpäin jokaisella elämän osa-alueella. Opit keskustelemaan ja kommunikoimaan erilaisten ihmisten kanssa. Opit myös asettamaan itsellesi konkreettisia tavoitteita ja opit saavuttamaan ne jokapäiväisessä arjessasi.\nHakuprosessi ja lisätiedot\nJätä hakemus ja olemme sinuun yhteydessä kahden arkipäivän sisällä!\n\nPidämme kanssasi puhelimitse esihaastattelun. Samalla avaamme sinulle lisää hakemaasi positioita.\n\nJärjestämme sinun ja asiakasyrityksen kanssa haastattelun.\n\nOnnittelut uudesta työstä! Jos sinun ja asiakkaamme kemiat eivät kuitenkaan kohdannut niin huoli pois! Meillä on muitakin mielenkiintoisia avoimia myynnin paikkoja ympäri Suomen.\n\nHaku päättyy 20.4\nLisätietoja saat: akseli@tntrekrytointi.com / 044 737 1712",
"category": null,
"occupation": "myyjä",
"url": "https://duunitori.fi/tyopaikat/tyo/tnt-rekrytointi-myyja-kylpyhuoneremontit-sdsuu-20116266",
"portalUrl": "https://duunitori.fi/tyopaikat/tyo/tnt-rekrytointi-myyja-kylpyhuoneremontit-sdsuu-20116266",
"applyUrl": null,
"directApply": null,
"postedDate": "2026-03-22T20:45:05.890919+00:00",
"validThrough": "2026-04-20T20:59:00+00:00",
"scrapedAt": "2026-03-22T21:49:42.883Z",
"source": "duunitori.fi"
}

⚙️ Input reference

ParameterTypeDefaultDescription
Search
querystringJob search keywords. Leave empty to fetch all jobs.
locationstringCity or region in Finland (e.g. Helsinki, Tampere, Turku, Oulu).
maxResultsinteger50Maximum total results (0 = unlimited).
Enrichment
includeDetailsbooleantrueFetch full job details from each listing page (salary, employment type, expiry date).
descriptionMaxLengthinteger0Truncate description to N chars. 0 = no truncation.
Output
compactbooleanfalseCore fields only (for AI-agent/MCP workflows).
Incremental Tracking
incrementalModebooleanfalseCompare against previous run state — output only new/changed listings.
stateKeystringStable identifier for tracked universe.

📦 Output fields

Each result can include salary fields, contact and apply details, company metadata, full descriptions, and geo-ready location fields, depending on listing content and the enrichment options enabled for the run.

Core fields

FieldTypeDescription
titlestringTitle
locationstringLocation
latitudestringnull
longitudestringnull
salaryTextstringSalaryText
salaryMinintegerSalaryMin
salaryMaxintegerSalaryMax
salaryCurrencystringSalaryCurrency
salaryPeriodstringSalaryPeriod
employmentTypestringEmploymentType
categorystringnull
occupationstringOccupation
urlstringURL
portalUrlstringPortalUrl
postedDatestringPostedDate
validThroughstringValidThrough

Detail and enrichment

FieldTypeDescription
descriptionstringDescription

Contact and company

FieldTypeDescription
companystringCompany
companyLogoUrlstringCompanyLogoUrl
applyUrlstringnull
directApplystringnull

Operational fields

FieldTypeDescription
jobIdstringJobId
scrapedAtstringScrapedAt
sourcestringSource

⚠️ Known limitations

  • Contact information is only returned when the source exposes it directly; many listings will still rely on apply URLs rather than named contacts.
  • Company profile fields depend on source availability and may be limited for portals that do not expose employer metadata.
  • Field population rates always depend on the source site itself, so null values are normal for data points the source does not publish on every listing.

💰 How much does it cost to scrape duunitori scraper?

This actor uses pay-per-event pricing, so you pay a small run-start fee and then only for results that are actually emitted.

EventPriceWhen
actor-start$0.01Each run
result$0.002Per emitted record

Example costs:

ScenarioResultsCost
Quick test10$0.03
Daily monitor50$0.11
Full scrape500$1.01

💡 Use cases

Recruiting and sourcing

Pull duunitori.fi listings into dashboards, triage queues, or recruiter workflows without re-normalizing the source on every run.

Recurring monitoring

Track only newly posted or changed listings on scheduled runs, which is better suited to alerts and daily pipeline jobs than repeated full exports.

Outreach and hiring-intent research

Use employer, contact, and apply fields to support account research, outreach queues, or company watchlists when the source provides those details.

Salary and market analysis

Track salary ranges, titles, and locations over time to build a more structured view of demand on duunitori.fi.

Geo and regional analysis

Use coordinates, postal data, and structured addresses for regional reporting, mapping, or distance-based filtering in downstream tools.

🤖 AI-agent and MCP usage

This actor is suitable for AI-agent workflows because the output is structured and the input can intentionally reduce payload size for downstream tools.

  • compact returns a smaller core schema for ranking, classification, and MCP tool calls.
  • descriptionMaxLength lets you cap description size so larger batches stay practical in model context windows.
{
"query": "ohjelmistokehittäjä",
"location": "Helsinki",
"maxResults": 10,
"includeDetails": true,
"descriptionMaxLength": 300,
"compact": true,
"incrementalMode": false
}

🔄 Incremental mode

Incremental mode is intended for repeated monitoring runs where only new or changed listings should be emitted.

Change typeMeaning
NEWFirst time seen in the monitored result set
CHANGEDPreviously seen listing with updated content
UNCHANGEDSame listing and content as a prior run when unchanged emission is enabled
EXPIREDListing disappeared from the monitored result set when expired emission is enabled

📖 How to scrape duunitori scraper

  1. Open the actor in Apify Console and review the input schema.
  2. Enter your search query and location settings, then set maxResults for the amount of data you need.
  3. Enable optional enrichment fields only when you need richer output such as descriptions, contacts, or company data.
  4. Run the actor and export the dataset as JSON, CSV, or Excel for downstream analysis.

❓ FAQ

What data does this actor return from duunitori.fi?

It returns structured listing records with fields such as salary fields, contact and apply details, company metadata, full descriptions, geo-ready location fields, plus the core identifiers and metadata defined in the dataset schema.

Can I fetch full descriptions and detail fields?

Yes. Enable the detail-related input options when you need richer fields such as descriptions, employer metadata, or contact details from the listing detail pages.

Does it support recurring monitoring?

Yes. Incremental mode is built for recurring runs where you only want newly seen or changed listings instead of a full repeat dataset every time.

Is it suitable for AI agents or MCP workflows?

Yes. Compact mode and output-size controls make it easier to use the actor in AI-agent workflows where predictable fields matter more than raw page size.

Why use this actor instead of scraping the site ad hoc?

Because it already handles direct API access, keeps a stable schema, and exposes filters and enrichment options in a form that is easier to automate repeatedly.

This actor is intended for publicly accessible data workflows. Always review the target site terms and your own legal requirements for the way you plan to use the data.