VDAB Scraper — Belgian/Flemish Job Listings & Vacancies
Pricing
Pay per event
VDAB Scraper — Belgian/Flemish Job Listings & Vacancies
Scrape job vacancies from VDAB.be, the Flemish public employment service. Get job titles, companies, locations, contract types, and descriptions.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Studio Amba
Actor stats
0
Bookmarked
6
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
VDAB Scraper -- Extract Job Vacancies from Belgium's Flemish Employment Service
Scrape job listings, company information, contract types, and work regimes from VDAB.be -- the official Flemish government employment service that publishes hundreds of thousands of active vacancies across Belgium.
What is VDAB Scraper?
VDAB (Vlaamse Dienst voor Arbeidsbemiddeling en Beroepsopleiding) is the Flemish public employment agency. It is the single largest source of job postings in Flanders, covering everything from public sector nursing positions to private sector software engineering roles. Unlike commercial job boards that charge for premium listings, VDAB captures the full breadth of the Flemish labour market -- including blue-collar jobs, government positions, and niche roles that never appear on LinkedIn or Indeed.
This actor taps into VDAB's internal Angular API to extract structured vacancy data at scale. Here is what people build with it:
- Recruitment intelligence -- staffing agencies monitor new postings by sector and city to spot hiring surges before competitors react.
- Labour market research -- economists and policy analysts track vacancy volumes by region, contract type, and industry to study employment trends in Flanders and Brussels.
- HR benchmarking -- companies compare their job descriptions, locations, and work regimes against what the broader market offers for the same roles.
- Job aggregation -- career platforms and email newsletters pull VDAB data into their own databases to serve Belgian job seekers with a wider reach.
- Academic studies -- universities analysing the Belgian labour market use structured VDAB exports for quantitative research that the website's UI simply cannot support.
What data does VDAB Scraper extract?
Every job listing is returned as a clean JSON object containing:
- :briefcase: Job title -- the vacancy function as listed by the employer
- :office: Company name -- the hiring organisation
- :round_pushpin: Location -- city, region, or municipality
- :page_facing_up: Contract type -- onbepaalde duur, bepaalde duur, interim, studentenjob, etc.
- :clock3: Work regime -- voltijds, deeltijds, ploegenstelsel, or flexible
- :calendar: Publication date -- when the vacancy first appeared on VDAB
- :memo: Description -- the job summary text
- :link: Direct URL -- deep link to the full vacancy page on vdab.be
- :stopwatch: Scraped timestamp -- ISO datetime of data capture
How to scrape VDAB.be
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | No | Keyword search. Examples: "developer", "verpleegkundige", "chauffeur" |
location | String | No | Filter by city or region: "Antwerpen", "Gent", "Brussel" |
maxResults | Integer | No | Maximum jobs to return (default: 100, max: 10,000) |
proxyConfiguration | Object | No | Proxy settings for reliability |
Tips for better results:
- Use Dutch keywords for best coverage. VDAB is a Flemish platform, so
"verpleegkundige"returns far more nursing results than"nurse". - Combine
searchQuerywithlocationfor targeted extractions."data analyst"+"Leuven"narrows results precisely. - For a full market snapshot, set
searchQueryto something broad andmaxResultsto5000or higher. - The actor intercepts VDAB's Angular API responses directly, capturing the same structured data the internal search engine uses.
Output
{"title": "Verpleegkundige - Spoedgevallen","company": "UZ Gent","location": "Gent","contractType": "Onbepaalde duur","workRegime": "Voltijds, Deeltijds","publishDate": "2026-03-28","description": "Het UZ Gent is op zoek naar een gedreven verpleegkundige voor de dienst spoedgevallen. Je werkt in een dynamisch team en bent verantwoordelijk voor...","url": "https://www.vdab.be/vindeenjob/vacatures/12345678","scrapedAt": "2026-04-03T10:15:00.000Z"}
How much does it cost?
VDAB Scraper uses Playwright (browser-based crawling) to handle the Angular application. Approximate costs:
| Volume | Estimated CUs | Estimated Cost |
|---|---|---|
| 100 jobs | ~0.05 | ~$0.02 |
| 500 jobs | ~0.20 | ~$0.10 |
| 1,000 jobs | ~0.40 | ~$0.20 |
| 5,000 jobs | ~2.00 | ~$1.00 |
Costs vary based on proxy usage, pagination depth, and data density per page.
Can I integrate?
Apify integrations let you push VDAB job data directly into:
- Google Sheets -- automatic spreadsheet updates for HR dashboards
- Slack / Microsoft Teams -- alerts when new jobs match your criteria
- Zapier / Make (Integromat) -- connect to 5,000+ apps without writing code
- Webhooks -- receive data via HTTP POST to your own server or pipeline
- Amazon S3 / Google Cloud Storage -- archive raw data in cloud buckets
- PostgreSQL / MySQL -- load structured data directly into your analytics database
Schedule the actor to run daily or weekly and build a historical dataset of the Flemish job market.
Can I use it as an API?
Yes. Call the actor programmatically using the Apify API or official client libraries.
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("studio-amba/vdab-scraper").call(run_input={"searchQuery": "software engineer","location": "Antwerpen","maxResults": 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['title']} at {item['company']} in {item['location']}")
JavaScript:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("studio-amba/vdab-scraper").call({searchQuery: "software engineer",location: "Antwerpen",maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.title} at ${item.company} in ${item.location}`);});
FAQ
Is VDAB Scraper free to use? The actor itself is free. You only pay for Apify platform compute units based on run duration and memory usage.
Does it capture salary information? VDAB employers rarely include salary in the public listing. When present, it appears in the description field. Most Belgian job posts omit explicit salary ranges.
Can I filter by industry or sector?
Use Dutch sector keywords in the search query: "bouw" (construction), "IT", "horeca", "onderwijs" (education), "logistiek" (logistics).
Why are some fields empty? VDAB's API returns varying detail levels depending on how the employer structured the posting. The actor captures everything available, but minimal postings exist.
How often is VDAB data updated? Vacancies appear and expire in real time. Schedule the actor daily for complete market coverage.
Does it work for Wallonia or French-speaking jobs? No. VDAB is specifically for Flanders. For Wallonia, the equivalent is Le Forem (forem.be).
Can I track new postings over time? Yes. Schedule the actor to run daily and compare datasets. New job URLs that did not appear in yesterday's run are new postings. URLs that disappeared represent filled or expired vacancies.
What is the difference between VDAB and Actiris? VDAB serves Flanders (Dutch-speaking Belgium). Actiris is the equivalent for the Brussels-Capital Region. Le Forem covers Wallonia. Each has its own website and job database.
How many jobs are typically available on VDAB? VDAB typically lists between 150,000 and 250,000 active vacancies at any given time, making it one of the largest public employment databases in Europe for its population size.
Limitations
- Uses Playwright browser crawling (higher compute cost than simple HTTP scrapers) because VDAB is an Angular SPA.
- Does not visit individual vacancy detail pages -- extracts data from search result API responses for efficiency.
- Relies on VDAB's internal API structure; changes to their Angular app may require actor updates.
- Anti-bot measures may reduce throughput during peak hours; enable proxy configuration for large runs.
- Only Dutch-language Flemish vacancies. Brussels bilingual postings appear when they are published on VDAB.
Other Belgian job and data scrapers
- UiTinVlaanderen Scraper -- cultural events across Flanders
- Resto.be Scraper -- Belgian restaurants, Michelin stars, Gault Millau scores
- NMBS Scraper -- Belgian railway connections and schedules
- AutoVlan Scraper -- used car listings from Belgium's largest marketplace
Your feedback
We improve our scrapers based on user feedback. If you need additional fields extracted, encounter issues, or want to suggest improvements, open an issue on the actor's GitHub page or contact us through the Apify platform. Your input shapes what we build next.