Werk.nl Vacatures Scraper
Pricing
from $0.99 / 1,000 results
Werk.nl Vacatures Scraper
Under maintenanceScrape werk.nl — the official Dutch government job board with 250,000+ listings. Structured output: salary, contract type, education level, working hours. Self-healing filters, repost detection & daysOld support. No API key required.
Pricing
from $0.99 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Actor stats
1
Bookmarked
13
Total users
4
Monthly active users
3 days ago
Last modified
Categories
Share
Extract structured job listings from werk.nl — the official Dutch government job board (UWV) with 250,000+ active vacancies across all sectors and regions. No API key required.

Why this scraper?
| Feature | Details |
|---|---|
| Scale | 250,000+ active listings across all Dutch provinces and sectors |
| Self-healing filters | Contract type and education level codes are auto-discovered from the live API — filters keep working even after Werk.nl API changes that break hardcoded scrapers |
| Three description formats | HTML, plain text, and Markdown — ready for any downstream pipeline or storage |
| Repost detection | 90-day cross-run fingerprinting identifies when employers re-publish the same vacancy with a new ID |
| Rich metadata | Salary range, working hours, education level, contract type, target group flags |
| Flexible input | Up to 3 simultaneous keyword searches, city + radius, contract type, education level, sort order |
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | String | "" | Job title or keyword(s) to search for |
location | String | "" | City or postal code |
distance | Integer | 30 | Search radius in km |
contractType | String | — | Filter by contract type (auto-discovered from live API) |
educationLevel | String | — | Filter by education level (auto-discovered from live API) |
sortBy | String | relevance | Sort order: relevance, distance, or date |
maxResults | Integer | 100 | Maximum number of results to return |
fetchDetails | Boolean | true | Fetch full job description from detail page |
daysOld | Integer | — | Only return listings posted within this many days |
skipReposts | Boolean | false | Skip listings already seen in a previous run |
startUrls | Array | [] | Specific Werk.nl vacancy URLs to scrape directly |
Output schema
Each result is a JSON object. Example:
{"id": "2526d745-b4c3-4a1e-9f12-abc123def456","url": "https://www.werk.nl/vacatures/12345","title": "Senior Software Engineer","company": "Poki","city": "Amsterdam","salary": "€4.000 - €6.000","salaryMin": 4000,"salaryMax": 6000,"salaryPeriod": "MONTH","contractType": "Vast","educationLevel": "HBO/bachelor","hoursMin": 32,"hoursMax": 40,"publishDate": "2026-02-20","publishDateISO": "2026-02-20","expiryDate": "2026-03-22","applyUrl": "https://...","description": "<p>Full job description HTML...</p>","descriptionText": "Full job description plain text...","descriptionMarkdown": "Full job description Markdown...","isInternship": false,"isForYouth": false,"isFor50Plus": false,"isForDisabled": false,"isBanenafspraak": false,"isRepost": false,"originalPublishDate": null,"source": "werk.nl","scrapedAt": "2026-03-31T10:00:00.000Z"}
Examples
Basic keyword search:
{ "searchQuery": "software developer", "maxResults": 50 }
Location + contract filter:
{"searchQuery": "verpleegkundige","location": "Utrecht","distance": 25,"contractType": "Vast","maxResults": 200}
Recent listings only:
{"searchQuery": "data analyst","daysOld": 7,"sortBy": "date","maxResults": 100}
💰 Pricing
$1.25 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.13 |
| 1,000 | ~$1.25 |
| 10,000 | ~$12.50 |
| 100,000 | ~$125.00 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage. At 10,000 results/month, this scraper costs significantly less with no commitment.
Pricing
This actor uses Pay Per Result pricing at $1.25 per 1,000 results.
| Volume | Cost |
|---|---|
| 100 results | $0.12 |
| 1,000 results | $1.25 |
| 10,000 results | $12.50 |
No subscription fees. Pay only for successfully scraped listings.
Performance
| Scenario | Results | Duration |
|---|---|---|
| Keyword search, no details | 1,000 | ~2 minutes |
| Keyword search, with details | 500 | ~5 minutes |
| Full catalogue scan | 10,000 | ~25 minutes |
Known limitations
- Apply URL: Direct application links are only available when the employer includes an external redirect. Internal UWV applications do not have a direct URL.
- Salary: Not published by all employers — will be
nullwhen unavailable. - Filter codes: Werk.nl uses internal numeric codes for contract type and education level that change without notice. This scraper auto-discovers the correct codes at runtime.
Technical details
- Source: werk.nl — official Dutch government job board (UWV)
- Memory: 1024 MB
- Repost storage: KeyValueStore
werk-nl-job-dedup, 90-day TTL - Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request
Additional services
Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.
Built by unfenced-group · Issues? Open a ticket or send a message.