Vdab Jobs Search Scraper avatar

Vdab Jobs Search Scraper

Pricing

from $0.80 / 1,000 results

Go to Apify Store
Vdab Jobs Search Scraper

Vdab Jobs Search Scraper

Scrape job listings from VDAB.be, Belgium's leading public employment service. Extract job titles, company names, locations, working schedules, experience levels, and more — perfect for labor market analysis and recruitment research.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

Stealth mode

Stealth mode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

VDAB.be Jobs Scraper: Extract Belgian Job Listings Instantly


What Is VDAB.be?

VDAB (Vlaamse Dienst voor Arbeidsbemiddeling en Beroepsopleiding) is the official Flemish public employment service in Belgium, listing thousands of vacancies across all industries and regions. The platform is a primary source for Belgian labor market data. Manually collecting listings at scale is impractical — the VDAB.be Jobs Scraper automates extraction from search result pages, delivering structured records ready for analysis.


Overview

The VDAB Jobs Scraper targets VDAB's vacancy search pages and returns clean, structured job data per listing. It is built for:

  • HR analysts tracking Belgian labor market trends
  • Recruiters monitoring vacancy activity by region or function
  • Researchers studying shortage occupations and employment patterns
  • Developers feeding Belgian job data into aggregator platforms

The scraper supports bulk URL input, configurable item limits, and fault-tolerant URL handling.


Input Format

The Actor supports two scraping modes — use only one at a time:

  1. Scrape by URLs — scrape data directly from a list of VDAB job search result URLs.
{
"urls": [
"https://www.vdab.be/vindeenjob/vacatures?trefwoord=engi&sort=standaard&p=2"
],
"ignore_url_failures": true,
"max_items_per_url": 50
}
  1. Scrape by search filters — scrape data using a keyword and additional filters (location, radius, contract type, work mode, domain, etc.) instead of providing URLs.
{
"keyword": "engi",
"location": "9000%20Gent",
"radius": 60,
"sort_by": "standaard",
"published_at": "6",
"contract_type": "8",
"work_mode": "V",
"timing_arrangement": "D",
"domain": "JOBCAT01",
"experience": "3",
"degree": "C",
"page": 1,
"max_items_per_url": 200
}

There is also a General settings group that applies to both modes.

1. Scrape by URLs

Use this mode when you already have specific search result URLs. When this mode is used, all options in the "Scrape by search filters" section will be disabled.

FieldTypeDefaultDescription
urlsarray(required)One or more VDAB job search result page URLs to scrape. Supports pagination via the &p= parameter. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.
ignore_url_failuresbooleantrueIf true, the scraper skips failed URLs and continues running instead of stopping the entire run.

Tip: To collect across multiple pages, add each paginated URL separately (e.g., &p=1, &p=2, &p=3).

2. Scrape by search filters

Use this mode when you want to search using a keyword and additional filter attributes instead of scraping by URLs. If you use this mode, leave the urls field above empty.

FieldTypeDefaultDescription
keywordstringThe keyword to search for (trefwoord).
locationstringThe location to search for. Check valid locations in the URL, e.g. https://www.vdab.be/vindeenjob/vacatures?trefwoord=engi&locatie=9000%20Gent&locatieCode=2521 → use 9000%20Gent.
radiusinteger ("", 0, 2, 5, 10, 20, 30, 40, 60)Search radius in km around the location: All, 0, 2, 5, 10, 20, 30, 40, or 60 km.
sort_bystring (standaard, datum, relevantie)Sort results by Standard (standaard), Date (datum), or Relevance (relevantie).
contract_typestringContract type filter. Options: All, Permanent jobs, Temporary jobs, Flexijob, Student jobs, Temporary jobs with permanent option, Service voucher job, Alternating training agreement, Employment measures, Self-employed activity, Reserve pool, Government examinations.
published_atstring (9000, 1, 6)Filter by publish date: All jobs (9000), Today or yesterday (1), Past week (6).
work_modestring ("", V, D)Work mode: All (empty), Full time (V), Part time (D).
timing_arrangementstringWorking time arrangement. Options: All, Day work, 2-shift system, 3-shift system, Night work, Weekend work, Interrupted service, Continuous system.
domainstringJob category/domain. Options: All, Purchase, Administration, Construction, Communication, Creative, Services, Financial, Health, Hospitality and tourism, Human resources, ICT, Legal, Agriculture and horticulture, Logistics and Transport, Management, Marketing, Maintenance, Education, Research and development, Government, Production, Technique, Sell, Other.
experiencestring ("", 0, 1, 2, 3, 4)Required experience level: Any, Not important, No experience, Limited experience, At least 2 years of experience, At least 5 years of experience.
degreestring ("", A, B, C, F, D, E)Required education level: Any, None, Primary education, Secondary education, Graduate/HBO5, Bachelor, Master.
pageintegerThe page number to start scraping from.

3. General settings

Applies to both scraping modes above.

FieldTypeDefaultDescription
max_items_per_urlinteger20The maximum number of job records to collect per URL/search.

Building Your Search URL (for Scrape by URLs mode)

Navigate to vdab.be/vindeenjob, apply your desired filters (keyword, location, contract type, domain, etc.), then copy the resulting URL from your browser. The URL encodes all parameters, including:

  • trefwoord — keyword search
  • locatie / locatieCode — location and its code
  • sort — result ordering (standaard, datum, relevantie)
  • p — pagination index

Example use case: The prefilled URL searches for jobs matching the keyword engi, sorted by standard order, starting from page 2.


Output Format

Sample output

{
"id": {
"id": 73588810
},
"is_closed": false,
"first_publication_date": "2026-04-28T05:58:36Z",
"last_modified_date": "2026-04-28T05:58:36Z",
"total_jobs": 1,
"layout": {
"logo": "https://cdn.app-prd-cdn.aws.vdab-prd.be/vindeenjob/templates/bedrijven/2969/mobileLogo.png",
"alt_text": "Logo LGA Engineering"
},
"job_function": {
"naam": "Aftersales Project Engineer",
"arbeidscircuit_lijn": "Vaste job"
},
"company_name": "LGA Engineering",
"employment_location_region_or_address": "BEVEREN-KRUIBEKE-ZWIJNDRECHT",
"supplier": {
"type": "INTERMEDIAIREN",
"gemandateerd": true,
"bedrijven_galerij_id": 2969
},
"duplicates": [],
"working_schedule": [
"Dagwerk"
],
"experience": "Minstens 2 jaar ervaring",
"shortage_occupation": true,
"location": {}
}

Each job listing returns a flat record with the following fields:

Identification & Status

FieldMeaning
IDUnique VDAB internal identifier for the vacancy
Is ClosedBoolean flag — true if the vacancy is no longer accepting applications
First Publication DateDate the listing first appeared publicly on VDAB
Last Modified DateTimestamp of the most recent update to the listing
Total JobsNumber of open positions associated with this vacancy

Job Details

FieldMeaning
LayoutDisplay type or listing format used on the platform
Job FunctionOccupational category or function title (e.g., Engineer, Sales)
Working ScheduleContract schedule type (e.g., full-time, part-time, shifts)
ExperienceRequired experience level (e.g., no experience, 1–2 years, senior)
Shortage OccupationFlags whether the role is classified as a Flemish shortage occupation (knelpuntberoep) — useful for policy research

Location & Company

FieldMeaning
Company NameName of the hiring employer
Employment Location Region Or AddressWork location, which may be a full address or a regional label
LocationStructured location data (city, municipality, or coordinates)

Sourcing Metadata

FieldMeaning
SupplierSource or partner channel that submitted the vacancy to VDAB
DuplicatesIndicates whether similar or duplicate listings were detected for this vacancy

How to Use

  1. Build your search URL — Go to vdab.be/vindeenjob/vacatures, apply your filters (keyword, region, sector), then copy the URL from the browser.
  2. Add pagination if needed — Append &p=2, &p=3, etc. for additional result pages.
  3. Configure the input — Paste URLs into the urls array, set max_items_per_url to your desired limit.
  4. Run the scraper — Start the actor and monitor progress in the run log.
  5. Export — Download results as JSON, CSV, or Excel.

Common issues:

  • Only use search result page URLs, not individual job detail pages.
  • If results seem incomplete, check whether VDAB's search applied a region filter that limits output.
  • Set ignore_url_failures: true for bulk runs to avoid interruptions from occasional page timeouts.

Use Cases & Business Value

  • Labor market research: Identify high-demand roles and shortage occupations in Flanders
  • Recruitment intelligence: Track hiring activity by company, region, or job function
  • Policy analysis: Monitor trends in Shortage Occupation flags over time
  • Job aggregation: Enrich Belgian job boards with structured VDAB data

Conclusion

The VDAB.be Jobs Scraper provides reliable, structured access to Belgium's largest public job database. With fields covering job function, location, schedule, experience, and shortage occupation status, it delivers the depth needed for serious labor market work. Configure your search, run the scraper, and get clean data in minutes.