Nationale Vacaturebank Scraper avatar

Nationale Vacaturebank Scraper

Pricing

from $1.60 / 1,000 results

Go to Apify Store
Nationale Vacaturebank Scraper

Nationale Vacaturebank Scraper

[๐Ÿ’ฐ $1.60 / 1K] Extract job listings from Nationale Vacaturebank (nationalevacaturebank.nl), one of the Netherlands' largest job boards. Search by keyword, location, contract type, education, and career level to get titles, companies, salaries, locations, descriptions, contacts, and apply links.

Pricing

from $1.60 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Pull job listings from Nationale Vacaturebank โ€” one of the Netherlands' largest job boards, with roughly 102,000 live vacancies โ€” including title, company, salary range, GPS coordinates, apply links, and employer contact details where published, as clean structured rows. Search by keyword, city, province, contract type, education level, and posting date, or paste a search URL you already filtered. Built for Dutch-market recruiters, labour-market analysts, and lead-generation teams who need fresh NL vacancy data without copy-pasting postings by hand.

Why This Scraper?

  • Around 102,000 live Dutch vacancies โ€” one run reaches the full breadth of a top-tier Netherlands job board, with no per-city setup or link-building.
  • GPS coordinates on every job โ€” latitude and longitude for each posting, ready for map dashboards and radius analysis with no separate geocoding step.
  • Employer contacts where published โ€” recruiter name and email on the majority of listings, plus a direct phone number where the employer lists one; descriptions are also mined for any extra emails, phones, and links they contain.
  • Three Dutch education levels โ€” filter by MBO (vocational), HBO (university of applied sciences), or WO (university), the exact taxonomy Dutch employers hire against.
  • City and province targeting โ€” search a single city like Amsterdam, or sweep an entire province like Noord-Holland; all 12 Dutch provinces are recognised automatically.
  • Parsed salary min, max, and period โ€” a normalised euro range plus a month/year/hour period on every job that publishes pay, not just a raw text blob.
  • Four contract types and two career levels โ€” Permanent (Vast), Temporary (Tijdelijk), Internship (Stage), and Freelance/ZZP, combined with Starter or Experienced.
  • Plain-text or HTML descriptions โ€” choose clean text, the original HTML, or both; the full body is always included and never truncated.
  • Up to 5,000 jobs per keyword, 50 keywords per run โ€” batch dozens of role searches at once, globally de-duplicated on job ID so overlapping searches never repeat a listing.

Use Cases

Recruitment & Sourcing

  • Build target lists of open roles by keyword, city, or province
  • Track competitor hiring across MBO, HBO, and WO education levels
  • Monitor fresh postings with the "Posted Within" window (last 1โ€“30 days)
  • Pull recruiter name and email for outreach, with a direct phone where the employer lists one

Labour-Market Research

  • Map vacancy density across the 12 Dutch provinces using GPS coordinates
  • Analyse salary ranges by sector, city, or education level
  • Track hiring demand for specific skills and job titles over time
  • Compare full-time vs part-time supply using the working-hours range

Lead Generation

  • Build employer contact lists with recruiter name and email, plus phone where published
  • Identify companies actively hiring in your niche
  • Capture company website and logo when the employer publishes them
  • Harvest every email, phone, and link embedded in job descriptions

Salary Benchmarking

  • Compare parsed salary minimums and maximums across cities and sectors
  • Normalise monthly, yearly, and hourly pay for apples-to-apples analysis
  • Track compensation trends for specific job titles
  • Benchmark Starter vs Experienced pay bands

Data Enrichment & Integration

  • Feed live Dutch vacancy data into dashboards and applicant-tracking systems
  • Power job-aggregator and comparison sites
  • Enrich existing employer databases with current openings
  • Trigger downstream alerts on new postings that match saved searches

Getting Started

The simplest way to start โ€” one keyword and a result cap:

{
"searchQueries": ["software developer"],
"maxResults": 50
}

City Search with Filters

{
"searchQueries": ["verpleegkundige"],
"location": "Rotterdam",
"contractType": "permanent",
"educationLevel": "hbo",
"maxResults": 200
}

Province Sweep, Fresh Jobs Only

{
"searchQueries": ["projectmanager", "data analist", "recruiter"],
"location": "Noord-Holland",
"careerLevel": "experienced",
"datePosted": "7",
"descriptionFormat": "both",
"maxResults": 1000
}

Using a Nationale Vacaturebank URL

Paste a search-results URL you already filtered in your browser โ€” its filters are honoured as-is and pagination is automatic:

{
"startUrls": [
{ "url": "https://www.nationalevacaturebank.nl/vacatures?query=marketing&filters[city][]=Amsterdam" }
],
"maxResults": 500
}

Input Reference

ParameterTypeDefaultDescription
searchQueriesstring[]["software developer"]Job titles or keywords, such as "verpleegkundige" or "projectmanager". Each keyword runs its own search; results are merged and de-duplicated. Up to 50 keywords.
startUrlsURL[][]Paste full Nationale Vacaturebank search-result URLs. Any filters already in the URL are used exactly as-is, and pagination is handled for you. Up to 100 URLs.

Filters & Limits

ParameterTypeDefaultDescription
locationstring""A Dutch city or province, e.g. "Amsterdam", "Rotterdam", or "Noord-Holland". Names shared by a city and a province (Utrecht, Groningen, Overijssel) match the whole province โ€” search a nearby distinct city to target just the city. Empty searches the whole of the Netherlands.
contractTypeselectAnyPermanent (Vast), Temporary (Tijdelijk), Internship (Stage), or Freelance / ZZP.
educationLevelselectAnyMBO (vocational), HBO (university of applied sciences), or WO (university).
careerLevelselectAnyStarter or Experienced (Ervaren).
datePostedselectAny timeOnly jobs published within the last 24 hours, 3, 7, 14, or 30 days.
maxResultsinteger50Maximum jobs to collect per keyword, up to 5,000. Returns approximately this many โ€” a few extra rows may be added to finish the final page.

Advanced

ParameterTypeDefaultDescription
descriptionFormatselectPlain textReturn the full description as clean plain text, original HTML, or both in their own fields.

Output

Each job is returned as one flat row. Here's a representative result:

{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"title": "Senior Software Developer",
"company": "Coolblue",
"location": "Amsterdam",
"city": "Amsterdam",
"province": "Noord-Holland",
"postalCode": "1011 AC",
"latitude": 52.3702,
"longitude": 4.8952,
"contractType": "Permanent",
"educationLevel": "HBO",
"careerLevel": "Experienced",
"workingHoursMin": 32,
"workingHoursMax": 40,
"sector": ["ICT", "Software Development"],
"numberOfApplies": 14,
"salaryText": "โ‚ฌ3.500 - โ‚ฌ5.848",
"salaryMin": 3500,
"salaryMax": 5848,
"salaryPeriod": "month",
"publishDate": "2026-07-08T00:00:00Z",
"expiryDate": "2026-08-08T00:00:00Z",
"descriptionSnippet": "Als Senior Software Developer werk je in een team aan schaalbare webapplicaties...",
"description": "Als Senior Software Developer werk je in een team aan schaalbare webapplicaties. Je hebt ruime ervaring met moderne cloud-infrastructuur en teamwork...",
"descriptionHtml": "<p>Als Senior Software Developer werk je in een team...</p>",
"contactName": "Sanne de Vries",
"contactEmail": "recruitment@coolblue.nl",
"contactPhone": "+31 20 123 4567",
"extractedEmails": ["recruitment@coolblue.nl"],
"extractedPhones": ["+31 20 123 4567"],
"extractedUrls": ["https://werkenbij.coolblue.nl"],
"applyUrl": "https://www.nationalevacaturebank.nl/vacature/a1b2c3d4/solliciteren",
"companyWebsite": "https://www.coolblue.nl",
"companyLogo": "https://cdn.nationalevacaturebank.nl/logos/coolblue-500x500.png",
"jobUrl": "https://www.nationalevacaturebank.nl/vacature/a1b2c3d4/senior-software-developer",
"searchQuery": "software developer",
"scrapedAt": "2026-07-12T14:30:00Z"
}

Core Fields

FieldTypeDescription
jobIdstringUnique Nationale Vacaturebank job identifier
titlestringJob title
companystringHiring company / employer name
sectorstring[]Sectors, industries, and categories the job is filed under
numberOfAppliesnumberNumber of applicants so far, when published
publishDatestringDate the job was posted (ISO-8601)
expiryDatestringApplication deadline / expiry date, when present
jobUrlstringCanonical Nationale Vacaturebank job-page URL
applyUrlstringApply / application URL (falls back to the job page)
searchQuerystringThe keyword or URL that produced this row
scrapedAtstringISO timestamp of when the record was collected

Location & Coordinates

FieldTypeDescription
locationstringListed location text as shown on the posting
citystringParsed city name
provincestringDutch province
postalCodestringDutch postal code, when present
latitudenumberLatitude of the workplace
longitudenumberLongitude of the workplace

Role Details

FieldTypeDescription
contractTypestringPermanent, Temporary, Internship, or Freelance
educationLevelstringRequired education level (MBO / HBO / WO)
careerLevelstringStarter or Experienced
workingHoursMinnumberMinimum weekly hours, when stated
workingHoursMaxnumberMaximum weekly hours, when stated

Compensation

FieldTypeDescription
salaryTextstringFormatted euro salary range, e.g. "โ‚ฌ3.500 - โ‚ฌ5.848"
salaryMinnumberParsed minimum salary
salaryMaxnumberParsed maximum salary
salaryPeriodstringPay period: month, year, or hour

Description

FieldTypeDescription
descriptionSnippetstringShort teaser drawn from the full description
descriptionstringFull description as plain text (when format includes text)
descriptionHtmlstringFull description as HTML (when format includes HTML)

Employer & Contact

FieldTypeDescription
contactNamestringRecruiter / contact name, when published
contactEmailstringContact email, when published
contactPhonestringContact phone number, when published
extractedEmailsstring[]Every email address parsed from the description
extractedPhonesstring[]Every phone number parsed from the description
extractedUrlsstring[]Every link parsed from the description (assets excluded)
companyWebsitestringCompany profile / website URL, when present
companyLogostringCompany logo image URL, when present

Tips for Best Results

  • Start small โ€” run 50 results first to confirm the data matches your needs, then raise maxResults for a full sweep.
  • Sweep a whole region with the province filter โ€” set location to a province like "Zuid-Holland" or "Noord-Brabant" to capture every city in it at once, instead of listing cities one by one.
  • Combine a keyword with a city for precision โ€” pairing "verpleegkundige" with "Rotterdam" is far tighter than either alone and cuts irrelevant rows. (Note: names shared by a city and a province โ€” Utrecht, Groningen, Overijssel โ€” search the whole province; pick a nearby distinct city to stay city-only.)
  • Use datePosted for fresh-only monitoring โ€” set it to 1 or 3 days on a scheduled run to capture only new vacancies and avoid re-collecting the whole board.
  • Batch related keywords in one run โ€” add several role variations (e.g. "data analist", "data engineer", "BI analist") to searchQueries; results are de-duplicated on job ID automatically.
  • Choose the right description format โ€” pick "Plain text" for analysis and search, "HTML" to preserve formatting for republishing, or "Both" when you need each.
  • Mine descriptions for contacts โ€” extractedEmails and extractedPhones occasionally surface direct hiring contacts that aren't in the structured recruiter fields; treat them as a bonus, not a primary source.

Pricing

From $1.60 per 1,000 results โ€” cheaper than comparable Dutch job-board extractors, with no per-run start-up premium. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.19$0.18$0.17$0.16
1,000$1.90$1.80$1.70$1.60
10,000$19.00$18.00$17.00$16.00
100,000$190.00$180.00$170.00$160.00

A "result" is any job row in the output dataset. No compute or time-based charges โ€” you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom integrations on run completion
  • Apify API โ€” Full programmatic access

This actor is designed for legitimate recruitment research, labour-market analysis, and lead generation. Users are responsible for complying with applicable laws โ€” including the GDPR when handling personal data such as recruiter contact details โ€” and with Nationale Vacaturebank's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose.