Jobbird.com Vacatures Scraper
Pricing
from $0.80 / 1,000 results
Jobbird.com Vacatures Scraper
Scrape 108,000+ listings from Jobbird.com — the leading Dutch board for SMEs and regional employers. The only Jobbird scraper on Apify. Salary ranges, sector filters, repost detection & full descriptions in HTML, text and Markdown.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
11
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share

Extract job listings from jobbird.com at scale, in a clean, consistent structure ready for analysis, job boards, recruiting tools and market research. No API key required.
Why this scraper?
🎯 Built for the Netherlands
A dedicated Dutch scraper, not a global tool with a country dropdown. Search, locations and currency (EUR) are tuned for jobbird.com.
📄 Complete job data
Full job title and description, direct listing URL and publish date for every record.
💶 Salary data
Salary information parsed from the listing where the employer publishes it, in EUR. Missing salaries are returned as null, never guessed.
🏢 Company details
Hiring company name plus the profile details the source publishes, such as logo and company page.
📍 Location fields
Structured location data for every listing, ready for filtering and analysis.
🔁 Repost & change detection
Every record carries isRepost and changeStatus, so daily feeds return genuinely new jobs instead of reposted duplicates.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "developer" | Functienaam, bijv. 'developer'. Leeg = alle vacatures. |
city | string | (empty) | Stad, bijv. 'Amsterdam'. Leeg = heel Nederland. |
radius | string | (empty) | Zoekstraal rondom de stad. |
contractType | string | "fulltime" | Filter op contracttype. Leeg = alles. |
category | string | (empty) | Filter by job category, e.g. 'ICT', 'Finance', 'Marketing'. |
educationLevel | string | "MBO" | Filter op opleidingsniveau. Leeg = alles. |
fetchDetails | boolean | false | Bezoek elke vacaturepagina voor publicatiedatum en beschrijving. |
useProxy | boolean | false | Schakel Apify AUTO proxy in. Normaal niet nodig. |
debugMode | boolean | false | Sla HTML van pagina 1 op als artifact. |
includeSponsored | boolean | true | Include sponsored/promoted vacancies. These appear regardless of search query or location filter. Default: false (skip sponsored). |
skipReposts | boolean | false | Skip vacancies already seen in a previous run (requires fetchDetails to be enabled for best accuracy). Uses a 90-day memory window. |
startUrls | array | (empty) | Optional list of direct URLs to scrape specific pages. When provided, the search filters above are ignored. |
maxItems | integer | 5 | Maximum aantal resultaten (1-5000). Standaard 100. |
Output schema
Every field below is present on every record. Fields the source does not publish for a given job are returned as null rather than omitted.
| Field | Type | Description |
|---|---|---|
id | string | Jobbird internal listing ID |
title | string | Job title |
url | string | Listing page URL |
source | string | Source. |
summary | string | Summary. |
contentHash | string | Stable hash of the listing content, used for repost and change detection. |
tags | string | Tags or keywords attached to the listing. |
daysOld | string | Days since publication |
company | string | Hiring company or recruiter |
city | string | City of the role |
salary | string | Salary text as displayed |
salaryMin | string | Minimum salary (null if not published by the employer). |
salaryMax | string | Maximum salary (null if not published by the employer). |
hours | string | Hours per week |
hoursMin | number | Hours min. |
hoursMax | number | Hours max. |
hoursDisplay | string | Hours display. |
educationLevel | string | Required education level |
distanceKm | string | Distance km. |
contractType | string | Contract type |
contractTypeNorm | string | Contract type norm. |
category | string | — |
publishDate | string | Date posted |
publishDateISO | string | Publish date iso. |
description | string | Full job description in plain text. |
descriptionText | string | Full job description in plain text. |
isSponsored | boolean | Is sponsored. |
isNew | boolean | Is new. |
searchQuery | string | — |
apifyRunId | string | Apify run id. |
scrapedAt | string | Timestamp when this record was scraped. |
isRepost | boolean | true when the listing is a repost of an earlier job (detected by content hash). |
originalPublishDate | string | Original publish date. |
originalUrl | string | Original url. |
changeStatus | string | NEW, CHANGED or UNCHANGED compared to the previous time this job was seen. |
Example record
{"id": "25131094","title": "Medewerker bediening","url": "https://www.jobbird.com/nl/vacature/25131094-medewerker-bediening","source": "jobbird.com","summary": "Medewerker bediening @ Hotelprofessionals - Restaurant, Hotel & Spa Savarin (Rijswijk)","contentHash": "8a4ab5d75e0fce49","tags": null,"daysOld": null,"company": "Hotelprofessionals - Restaurant, Hotel & Spa Savarin","city": "Rijswijk","salary": null,"salaryMin": null,"salaryMax": null,"hours": "32-40 uur","hoursMin": 32,"hoursMax": 40,"hoursDisplay": "32-40 uur","educationLevel": null,"distanceKm": null,"contractType": null,"contractTypeNorm": null,"category": null,"publishDate": null,"publishDateISO": null,"description": null,"descriptionText": null,"isSponsored": true,"isNew": true,"searchQuery": null,"apifyRunId": "9DIU7kQ3ckPWCYJsd","scrapedAt": "2026-06-08T09:19:41.912Z","isRepost": false,"originalPublishDate": null,"originalUrl": null,"changeStatus": "NEW"}
Examples
Search for chauffeur roles in Rotterdam:
{"searchQuery": "chauffeur","city": "Rotterdam","maxItems": 100}
Filter by contract type:
{"searchQuery": "chauffeur","city": "Rotterdam","maxItems": 100,"contractType": ""}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.jobbird.com/"}],"maxItems": 200}
Daily feed (run on a schedule):
{"searchQuery": "chauffeur","skipReposts": true,"maxItems": 500}
Schedule this input in the Apify Scheduler (for example daily at 07:00) to keep an always-fresh feed of the newest listings.
💰 Pricing
$1 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.1 |
| 1,000 | ~$1 |
| 10,000 | ~$10 |
| 100,000 | ~$100 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $0.6 per 1,000 at the highest tier. Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | under 1 minute |
| 1,000 results | 2–4 minutes |
| 10,000 results | 20–35 minutes |
Known limitations
- Salary is only returned when the employer publishes it — many listings carry
nullsalary fields. - Company details vary per listing; the scraper returns what the source publishes and never invents data.
- Very large result sets are bounded by the source's own paging limits.
- Listings can be removed by the source at any time, so a small share of URLs may expire shortly after scraping.
Technical details
- Source: jobbird.com — the Netherlands job listings
- Coverage: everything the public search exposes, filterable via the input parameters above
- Retry: automatic retry on network errors with exponential backoff
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl