Jobbird Scraper: Netherlands Jobs & Pay [USD 0.69/1K] avatar

Jobbird Scraper: Netherlands Jobs & Pay [USD 0.69/1K]

Pricing

from $0.69 / 1,000 jobs

Go to Apify Store
Jobbird Scraper: Netherlands Jobs & Pay [USD 0.69/1K]

Jobbird Scraper: Netherlands Jobs & Pay [USD 0.69/1K]

Scrape Jobbird.com job ads in the Netherlands by keyword, town, job group or contract: title, employer and its site, town, province, postcode, pay with its period only when stated, hours, education, experience, benefits, full description and dates. USD 0.69 per 1,000 jobs.

Pricing

from $0.69 / 1,000 jobs

Rating

0.0

(0)

Developer

Useful API

Useful API

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Jobbird Scraper: Dutch job ads with pay

Scrape Jobbird.com, a Dutch job board, by keyword, town, job group, occupation or contract type: title, employer and its website, town, province, postcode, pay with its period when the ad states one, hours per week, contract, education, experience in months, languages, benefits, job group and occupation, the employer's apply link, full description and dates. Export to CSV, Excel or JSON, or use the API.

USD 0.69 per 1,000 jobs. No login, no browser.

What you get

  • Keywords searched across all open jobs. Jobbird's search page is closed to robots, so the Actor reads the site's open-jobs sitemaps (up to 26 files of 5,000 ads) and keeps the ads whose address (their title) contains every word. Only matching jobs are opened and charged.
  • Pay as stated: minimum, maximum and EUR, and the period only when the ad gives one ("per maand" is MONTH). Many agency ads print a figure without a unit ("14,06 tot 18"): it stays in salaryText with no period and is never guessed to be hourly.
  • The real description: the page's own text (the page's structured data says only "-" on many ads).
  • Province, job group, occupation and related groups, education, experience in months, languages, benefits, hours and coordinates. Closed ads are dropped.

Input examples

{ "keywords": ["monteur"], "maxJobs": 200 }

Nursing jobs in Utrecht, new ones only (daily schedule):

{ "keywords": ["verpleegkundige"], "places": ["Utrecht"], "onlyNewJobs": true }

Example row

From a saved Jobbird job page (empty fields left out, description shortened):

{
"jobId": "26051135",
"title": "Allround Monteur Technische Dienst - dagdienst",
"company": "Wasserij G. van der Kleij & Zn.",
"companyUrl": "https://www.vanderkleijtextiel.nl",
"location": "Utrecht",
"city": "Utrecht",
"region": "Utrecht",
"postalCode": "3543MB",
"country": "NL",
"salaryMin": 3600,
"salaryMax": 4500,
"salaryCurrency": "EUR",
"salaryPeriod": "MONTH",
"salaryText": "€ 3.600 tot € 4.500 per maand",
"employmentType": "FULL_TIME, PART_TIME",
"employmentTypeText": "fulltime, parttime",
"category": "Techniek",
"datePosted": "2026-10-14T10:09:59.000Z",
"validThrough": "2026-10-21T21:59:59.000Z",
"descriptionText": "Allround Monteur Technische Dienst - dagdienst Utrecht | 30-40 uur per week | € 3.600 - € 4.500 bruto per maand Ben jij een ervaren monteur ...",
"jobUrl": "https://www.jobbird.com/nl/vacature/26051135-allround-monteur-technische-dienst-dagdienst",
"sourceBoard": "Jobbird",
"duplicateKey": "72c80a453a1c09a2",
"language": "nl",
"extra": {
"directApply": true,
"workHours": "30 - 40",
"hoursPerWeek": "30 tot 40 uur per week",
"benefits": "Parttime mogelijk",
"education": [
"Er is geen minimale opleiding vereist"
],
"languages": [
"Bij voorkeur beheers je Nederlands"
],
"latitude": 52.1195,
"longitude": 5.0268
}
}

Good to know

  • Results are not in date order (sitemap order, or Jobbird's relevance order with sponsored ads first). "Posted within" also skips sitemap entries last changed before the window, at no cost.
  • Some old ads stay open on Jobbird: datePosted keeps the ad's own date (one 2023 ad was still open, with no end date).
  • A town, job group or contract list stops at 500 pages of 15 (7,500 jobs). With a place, your words filter the titles of that list.
  • Keyword searches need job pages. Town and job-group lists can run without them, with list fields only (title, company, town, pay text; no date, no description).
  • A 20-job run took 45 s, so 1,000 jobs with job pages take about 25 minutes at the pace the Actor keeps.
  • Fill depends on the advertiser: in a 20-job test (all from one temp agency) no row had a pay period, end date, postcode or company website. Not given: skills, a remote flag, the German and UK Jobbird sites.

Who uses it

  • Recruiters and staffing agencies in the Netherlands: new vacancies by keyword, town or job group every day.
  • Pay research: stated pay by occupation and province.

Output: one row per job

Every Actor in this family writes the same columns, so you can merge boards in one sheet or database.

FieldWhat it holds
jobIdThe board's own job id
title, companyJob title and hiring company (as the board shows them)
companyUrl, companyLogoUrlCompany page and logo on the board, when given
location, city, region, postalCode, countryLocation as shown, and its parts; country is an ISO code (FR, DE, US...)
remote, workplaceTypetrue/false and remote, hybrid or onsite, only when the board says so
salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryTextSalary range as numbers, ISO currency, HOUR/DAY/WEEK/MONTH/YEAR; empty when the board gives none (never guessed)
employmentType, employmentTypeTextFULL_TIME, PART_TIME, TEMPORARY, INTERN, APPRENTICE, CONTRACTOR, FREELANCE..., and the board's own wording
experienceLevel, category, skillsWhen the board gives them
datePosted, validThroughISO 8601 dates
descriptionText, descriptionHtmlFull description as plain text and as HTML
applyUrl, jobUrlWhere to apply, and the job's page on the board
sourceBoard, searchLabel, scrapedAtWhich board, which of your searches found it, when
duplicateKeyThe same key for the same ad posted on several boards (or reposted): title without (m/w/d) or H/F tags, company without legal form, city, country. Use it to merge results from several of our board Actors
extraA few fields only this board has

Contact email addresses and phone numbers inside descriptions are removed: this Actor never collects recruiters' personal contact details.

Job alerts: only new jobs, sent where you work

  1. Switch on Only new jobs since the last run and schedule the Actor (daily, hourly). It remembers the jobs it has already delivered for the same searches and filters, in a key-value store on your own account (named job-boards-seen-
  2. Paste a Slack or Discord webhook (or a Zapier or Make webhook, which can email you) into Send new jobs to. After each run that found new jobs you get one message with the count and up to 10 jobs with their links. Free: the message is never billed.

Apify's own integrations (Google Sheets, email, webhooks) work too.

Pricing

Pay per job saved: USD 0.69 per 1,000 jobs (USD 0.00069 a job), plus USD 0.002 per run start. No monthly rental, no charge for jobs skipped as duplicates, already seen or filtered out. Set a maximum cost per run in Apify and the Actor stops just before it, keeping everything saved so far.

Use it through the API

curl -X POST "https://api.apify.com/v2/acts/usefulapi~jobbird-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords":["monteur"],"maxJobs":20}'

Python: ApifyClient("YOUR_API_TOKEN").actor("usefulapi/jobbird-scraper").call(run_input={...}), then read the dataset items.

Good to know

  • Polite by design: one request at a time per site with a pause between requests, and the site's robots.txt is followed. Runs read public job pages only: no login, no candidate profiles or CVs.
  • What a run summary tells you: the OUTPUT record has jobs saved per search, jobs skipped (duplicates, seen before, too old) and why a run stopped early, if it did.
  • Is it legal? The Actor reads job ads that the board publishes openly, the same pages a job seeker sees. You are responsible for how you use the data (for example, the board's terms and data protection rules in your country).
  • Found a problem? Open an issue on the Issues tab: we answer quickly.