VDAB.be Scraper avatar

VDAB.be Scraper

Pricing

from $1.40 / 1,000 results

Go to Apify Store
VDAB.be Scraper

VDAB.be Scraper

[πŸ’° $1.4 / 1K] Extract job vacancies from VDAB.be, the Flemish public employment service. Search by keyword and location, filter by contract type and sort order, and get titles, companies, salaries, contract types, requirements, descriptions, bottleneck-job flags, and contact details.

Pricing

from $1.40 / 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 vacancies from VDAB.be β€” the Flemish public employment service β€” at scale, including titles, employers, contract type, salary, work regime, experience and education requirements, language demands, and VDAB's own knelpuntberoep (bottleneck-occupation) flag. Every Dutch-language text field arrives as clean, ready-to-use plain text. Built for Belgian recruiters, labour-market researchers, and relocation services who need structured VDAB vacancy data without copy-pasting listings one page at a time.

Why This Scraper?

  • VDAB's knelpuntberoep flag on every row β€” a boolean isBottleneckJob marks each posting VDAB classifies as a bottleneck occupation, so you can instantly isolate the hardest-to-fill, highest-demand roles across Flanders.
  • Up to 2,000 vacancies per keyword, merged and de-duplicated β€” run as many as 50 keywords in one go; overlapping results are collapsed by vacancy ID so the same job never appears twice.
  • Four employment categories on one dropdown β€” filter by Regular jobs, Service vouchers (dienstencheques), Interim / temp work, or Social economy, mapped from plain English to VDAB's internal circuit codes for you.
  • Full detail enrichment from each vacancy page β€” description, salary, educationRequirements, languageRequirements, experienceLevel, workRegime, and employmentLocation pulled straight from the vacancy detail, not just the search card.
  • Language requirements with proficiency levels β€” languageRequirements lists each demanded language alongside its required competency (e.g. "Nederlands (Goed); Frans (Voldoende)"), parsed from VDAB's structured talenkennis data.
  • Linked-duplicate counter β€” duplicateCount tells you how many other postings VDAB links to the same job, a strong signal for high-volume or multi-agency hiring.
  • Full Flanders plus Brussels coverage β€” search any Flemish or Belgian city or municipality (Antwerpen, Gent, Brussel, Hasselt, Leuven, Brugge), resolved to the right province automatically.
  • Apply-ready external links β€” sourceDetailUrl captures the employer's own application webadres where VDAB exposes it, plus the canonical public url for every vacancy.
  • Raw-payload passthrough for analysts β€” flip on includeRawData to attach the untouched source records (rawListing, rawDetail) alongside the clean fields.

Use Cases

Recruitment & Sourcing

  • Build candidate-facing job feeds filtered to a city and contract type
  • Surface bottleneck occupations to prioritise hard-to-fill openings
  • Track which employers are hiring most actively in your region
  • Pull apply links and reference codes for fast outreach

Labour-Market Research

  • Measure vacancy volume by keyword, location, and contract category over time
  • Quantify knelpuntberoep prevalence across Flemish provinces
  • Compare full-time vs. part-time and interim vs. permanent supply
  • Map education and language requirements by occupation

Relocation & Mobility Services

  • Prepare role shortlists for clients moving to Flanders or Brussels
  • Match incoming talent to language-appropriate openings
  • Benchmark expected qualifications before a candidate relocates
  • Filter for roles open to specific experience levels

Competitive Salary Intelligence

  • Capture published salary and benefits text per vacancy
  • Compare offered packages within an occupation or region
  • Track how compensation language shifts across employers
  • Feed salary signals into pay-benchmarking dashboards

Data Enrichment & Integration

  • Enrich an applicant-tracking system with fresh VDAB openings
  • Power a job-aggregation site with structured Flemish vacancies
  • Build alerts for new postings matching saved keywords
  • Sync deduplicated vacancy data into a BI warehouse

Getting Started

Search by Keyword

The simplest run β€” one keyword, default settings:

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

Keyword and Location, Newest First

{
"searchQueries": ["verpleegkundige"],
"location": "Antwerpen",
"sort": "datum",
"maxResults": 200
}

Filtered by Contract Type

{
"searchQueries": ["magazijnier", "logistiek medewerker"],
"location": "Gent",
"contractType": "interim",
"maxResults": 300,
"includeJobDetails": true
}

Paste a VDAB Search URL

Dialed in a search on the VDAB website? Paste it directly β€” any filters baked into the URL are honoured as-is:

{
"startUrls": [
"https://www.vdab.be/vindeenjob/vacatures?trefwoord=verpleegkundige"
],
"maxResults": 100
}
{
"searchQueries": ["data analist", "data engineer"],
"location": "Brussel",
"contractType": "regular",
"sort": "datum",
"maxResults": 500,
"includeJobDetails": true,
"includeRawData": false
}

Input Reference

ParameterTypeDefaultDescription
searchQueriesstring[]["software engineer"]Job titles or keywords to search for, such as "software engineer", "verpleegkundige", or "magazijnier". Each keyword runs a separate search and results are merged and de-duplicated. Up to 50 keywords per run. Leave empty if you only want to use direct VDAB URLs.
startUrlsURL[][]Paste full VDAB search-result URLs and/or individual vacancy-page URLs. Any filters baked into a search URL are scraped exactly as-is. To keep a location filter from a pasted search URL, also set the location field, since a pasted URL may carry only the place name and not VDAB's internal location code. Up to 100 URLs per run.

Filters & Limits

ParameterTypeDefaultDescription
locationstring""A city or municipality in Flanders or Belgium, such as "Antwerpen", "Gent", "Brussel", or "Hasselt". Leave empty to search all locations.
contractTypeselectAnyFilter by employment category: Any, Regular jobs, Service vouchers (dienstencheques), Interim / temp work, or Social economy.
sortselectDefaultOrder in which vacancies are collected: Default, or Newest first.
maxResultsinteger100Maximum vacancies to collect per search keyword (1–2,000). Use 50 for a quick scan or higher for deep research. Small requests return about as many vacancies as you ask for; larger requests round up to the end of the last full page (about 50), so the final count can slightly overshoot.

Advanced

ParameterTypeDefaultDescription
includeJobDetailsbooleantrueFetch the full description, requirements, salary, and contact details from each vacancy's detail page. Turn off for faster, lighter scans β€” the description, requirements, salary, and contact fields will then be empty.
includeRawDatabooleanfalseAttach the raw source payload to each record (as rawListing and rawDetail) for advanced analysis.

Output

Each vacancy becomes one flat record. Here's a representative result with full details enabled:

{
"vacancyId": "62849173",
"referenceId": "2026-118842",
"title": "Verpleegkundige",
"companyName": "AZ Sint-Lucas",
"supplierName": "",
"location": "Gent",
"employmentLocation": "Groenebriel 1, 9000 Gent",
"contractType": "Vast werk",
"workRegime": ["Voltijds", "Dagwerk"],
"experienceLevel": "Geen ervaring nodig",
"educationRequirements": "Bachelor verpleegkunde",
"languageRequirements": "Nederlands (Goed)",
"salary": "Verloning volgens IFIC-barema, maaltijdcheques, hospitalisatieverzekering",
"description": "Als verpleegkundige op onze afdeling sta je in voor de dagelijkse zorg...",
"isBottleneckJob": true,
"isClosed": false,
"duplicateCount": 2,
"firstPublishedAt": "2026-06-09T08:14:00Z",
"lastModifiedAt": "2026-06-12T10:02:00Z",
"contactEmail": "",
"sourceDetailUrl": "https://www.azsintlucas.be/vacatures/verpleegkundige",
"url": "https://www.vdab.be/vindeenjob/vacatures/62849173",
"searchQuery": "verpleegkundige",
"scrapedAt": "2026-06-17T14:30:00Z"
}

Core Fields

FieldTypeDescription
vacancyIdstringVDAB vacancy identifier
titlestringJob title
companyNamestringEmployer organisation name
supplierNamestringSupplier / intermediary organisation (for agency listings)
locationstringVacancy location label
contractTypestringContract / employment-circuit label
salarystringSalary and benefits text, when available
isBottleneckJobbooleanKnelpuntberoep (bottleneck occupation) flag
urlstringPublic VDAB vacancy URL

Job Details

Populated when includeJobDetails is on.

FieldTypeDescription
descriptionstringFull vacancy description as plain text
employmentLocationstringDetailed work address, when available
workRegimestring[]Work schedule (e.g. full-time, day work, shifts)
experienceLevelstringExperience requirement label
educationRequirementsstringEducational credential expectations
languageRequirementsstringRequired languages with proficiency levels
referenceIdstringEmployer / reference code for the vacancy
sourceDetailUrlstringEmployer's external application URL, when available
contactEmailstringContact email, when published

Metadata

FieldTypeDescription
isClosedbooleanWhether the vacancy is closed
duplicateCountintegerCount of linked duplicate vacancies
firstPublishedAtstringPublication timestamp (ISO 8601)
lastModifiedAtstringLast modification timestamp (ISO 8601)
searchQuerystringThe keyword or URL this record was found under
scrapedAtstringWhen this record was collected (ISO 8601)
rawListingobjectRaw search payload (only when includeRawData is on)
rawDetailobjectRaw detail payload (only when includeRawData is on)

Tips for Best Results

  • Filter on isBottleneckJob to find the hottest roles β€” bottleneck occupations (knelpuntberoepen) are VDAB's official hard-to-fill list, so a true value is a strong demand signal for sourcing and labour-market analysis alike.
  • Sort by Newest first for fresh leads β€” set sort to Newest first when you want the most recently published vacancies at the top, ideal for daily monitoring runs.
  • Toggle details for speed vs. depth β€” turn off includeJobDetails for a fast scan of titles, companies, and locations; turn it on for description, salary, education, and language requirements.
  • Run several keywords together β€” list synonyms and Dutch/English variants (e.g. "magazijnier" and "logistiek medewerker") in one run; duplicates across keywords are removed automatically.
  • Start small, then scale β€” set maxResults to 50 on your first run to confirm the data fits your needs, then raise it toward 2,000 for deep research.
  • Use a specific municipality β€” entering a city like "Gent" or "Hasselt" narrows results to that area; leave location empty to cover all of Flanders and Brussels.
  • Watch duplicateCount for multi-agency hiring β€” a high duplicate count often means several agencies are recruiting for the same role, useful when mapping which employers are scaling up.

Pricing

From $1.40 per 1,000 results β€” undercuts comparable VDAB scrapers while delivering full detail enrichment. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$0.165$0.16$0.15$0.14
1,000$1.65$1.60$1.50$1.40
10,000$16.50$16.00$15.00$14.00
100,000$165.00$160.00$150.00$140.00

A "result" is any vacancy 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 APIs on run completion
  • Apify API β€” Full programmatic access

This actor is designed for legitimate recruitment, labour-market research, and relocation use. You are responsible for complying with applicable laws and VDAB's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose, and handle any personal data in line with GDPR and other applicable privacy regulations.