Vdab.be Scraper
Pricing
from $0.80 / 1,000 results
Vdab.be Scraper
Extract job listings, salary data, and employment opportunities from VDAB.be. Scrape Belgian job postings with company details, positions, and requirements. Perfect for job market analysis, recruitment research, and employment trend monitoring.
Pricing
from $0.80 / 1,000 results
Rating
5.0
(4)
Developer
Shahid Irfan
Maintained by CommunityActor stats
4
Bookmarked
14
Total users
5
Monthly active users
13 days ago
Last modified
Categories
Features
Share
What does VDAB Vacatures Scraper do?
VDAB Vacatures Scraper collects job vacancies from VDAB, the public employment service of Flanders, Belgium. Enter a keyword such as a job title or skill, optionally narrow it by city or postcode, and the Actor saves structured vacancy records to an Apify dataset. Every record includes the full vacancy description, work schedule, education and language requirements, and application details where VDAB publishes them.
The Actor is built for recurring job market monitoring. Run it once to inspect the current offer, or schedule it daily to track new vacancies, hiring companies, and regional demand.
Why use VDAB Vacatures Scraper?
- Structured job data - Save job titles, employers, locations, and descriptions as separate fields instead of copied text.
- Detail enrichment - Collect full vacancy descriptions, requirements, and application details, not just listing titles.
- Location filtering - Search within 20 km of a city or postcode.
- Repeatable runs - Reuse the same input to compare hiring activity over time.
- Large collection support - Pagination continues until the requested count is reached.
- Export ready - Download results as JSON, CSV, Excel, or XML.
What data can you extract from VDAB?
| Field | Description |
|---|---|
vacancy_id | VDAB vacancy identifier |
title | Job title |
company_name | Hiring company name |
supplier_name | Recruiter or source organization when the vacancy is posted through a partner |
location | Vacancy location label, for example ANTWERPEN or Regio Gent |
employment_location | Detailed work location from the vacancy detail |
region | VDAB region label |
contract_type | Contract label such as Vaste job or Tijdelijke job |
contract_code | VDAB contract code |
first_published_at | First publication timestamp |
last_modified_at | Last modification timestamp |
is_closed | Whether the vacancy is closed |
is_bottleneck_job | Whether VDAB marks the occupation as a bottleneck job |
duplicate_count | Number of linked duplicate vacancies |
description_text | Full vacancy description as plain text |
description_html | Sanitized description HTML |
work_regime | Work duration and shift schedule, for example voltijds and Dagwerk |
experience_level | Required experience level |
education_requirements | Required education or equivalence |
salary | Salary information when the vacancy publishes it |
language_requirements | Required languages and levels |
job_domains | VDAB job domains |
drivers_licenses | Required driving licenses |
certificates | Required certificates or attestations |
is_regulated_profession | Whether the profession is regulated |
application_methods | How candidates can apply, for example online or email |
contact_email | Application email when published |
employer_type | Employer or supplier type |
employer_website | Employer website when published |
external_reference | Reference used by the original job board |
vacancy_uuid | VDAB internal vacancy UUID |
source_detail_url | Original application or detail URL |
url | Public VDAB vacancy URL |
raw_light | Original listing payload when includeRawData is enabled |
raw_detail | Original detail payload when includeRawData is enabled |
How to use VDAB Vacatures Scraper
- Open the Actor in Apify Console.
- Enter a keyword, or paste a VDAB vacancy search URL.
- Optionally add a city or postcode.
- Set the maximum number of jobs and pages.
- Run the Actor and open the dataset.
- Download the results or connect the dataset to your workflow.
The default keyword is software engineer. Clear the keyword field if you want to supply a start URL instead. A supplied start URL takes precedence over the keyword and location fields.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
keyword | String | No | software engineer | Job search keyword, for example a function title or skill |
startUrl | String | No | - | VDAB vacancy search URL. Its query filters are used, and the keyword and location fields are ignored |
location | String | No | - | City or postcode used to narrow the search |
sort | String | No | standaard | Result order: standaard, datum, or relevantie |
results_wanted | Integer | No | 20 | Maximum number of vacancies to save |
max_pages | Integer | No | 10 | Safety cap for pagination |
includeRawData | Boolean | No | false | Add raw_light and raw_detail payloads to each record |
proxyConfiguration | Object | No | - | Optional proxy settings. Leave empty to connect directly |
Usage Examples
Basic keyword search
Collect current software engineering vacancies:
{"keyword": "software engineer","results_wanted": 50}
Keyword with a location
Search for nursing jobs within 20 km of Antwerp:
{"keyword": "verpleegkundige","location": "Antwerpen","results_wanted": 100}
Start from a VDAB search URL
Reuse a VDAB search URL with its own filters. The URL controls the search in this mode:
{"startUrl": "https://www.vdab.be/vindeenjob/vacatures?trefwoord=verpleegkundige&arbeidscircuit=8&sort=datum","results_wanted": 100}
Larger collection
Collect more vacancies while keeping the page cap:
{"keyword": "magazijnier","location": "2000","results_wanted": 200,"max_pages": 5}
Sample Output
{"vacancy_id": "73959300","title": "Software Engineer","company_name": "Madison Recruitment","supplier_name": "Editx","location": "ANTWERPEN","employment_location": "ANTWERPEN","region": "Regio Antwerpen","contract_type": "Vaste job","contract_code": "G","first_published_at": "2026-06-16T16:40:57Z","last_modified_at": "2026-09-18T09:36:19Z","is_closed": false,"is_bottleneck_job": true,"duplicate_count": 0,"description_text": "Onze klant in Antwerpen, een van de Belgische koplopers binnen de levensverzekeringen, is op zoek naar een Software Engineer om hun team te versterken. ...","work_regime": ["voltijds", "Dagwerk"],"experience_level": "Beperkte ervaring ( < 2 jaar )","education_requirements": "Bachelor | Master","language_requirements": "Nederlands: Medium","job_domains": ["ICT"],"is_regulated_profession": false,"application_methods": ["online"],"employer_type": "DERDENLEVERANCIERS","employer_website": "https://editx.eu/nl/it-jobs","external_reference": "11147","vacancy_uuid": "fa724d35-04bc-4a18-9f7d-8474fd734b18","source_detail_url": "https://editx.eu/en/job/11147/software-engineer","url": "https://www.vdab.be/vindeenjob/vacatures/73959300/software-engineer"}
Tips for Best Results
- Start with
results_wanted: 20to confirm the filters match your target. - Use a postcode when you know it. City names work too and are resolved to coordinates automatically.
- Location searches cover a 20 km radius. Use
startUrlwithafstandwhen you need a different radius. - Descriptions, requirements, and contact details are collected for every vacancy.
- By default the Actor collects vaste jobs. Use
startUrlwith anarbeidscircuitparameter to target another contract type. - Schedule recurring runs with the same input to compare vacancy counts over time.
Integrations
- Google Sheets - Send vacancy records to a spreadsheet for team review.
- Webhooks - Trigger downstream workflows after each run.
- Make or Zapier - Route new vacancies to recruiting or alerting automations.
- API - Read datasets programmatically from your own systems.
- Business intelligence tools - Build dashboards for hiring demand and regional trends.
Export formats
- JSON - Engineering and API workflows
- CSV - Spreadsheet analysis
- Excel - Business reporting
- XML - System integrations
Frequently Asked Questions
Can I scrape only permanent jobs?
Yes. The Actor collects vaste jobs by default. To target another contract type, supply a VDAB search URL with the matching arbeidscircuit parameter.
Does the Actor paginate automatically?
Yes. It requests pages until it reaches results_wanted or max_pages.
Can I search around a specific city?
Yes. Set location to a city or postcode. City names are converted to coordinates, and the search covers a 20 km radius.
What happens when I supply both a keyword and a start URL?
The start URL wins. Its filters are used and the keyword and location fields are ignored. This keeps URL-based runs predictable.
Are vacancy descriptions always included?
Yes. The Actor fetches the detail record for every vacancy, so descriptions, requirements, and application details are present when VDAB publishes them.
Why are some fields empty?
VDAB publishes different information for each vacancy. Recruiter postings may omit salary, contact details, or region. Empty optional fields reflect the source data.
Can I export the dataset to CSV or Excel?
Yes. Apify datasets can be downloaded in CSV, Excel, JSON, XML, and other formats.
Can I schedule the Actor?
Yes. Use Apify Schedules to refresh the dataset hourly, daily, weekly, or at another interval.
Is this an official VDAB product?
No. This is an independent data collection Actor for publicly available vacancy pages.
Related Actors
- APEC Jobs Scraper - Collect job vacancies from APEC in France.
- USA Jobs Scraper - Collect federal job postings from USAJobs.
- Naukri Jobs Scraper - Collect job listings from Naukri in India.
Support
For issues, feature requests, or custom Actor work, use the Issues tab on the Actor page or contact the developer through Apify.
Legal Notice
This Actor is designed for legitimate collection of publicly available job vacancy data. You are responsible for complying with applicable laws, VDAB terms, and your own data governance rules.