Werkzoeken.nl Scraper avatar

Werkzoeken.nl Scraper

Pricing

from $1.20 / 1,000 results

Go to Apify Store
Werkzoeken.nl Scraper

Werkzoeken.nl Scraper

Scrape 195,000+ listings from Werkzoeken.nl — the Netherlands' comprehensive job aggregator. Filter by keyword, location, contract type and working hours. Full descriptions in HTML, text and Markdown. Repost detection & daysOld filtering. No API key required.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

2

Bookmarked

12

Total users

4

Monthly active users

3 days ago

Last modified

Share

Werkzoeken.nl Scraper — Netherlands Jobs

werkzoeken-nl-scraper

Extract structured job listings from werkzoeken.nl — the Netherlands' largest job aggregator with 195,000+ listings from hundreds of boards, staffing agencies, and employer sites. Filter by keyword, location, contract type, salary, and more. No API key required.


What you get

Every result includes title, company, location, salary range, contract type, working hours, publication date, repost detection, and a direct link. Enable fetchDetails to add full job descriptions (HTML, plain text, and Markdown) and apply URLs. Enable incrementalMode for daily change feeds — only new, updated, and reappeared listings are returned.


Input parameters

Search & filters

ParameterTypeDefaultDescription
searchQuerystringJob title or keyword — e.g. developer, verpleegkundige, chauffeur
locationstringCity or region — e.g. Amsterdam, Rotterdam, Den Haag
radiusstringSearch radius in km — e.g. 10, 25, 50
contractTypestringContract type — e.g. fulltime, parttime, freelance, temporary
hoursPerWeekstringWorking hours filter — e.g. 32, 40
educationLevelstringRequired education — e.g. MBO, HBO, WO
employerTypestringEmployer type — e.g. direct, uitzendbureau
minSalarystringMinimum monthly salary — e.g. 2500
daysOldstringOnly jobs posted within N days — 7 for this week, 1 for today
sortByselectdate (newest first) or relevance
maxResultsinteger100Maximum results to return. 0 = unlimited
fetchDetailsbooleanfalseFetch full descriptions and apply URL from each listing page
skipRepostsbooleanfalseExclude reposts of already-seen listings

Incremental mode

ParameterTypeDefaultDescription
incrementalModebooleanfalseOnly return NEW, UPDATED, and REAPPEARED listings compared to the previous run
stateKeystringOptional stable identifier for the tracked search state. Leave empty to auto-derive

Output shaping

ParameterTypeDefaultDescription
compactbooleanfalseReturn core fields only — ideal for AI agents and LLM pipelines
descriptionFormatselectallKeep all variants, or pick text, html, or markdown
descriptionMaxLengthinteger0Truncate description to N characters. 0 = no truncation
excludeEmptyFieldsbooleanfalseStrip null and empty fields from each record

Notifications

ParameterTypeDescription
telegramTokenstringTelegram bot token from @BotFather
telegramChatIdstringTelegram chat or channel ID
discordWebhookUrlstringDiscord incoming webhook URL
slackWebhookUrlstringSlack incoming webhook URL
webhookUrlstringGeneric POST webhook — works with n8n, Make, Zapier
webhookHeadersobjectOptional auth headers for the webhook
notificationLimitintegerMax jobs per notification message (default 5)
notifyOnlyChangesbooleanWith incremental mode: only notify for NEW / UPDATED / REAPPEARED

Output fields

Always present

FieldTypeDescription
idstringUnique job ID (wznl prefix + vacancy ID)
vacancyIdstringRaw vacancy ID from werkzoeken.nl
titlestringJob title
urlstringDirect link to the listing
companystringHiring company or recruiter name
companyTypestringEmployer type (e.g. direct, uitzendbureau)
citystringCity or region
contractTypestringContract type (e.g. fulltime, parttime)
hoursTypestringWorking hours type
experiencearrayRequired experience levels
educationstringRequired education level
salaryMinnumberMinimum monthly salary (€)
salaryMaxnumberMaximum monthly salary (€)
salaryTypestringSalary period — always monthly
publishDatestringISO date the listing was published
ageLabelstringOriginal age label from the site (e.g. vandaag, 3 dagen geleden)
fingerprintstringCross-run dedup hash (from site's data-hash attribute)
contentHashstringMD5 of title + company + salary + location — stable content identifier
changeStatusstringNEW, UPDATED, UNCHANGED, or REAPPEARED (only with incrementalMode)
isRepostbooleanWhether this listing has been seen before under the same fingerprint
originalPublishDatestringPublication date of the first-seen version (reposts only)
originalUrlstringURL of the first-seen version (reposts only)
extractedEmailsarrayEmail addresses extracted from the job description
extractedPhonesarrayPhone numbers extracted from the job description
scrapedAtstringISO 8601 timestamp of when this record was scraped
sourcestringAlways werkzoeken.nl
latitudenumberGeocoded latitude of the job location
longitudenumberGeocoded longitude of the job location

With fetchDetails: true

FieldTypeDescription
descriptionstringFull job description as HTML
descriptionTextstringFull job description as plain text
descriptionMarkdownstringFull job description as Markdown
applyUrlstringDirect application URL

Sample output

{
"id": "wznl12345678",
"vacancyId": "12345678",
"title": "Senior Software Engineer",
"company": "Tech Startup BV",
"companyType": "direct",
"city": "Amsterdam",
"contractType": "fulltime",
"hoursType": "40 uur",
"experience": ["senior"],
"education": "HBO",
"salaryMin": 4500,
"salaryMax": 6000,
"salaryType": "monthly",
"publishDate": "2026-06-09",
"ageLabel": "vandaag",
"changeStatus": "NEW",
"isRepost": false,
"extractedEmails": ["jobs@techstartup.nl"],
"extractedPhones": [],
"url": "https://www.werkzoeken.nl/vacature/senior-software-engineer-amsterdam-12345678/",
"applyUrl": "https://www.techstartup.nl/apply/senior-engineer",
"scrapedAt": "2026-06-09T10:00:00.000Z",
"source": "werkzoeken.nl"
}

Examples

Developer jobs in Amsterdam

{
"searchQuery": "developer",
"location": "Amsterdam",
"radius": "25",
"maxResults": 50
}

Daily feed of new IT jobs (incremental mode)

{
"searchQuery": "software engineer",
"contractType": "fulltime",
"incrementalMode": true,
"notifyOnlyChanges": true,
"telegramToken": "your-bot-token",
"telegramChatId": "-100123456789"
}

Part-time admin roles in Rotterdam with full descriptions

{
"searchQuery": "administratief medewerker",
"location": "Rotterdam",
"contractType": "parttime",
"fetchDetails": true,
"descriptionFormat": "text"
}

Logistics jobs with minimum salary, this week only

{
"searchQuery": "chauffeur",
"location": "Utrecht",
"minSalary": "2500",
"daysOld": "7",
"sortBy": "date"
}

Compact output for AI/LLM pipelines

{
"searchQuery": "data analyst",
"location": "Rotterdam",
"compact": true,
"excludeEmptyFields": true,
"descriptionFormat": "text",
"descriptionMaxLength": 500
}

n8n / Zapier webhook on new jobs

{
"searchQuery": "marketing manager",
"location": "Amsterdam",
"incrementalMode": true,
"webhookUrl": "https://your-n8n.com/webhook/abc123",
"notifyOnlyChanges": true,
"notificationLimit": 10
}

Pricing

Pay-per-result — you are charged only for items pushed to the dataset. Compute and proxy costs are absorbed by Unfenced Group.

Other scrapers in our Jobs — Netherlands collection:


Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl