VOOZH about

URL: https://apify.com/automation-lab/duunitori-jobs-scraper

โ‡ฑ Duunitori Jobs Scraper - Finland Job Listings Extractor ยท Apify


Pricing

Pay per event

Go to Apify Store

Duunitori Jobs Scraper

Scrape Duunitori.fi jobs by keyword, city, or URL. Export company, location, salary, descriptions, dates, and application links.

Pricing

Pay per event

Rating

0.0

(0)

Developer

๐Ÿ‘ Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Scrape Duunitori.fi job listings for Finnish recruiting, HR analytics, labor-market research, and job aggregation workflows.

What does Duunitori Jobs Scraper do?

Duunitori Jobs Scraper extracts public Finnish job listings from Duunitori.fi. It can run a keyword search, filter by location, process a copied Duunitori search URL, or enrich a specific job detail URL. The output is a normalized Apify dataset that is ready for CSV, JSON, Excel, API, Google Sheets, BigQuery, or recruiting automation workflows.

Who is it for?

Recruiters can monitor competitor hiring and new role openings in Finland. HR technology teams can feed Finnish job-board data into matching, analytics, or alerting products. Labor-market analysts can track hiring demand by city, category, employer, role family, and salary signal. Job aggregators can collect public Duunitori listings without building their own scraper.

Why use this Duunitori scraper?

Duunitori pages expose job cards in server-rendered HTML and detail data in Schema.org JobPosting JSON-LD. This actor uses that public structure directly instead of a browser, making runs lightweight, fast, and cost-conscious. Detail-page enrichment is optional so you can choose between quick discovery runs and richer records with descriptions and application URLs.

What data can you extract?

The dataset includes job title, company, location, salary text when visible, employment type, posting date, deadline, description, tags, category, application URL, Duunitori source URL, job ID, and scrape timestamp. Some fields depend on what the employer provided in the listing.

How much does it cost to scrape Duunitori jobs?

This actor uses pay-per-event pricing: a $0.005 run-start event plus one item event for each saved Duunitori listing. The current item event is tiered by Apify plan:

PlanPrice per saved jobExample: 100 jobsExample: 1,000 jobs
FREE$0.00018316about $0.023about $0.188
BRONZE$0.00015927about $0.021about $0.164
SILVER$0.00012423about $0.017about $0.129
GOLD$0.00009556about $0.015about $0.101
PLATINUM$0.00006371about $0.011about $0.069
DIAMOND$0.00004460about $0.009about $0.050

For example, a FREE-plan user saving 100 jobs pays roughly $0.005 + 100 ร— $0.00018316 = $0.0233 before any separate Apify platform usage. With a $5 monthly Apify free credit, that is roughly 27,000 saved jobs at the FREE item tier if the credit were spent only on this actor's charge events. Start with the prefilled 20-job input to check the shape of the data, then increase maxItems for scheduled monitoring or larger exports.

Quick start

  1. Enter a keyword such as developer, data engineer, sales, or sairaanhoitaja.
  2. Optionally enter a city or area such as Helsinki, Espoo, Tampere, or Turku.
  3. Set maxItems to the maximum number of jobs you want.
  4. Keep includeDetails enabled if you need descriptions, deadlines, employment type, and application links.
  5. Run the actor and export the dataset.

Input fields

keywords is the Duunitori search phrase. location is an optional city or area. startUrls accepts Duunitori search-result URLs and individual job URLs; when provided, those URLs are used instead of keyword/location search. maxItems limits saved records. includeDetails controls whether the actor follows job detail pages for richer fields.

Input example

{
"keywords":"developer",
"location":"Helsinki",
"maxItems":50,
"includeDetails":true
}

Direct URL example

{
"startUrls":[
{"url":"https://duunitori.fi/tyopaikat?haku=data%20engineer&alue=Espoo"}
],
"maxItems":40,
"includeDetails":true
}

Output fields

FieldDescription
titleJob title from the search card
companyHiring company
locationCity or location text
salarySalary text or structured salary when present
employmentTypeSchema.org employment type, when available
postedDatePosting date from the card or detail page
validThroughApplication deadline from JobPosting JSON-LD
descriptionJob description from detail-page structured data
tagsDuunitori labels such as easy apply or salary badge
categoryDuunitori job category
applicationUrlApply button URL, often an external ATS link
sourceUrlDuunitori job URL
jobIdDuunitori job identifier
scrapedAtISO timestamp when the row was saved

Output example

{
"title":"Business Developer (Product Owner), Pohjola Vakuutus, Helsinki",
"company":"OP Pohjola",
"location":"Helsinki",
"employmentType":"FULL_TIME",
"applicationUrl":"https://op-careers.fi/...",
"sourceUrl":"https://duunitori.fi/tyopaikat/tyo/...",
"jobId":"20335300"
}

Search tips

Use both Finnish and English terms when monitoring bilingual roles. Leave location empty for nationwide exports. Use direct Duunitori URLs when you already have a carefully tuned search in the website UI. Disable detail enrichment for a very fast first pass, then enable it for final records.

Scheduling and monitoring

Create an Apify task with your preferred keyword, location, and item limit. Schedule it daily or weekly to track new Finnish jobs. Send dataset output to Slack, email, Google Sheets, or a data warehouse using Apify integrations and webhooks.

Integrations

Recruiting teams can send new records to Airtable, Google Sheets, or a CRM. Analysts can load CSV or JSON into BigQuery, Snowflake, or a BI dashboard. Product teams can call the actor from an application backend and use the dataset API as a normalized job feed.

Node.js API usage

import{ ApifyClient }from'apify-client';
const client =newApifyClient({token: process.env.APIFY_TOKEN});
const run =await client.actor('automation-lab/duunitori-jobs-scraper').call({
keywords:'developer',
location:'Helsinki',
maxItems:50,
includeDetails:true,
});
const{ items }=await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python API usage

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/duunitori-jobs-scraper').call(run_input={
'keywords':'sairaanhoitaja',
'maxItems':100,
'includeDetails':True,
})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['title'], item.get('company'))

cURL API usage

curl-X POST 'https://api.apify.com/v2/acts/automation-lab~duunitori-jobs-scraper/runs?token=$APIFY_TOKEN'\
-H'Content-Type: application/json'\
-d'{"keywords":"developer","location":"Helsinki","maxItems":50,"includeDetails":true}'

MCP usage

Use the Apify MCP server to call this actor from Claude, Cursor, VS Code, OpenAI Agents SDK, or another MCP client. To expose only this scraper, configure the server URL with the actor tool filter:

https://mcp.apify.com?tools=automation-lab/duunitori-jobs-scraper

Authentication is required. Clients with OAuth support can connect to https://mcp.apify.com and sign in to Apify in the browser. Clients that use static configuration should send your Apify API token as an authorization header.

Claude Code CLI setup:

$claude mcp add--transport http apify-duunitori "https://mcp.apify.com?tools=automation-lab/duunitori-jobs-scraper"

If your CLI supports headers, add Authorization: Bearer <APIFY_TOKEN> through the client's header option or environment-backed config. Otherwise use OAuth in a supported client or generate a compatible setup at https://mcp.apify.com/.

Claude Desktop / Cursor-style JSON config:

{
"mcpServers":{
"apify-duunitori":{
"url":"https://mcp.apify.com?tools=automation-lab/duunitori-jobs-scraper",
"headers":{
"Authorization":"Bearer <APIFY_TOKEN>"
}
}
}
}

Replace <APIFY_TOKEN> with a token from Apify Console โ†’ Settings โ†’ API & Integrations. Do not paste the token into prompts or shared project files. If your MCP client does not support HTTP headers, use the Apify MCP configurator at https://mcp.apify.com/ to generate a compatible setup for that client.

Example prompts: โ€œFind recent developer jobs in Helsinki and summarize hiring companies,โ€ โ€œExport salary-bearing Duunitori jobs for Tampere,โ€ or โ€œMonitor Finnish nursing jobs weekly and flag new employers.โ€

Common workflows

  • Competitor hiring monitoring for recruiters.
  • Finnish labor-market dashboards for analysts.
  • Job aggregator feed collection.
  • Salary-signal extraction for compensation research.
  • Weekly hiring alerts by city or keyword.
  • Enrichment of internal employer lists with active job postings.

Performance notes

The actor uses HTTP requests and Cheerio parsing, not a browser. Detail enrichment requires one extra page request per job, so disabling includeDetails is faster. The default memory is 256 MB, which is appropriate for this lightweight actor.

Troubleshooting

If no results appear, broaden the keyword or remove the location filter. If descriptions or application links are missing, make sure includeDetails is enabled. If a direct URL fails, confirm it is a public Duunitori search or /tyopaikat/tyo/ detail URL. If salary is empty, the employer likely did not publish salary information.

Legality and responsible use

This actor extracts public job-listing pages. You are responsible for using the data lawfully, respecting Duunitori terms, and complying with privacy, database, and employment-data rules that apply to your use case. Avoid excessive scheduling and do not use the data for spam or unlawful profiling.

Related scrapers

This actor belongs with Finland and European recruitment-data workflows. After publication, cross-link it with other automation-lab job-board scrapers, company scrapers, lead-generation actors, and market-intelligence tools on Apify.

FAQ

Does it require a Duunitori account? No. It reads public pages.

Can it scrape external ATS pages? No. It records application URLs but does not crawl external application systems.

Can I monitor jobs every day? Yes. Use Apify tasks and schedules.

Can I scrape exact Duunitori URLs? Yes. Put them in startUrls.

Why is salary sometimes empty? Salary is only available when Duunitori or the employer publishes it.

Field notes

  • Title and company come from search cards first, preserving the wording users see in Duunitori search results.
  • Detail pages are used for JobPosting JSON-LD when includeDetails is enabled.
  • Application URLs may point to Duunitori or to an external employer ATS.
  • Category values are Duunitori category labels and may be Finnish.
  • Tags are user-visible badges from the search result card.
  • Posting dates can be localized card text or ISO dates from JSON-LD when details are enabled.
  • validThrough is usually an ISO deadline from Schema.org data.
  • scrapedAt helps scheduled users identify which run produced a record.
  • If a card and detail page disagree, the detail page is preferred for structured dates, application links, and employment type.
  • Runs are best compared by sourceUrl or jobId when building deduplication logic for recurring monitoring.

You might also like

Duunitori Jobs Scraper

solidcode/duunitori-fi-scraper

[๐Ÿ’ฐ $1.8 / 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 URLs. Returns title, company, location, salary, posting date, description, and apply link โ€” one row per job.

Duunitori.fi Jobs Scraper

unfenced-group/duunitori-fi-scraper

Scrape 20,000+ Finnish job listings from Duunitori.fi โ€” Finland's leading native job board. Structured output: titles, companies, locations, application deadlines, direct apply URLs & full descriptions in HTML, text and Markdown. daysOld filtering & repost detection. No API key required.

๐Ÿ‘ User avatar

Unfenced Group

14

Tyรถmarkkinatori.fi Scraper

unfenced-group/tyomarkkinatori-fi-scraper

Extract structured job listings from Tyรถmarkkinatori.fi โ€” Finland's official government job board. Filter by keyword, municipality, region, contract type, and date. No API key required. $1.49 per 1,000 results.

๐Ÿ‘ User avatar

Unfenced Group

5

Jobly.fi Scraper

unfenced-group/jobly-fi-scraper

Scrape job listings from Jobly.fi, Finland's leading job board. Returns full descriptions, salary, employment type, occupational category, deadline, and external apply links. No API key required.

๐Ÿ‘ User avatar

Unfenced Group

3

Duunitori Scraper - Finland Job Listings

blackfalcondata/duunitori-scraper

Scrape duunitori.fi - Finland's largest job board with 22,000+ listings. Salary ranges, employment types, and employer details. Incremental mode detects only new and changed listings on each scheduled monitoring run for efficient daily tracking.

๐Ÿ‘ User avatar

Black Falcon Data

28

5.0

(1)

Duunitori Scraper - Finnish Job Listings & Salaries

studio-amba/duunitori-scraper

Scrape job listings from Duunitori.fi, Finland's leading job board with 22,000+ listings. Search by keyword, location, and category. Extract job titles, companies, salaries, employment types, descriptions, and application deadlines. No login or cookies required.

๐Ÿ”ฅ LinkedIn Jobs Scraper

bebity/linkedin-jobs-scraper

โ„น๏ธ Designed for both personal and professional use, simply enter your desired job title and location to receive a tailored list of job opportunities. Try it today!

34K

4.6

(70)

Linkedin Jobs Scraper

curious_coder/linkedin-jobs-scraper

Scrape jobs from linkedin jobs search results along with company details. Get key information to find contact info

110K

4.4

(106)

๐Ÿš€ Indeed jobs scraper [PPR]

borderline/indeed-scraper

Pay per result - Fast and reliable Indeed Job Scraper! ๐Ÿš€ Extract job listings with company details effortlessly with advanced filters, avoid blocking, and enjoy lightning-speed execution. Build your analytics, automate searches, or benchmark salariesโ€”all with seamless outputs. Try it now for free

16K

4.9

(33)

Upwork Job Scraper

neatrat/upwork-job-scraper

Scrape Upwork jobs without limits ๐ŸŒŸ Bypass CAPTCHAs & apply custom filters. Apify is retiring rental Actors, so pricing is changing. For many users around ~7k jobs/month, cost should stay near the old $25. You still get the same no-cookie setup, with in-house Upwork accounts and proxies built in.

4.9K

4.8

(32)