VOOZH about

URL: https://apify.com/blackfalcondata/actiris-scraper?fpr=1h3gvi

⇱ Actiris Brussels Job Scraper — Extract 33,000+ Brussels Jobs · Apify


👁 Actiris Brussels Job Scraper avatar

Actiris Brussels Job Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store

Actiris Brussels Job Scraper

Scrape all active job listings from actiris.brussels — official Brussels public employment service. Returns 33,000+ structured offers with KBO company numbers, CEFR language requirements, and bilingual FR/NL fields.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

👁 Black Falcon Data

Black Falcon Data

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does Actiris Brussels Job Scraper do?

Actiris Brussels Job Scraper fetches all 33,000+ active job listings from actiris.brussels — the official Brussels Capital Region employment service — in a single run. Every record includes the employer's Belgian KBO company number, bilingual French and Dutch titles and municipality names, CEFR-graded language requirements, and direct apply links. Detail enrichment adds full job descriptions, candidate profiles, contact person, recruiter email, company description, and Markdown-formatted text from each listing's HTML page.

New to Apify? Sign up free and use the included $5 monthly platform credit to test this actor.

Key features

  • ♻️ Incremental mode — recurring runs emit only NEW / UPDATED / REAPPEARED records — UNCHANGED and EXPIRED are opt-in. First run builds the baseline; subsequent runs emit and charge only for the diff. Pair with notifications for daily "new jobs" alerts to your hiring team. Saves 80–95% on daily monitoring.
  • 🔔 Notifications — Telegram, Slack, Discord, WhatsApp Cloud API, generic webhook — out of the box. Pair with incremental + notifyOnlyChanges for daily "new Actiris jobs" pings to your hiring channel.
  • 📋 Detail enrichment — two-stage mode: list, then enrich each job with the full description + detail-page fields (apply counts, education, etc.). One toggle, no extra orchestration.
  • 📧 Email + phone extraction — every record carries extractedEmails[] and extractedPhones[] regex-pulled from the description — direct-outreach lists with no extra processing step.
  • 🔗 URL + social-profile extraction — every record carries extractedUrls[] and structured socialProfiles { linkedin, twitter, github, … } parsed from the description — useful when employers drop their careers page or recruiter LinkedIn in-line.
  • 📦 Compact mode — AI-agent and MCP-friendly compact payloads with core fields only — pipe straight into your ATS, salary-benchmarking tool, or LLM context without parsing extras.
  • 📌 Change classification — each record carries a changeType of NEW / UPDATED / UNCHANGED / REAPPEARED / EXPIRED. Default emits NEW + UPDATED + REAPPEARED; opt into the others with emitUnchanged / emitExpired. Repost detection flags previously-expired listings that come back.
  • 📤 Export anywhere — Download the dataset as JSON, CSV, or Excel from the Apify Console, or stream live via the Apify API and integrations (Make, Zapier, Google Sheets, n8n, …).
  • 🏢 KBO company registry — captures Belgian KBO company numbers, direct KBO registry URLs, and KBO-keyed company logo URLs for employer matching and enrichment.
  • 🌐 CEFR language requirements + bilingual FR/NL output — returns structured CEFR language requirements with comprehension, writing, reading, and speaking levels plus required-vs-atout status, alongside French and Dutch title, company, location, municipality, and URL pairs.
  • 🔌 MCP connectors — export your results into Notion via Apify's MCP connectors — a clean run-summary page, no glue code. Opt-in via the App connector field; deterministic field-mapping, no AI. Built on Apify's connector framework, so more destinations open up as their catalog grows.

What data can you extract from actiris.brussels?

Each result includes Core listing fields (jobId, reference, title, titleNl, kboNumber, kboRegistryUrl, location, and locationNl, and more), detail fields when enrichment is enabled (description, descriptionHtml, descriptionMarkdown, benefits, and detailFetched), contact and apply information (applyContactPerson, email, phone, and applyInstructions), and company metadata (company, companyNl, companyLogo, and companyDescription). In standard mode, all fields are always present — unavailable data points are returned as null, never omitted. In compact mode, only core fields are returned.

Enable detail enrichment in the input to get richer fields such as full descriptions, company metadata, and contact information where the source provides them.

Input

The main inputs are a result limit. Additional filters and options are available in the input schema.

Key parameters:

  • texte — Filter by keyword (searched across title and description).
  • keywordSearchType — Where to apply the keyword filter: Partout (everywhere), Titre (title only), or Titre-résumé (title and summary). (default: "Partout")
  • isOffreActiris — When true, return only offers managed directly by Actiris (excludes VDAB/Forem/partner listings). (default: false)
  • isOffreVdabForem — When true, return only offers from VDAB (Flemish) or Le Forem (Walloon) partner agencies. (default: false)
  • codesPostal — Filter by Belgian postal codes (e.g. ["1000", "1200"]).
  • codesContrat — Filter by contract type codes (e.g. ["CDI", "CDD"]).
  • secteursPanorama — Filter by Panorama sector codes.
  • domainesImt — Filter by IMT job-family codes (e.g. ["E'2"]).
  • dateDerniereModification — Only return offers modified on or after this date (ISO 8601, e.g. "2026-04-01").
  • maxResults — Maximum number of offers to return. 0 = all (~33 000+). Memory tiers: ≤100→256 MB, ≤2000→512 MB, 2001+→1024 MB. (default: 0)
  • includeDetails — Fetch each job's HTML detail page to extract description, profile, language requirements, apply email, etc. (default: true)
  • descriptionMaxLength — Truncate description text to N characters. 0 = no truncation. (default: 0)
  • ...and 22 more parameters

Input examples

Basic search — Targeted run scoped to a specific descriptionFormat.

→ Full payload per result — all standard fields populated where the source provides them.

{
"descriptionFormat":"all",
"maxResults":50
}

Incremental tracking — Only emit jobs that changed since the previous run with this stateKey.

→ First run builds the baseline state. Subsequent runs emit only records that are new or whose tracked content changed. Set emitUnchanged: true to include unchanged records as well.

{
"descriptionFormat":"all",
"maxResults":200,
"incrementalMode":true,
"stateKey":"all-tracker"
}

Compact output for AI agents — Return only core fields for AI-agent and MCP workflows.

→ Small payload with the most important fields — ideal for piping into LLMs without token overhead.

{
"descriptionFormat":"all",
"maxResults":50,
"compact":true
}

Output

Each run produces a dataset of structured job records. Results can be downloaded as JSON, CSV, or Excel from the Dataset tab in Apify Console.

Example job record

{
"jobId":"06ca39341ffef949cebf988288a36e52df994ae2e7635d706be92f186fb54c28",
"reference":"5841400",
"title":"PUERICULTEUR/PUERICULTRICE H/F/X",
"titleNl":"PUERICULTEUR/PUERICULTRICE H/F/X",
"company":"COOKIES & FRIENDS",
"companyNl":"COOKIES & FRIENDS",
"kboNumber":"0682499225",
"kboRegistryUrl":"https://kbopub.economie.fgov.be/kbopub/toonondernemingps.html?ondernemingsnummer=0682499225",
"companyLogo":"https://my.actiris.brussels/Repository/Tiers/0682499225/fr.png",
"location":"1030 - Schaerbeek",
"locationNl":"1030 - Schaarbeek",
"postalCode":"1030",
"municipality":"Schaerbeek",
"municipalityNl":"Schaarbeek",
"country":"BE",
"description":"Nous cherchons une personne pour un poste à temps plein. Motivée, flexible et dynamique, vous jouerez un rôle de référent pour les enfants. Dans ce rôle il vous sera demandé d'assurer l'accueil et l'e...",
"descriptionHtml":"<p>Nous cherchons une personne pour un poste à temps plein. Motivée, flexible et dynamique, vous jouerez un rôle de référent pour les enfants.</p>\n\n<p>Dans ce rôle il vous sera demandé d'assurer l'acc...",
"descriptionMarkdown":"Nous cherchons une personne pour un poste à temps plein. Motivée, flexible et dynamique, vous jouerez un rôle de référent pour les enfants.\n\nDans ce rôle il vous sera demandé d'assurer l'accueil et l'...",
"companyDescription":"« Cookies And Friends » est à la recherche de puéricultrices/puériculteurs- diplôme en puériculture ou un équivalent pour pouvoir exercer dans une maison d'enfants autorisée par l'ONE. http://cookiesa...",
"profile":"Assurer l'accueil l'encadrement quotidien (soins, activités, repas') de l'enfant tout en appliquant le projet pédagogique du milieu. Avoir l'esprit créatif, un esprit d'initiative, un sens des respons...",
"profileHtml":"<ul>\n\t<li>Assurer l'accueil l'encadrement quotidien (soins, activités, repas') de l'enfant tout en appliquant le projet pédagogique du milieu.</li>\n\t<li>Avoir l'esprit créatif, un esprit d'initiative,...",
"profileMarkdown":"- Assurer l'accueil l'encadrement quotidien (soins, activités, repas') de l'enfant tout en appliquant le projet pédagogique du milieu.\n- Avoir l'esprit créatif, un esprit d'initiative, un sens des...",
"benefits":null,
"additionalInfo":"Veuillez envoyer votre lettre de motivation ainsi que votre CV à l'attention de Monsieur SKRZYPEK à l'adresse mail cookiesandfriends@hotmail.com Seules les candidatures comportant la mention suivante...",
"scheduleSpecifics":null,
"applyInstructions":"envoyer une lettre de motivation et un C.V. via e-mail",
"applyContactPerson":"Skrzypek Bernhard",
"email":"cookiesandfriends@hotmail.com",
"phone":null,
"applyUrl":"https://my.actiris.brussels/citizen/joboffer/5841400",
"contractType":"Durée déterminée",
"contractTypeCode":"CDD",
"employmentType":"Full-time",
"regimeTravail":"NO",
"sector":"S'7",
"sourceType":"DirectOnline",
"experienceLevel":null,
"languageRequirements":[
{
"language":"Français",
"required":true,
"comprehension":"C2",
"writing":"C2",
"reading":"C2",
"speaking":"C2"
},
{
"language":"Anglais",
"required":false,
"comprehension":"A",
"writing":"A",
"reading":"A",
"speaking":"A"
}
],
"postedAt":"2026-05-12T10:05:49.000Z",
"updatedAt":"2026-05-15T06:22:16.000Z",
"url":"https://www.actiris.brussels/fr/citoyens/detail-offre-d-emploi/?reference=5841400&type=DirectOnline",
"urlNl":"https://www.actiris.brussels/nl/burgers/jobadvertentie/?reference=5841400&type=DirectOnline",
"portalUrl":"https://www.actiris.brussels/fr/citoyens/detail-offre-d-emploi/?reference=5841400&type=DirectOnline",
"contentQuality":"full",
"detailFetched":true,
"salaryMin":null,
"salaryMax":null,
"salaryCurrency":null,
"salaryType":null,
"firstSeenAt":null,
"lastSeenAt":null,
"contactName":null,
"contactEmail":null,
"contactPhone":null,
"extractedEmails":[],
"extractedPhones":[],
"extractedUrls":[
"http://cookiesandfriends.be"
],
"socialProfiles":{
"linkedin":null,
"twitter":null,
"instagram":null,
"facebook":null,
"youtube":null,
"tiktok":null,
"github":null,
"xing":null,
"bluesky":null,
"threads":null,
"mastodon":null
},
"contentHash":"78077b1b98195e4a588026571adc674ecebb1d61f6a9aa22788af31648ec2d38",
"scrapedAt":"2026-05-15T22:38:50.131Z",
"source":"actiris.brussels",
"changeType":null,
"isRepost":null,
"repostOfId":null,
"repostDetectedAt":null,
"trackedHash":null,
"previousSeenAt":null,
"expiredAt":null,
"stateKey":null
}

Incremental fields

When incremental mode is on, each record also carries:

  • changeType — one of NEW, UPDATED, UNCHANGED, REAPPEARED, EXPIRED. Default output covers NEW / UPDATED / REAPPEARED; set emitUnchanged: true or emitExpired: true to opt into the others.
  • firstSeenAt, lastSeenAt — ISO-8601 timestamps tracking the listing across runs.
  • isRepost, repostOfId, repostDetectedAt — populated when a new listing matches the tracked content of a previously expired one. Set skipReposts: true to drop detected reposts from the output.

How to scrape actiris.brussels

  1. Go to Actiris Brussels Job Scraper in Apify Console.
  2. Configure the input.
  3. Set maxResults to control how many results you need.
  4. Enable includeDetails if you need full descriptions, contact info, company data.
  5. Click Start and wait for the run to finish.
  6. Export the dataset as JSON, CSV, or Excel.

Use cases

  • Extract job data from actiris.brussels for market research and competitive analysis.
  • Track salary trends across regions and categories over time.
  • Monitor new and changed listings on scheduled runs without processing the full dataset every time.
  • Build outreach lists using contact details and apply URLs from listings.
  • Research company hiring patterns, employer profiles, and industry distribution.
  • Use structured location data for regional analysis, mapping, and geo-targeting.
  • Feed structured data into AI agents, MCP tools, and automated pipelines using compact mode.
  • Export clean, structured data to dashboards, spreadsheets, or data warehouses.

How much does it cost to scrape actiris.brussels?

Actiris Brussels Job Scraper uses pay-per-event pricing. You pay a small fee when the run starts and then for each result that is actually produced.

  • Run start: $0.001 per run
  • Per result: $0.0015 per job record

Example costs:

  • 10 results: $0.016
  • 25 results: $0.038
  • 100 results: $0.15
  • 200 results: $0.3
  • 500 results: $0.75

Example: recurring monitoring savings

These examples compare full re-scrapes with incremental runs at different churn rates. Churn is the share of listings that are new or whose tracked content changed since the previous run. Actual churn depends on your query breadth, source activity, and polling frequency — the scenarios below are examples, not predictions.

Example setup: 250 results per run, daily polling (30 runs/month). Event-pricing examples scale linearly with result count.

Churn rateFull re-scrape run costIncremental run costSavings vs full re-scrapeMonthly cost after baseline
5% — stable niche query$0.38$0.02$0.36 (95%)$0.59
15% — moderate broad query$0.38$0.06$0.32 (85%)$1.72
30% — high-volume aggregator$0.38$0.11$0.26 (70%)$3.41

Full re-scrape monthly cost at daily polling: $11.28. First month with incremental costs $0.95 / $2.04 / $3.67 for the 5% / 15% / 30% scenarios because the first run builds baseline state at full cost before incremental savings apply.

Platform usage (compute and proxies) is billed separately by Apify based on actual consumption. Incremental runs consume less on result processing, though fixed per-run overhead stays the same.

FAQ

How many results can I get from actiris.brussels?

The number of results depends on the search query and available listings on actiris.brussels. Use the maxResults parameter to control how many results are returned per run.

Does Actiris Brussels Job Scraper support recurring monitoring?

Yes. Enable incremental mode to only receive new or changed listings on subsequent runs. This is ideal for scheduled monitoring where you want to track changes over time without re-processing the full dataset.

Can I integrate Actiris Brussels Job Scraper with other apps?

Yes. Actiris Brussels Job Scraper works with Apify's integrations to connect with tools like Zapier, Make, Google Sheets, Slack, and more. You can also use webhooks to trigger actions when a run completes.

Can I use Actiris Brussels Job Scraper with the Apify API?

Yes. You can start runs, manage inputs, and retrieve results programmatically through the Apify API. Client libraries are available for JavaScript, Python, and other languages.

Can I use Actiris Brussels Job Scraper through an MCP Server?

Yes. Apify provides an MCP Server that lets AI assistants and agents call this actor directly. Use compact mode, descriptionMaxLength, a single descriptionFormat, and excludeEmptyFields to keep payloads manageable for LLM context windows.

Is it legal to scrape actiris.brussels?

This actor extracts publicly available data from actiris.brussels. Web scraping of public information is generally considered legal, but you should always review the target site's terms of service and ensure your use case complies with applicable laws and regulations, including GDPR where relevant.

Your feedback

If you have questions, need a feature, or found a bug, please open an issue on the actor's page in Apify Console. Your feedback helps us improve.

You might also like

Getting started with Apify

New to Apify? Create a free account with $5 credit — no credit card required.

  1. Sign up — $5 platform credit included
  2. Open this actor and configure your input
  3. Click Start — export results as JSON, CSV, or Excel

Need more later? See Apify pricing.

You might also like

Actiris Scraper

unfenced-group/actiris-scraper

Scrape actiris.brussels — Brussels' official employment service — for structured job data: bilingual FR/NL titles, contract types, locations & descriptions. 30,000+ active listings.

👁 User avatar

Unfenced Group

2

Jobat.be Scraper

lexis-solutions/jobat-be-scraper

Jobat.be scraper for Belgium job data: extract structured listings, company info, salary, benefits and full descriptions from 100k+ vacancies across Flanders, Brussels and Wallonia for market research, ATS enrichment and dashboards.

👁 User avatar

Lexis Solutions

6

5.0

Jobat.be Scraper Belgium

unfenced-group/jobat-be-scraper-belgium

Scrape jobat.be for structured Belgian job data: titles, companies, salaries, benefits & full descriptions (HTML, plain text, Markdown). 100k+ listings across Flanders, Brussels & Wallonia. Deduplication, repost detection & daysOld filtering included.

👁 User avatar

Unfenced Group

9

CareerCross Scraper - Japan Bilingual Job Listings

jungle_synthesizer/career-cross-scraper

Extract bilingual job listings from CareerCross (Japan). Pull title, company, location, salary range, employment type, English/Japanese level, industry, and job category for each posting.

👁 User avatar

BowTiedRaccoon

10

LinkedIn Job Search Scraper

powerai/linkedin-job-search-scraper

Extract job listings from LinkedIn with detailed metadata including job titles, company information, requirements, and direct URLs. Perfect for job market research, competitor analysis, and talent acquisition.

181

1.0

LinkedIn Job Scraper - Public Jobs, No Login

nezha/linkedin-job-scraper

Scrape public LinkedIn job search results without login and export job title, company, location, salary, job description, apply URL, seniority, employment type, industry, and application count fields.

Google Job Search Scraper

powerai/google-job-search-scraper

Extract job listings from Google Jobs with detailed metadata including job titles, company information, requirements, and direct URLs. Perfect for job market research, competitor analysis, and talent acquisition.

Jobs.ch Scraper - Preiswert Low-cost💲🔥💼

delectable_incubator/jobs-ch-scraper---preiswert-low-cost

Scrape job listings from Jobsch Switzerland 🔍💼 with a powerful job search scraper. Extract offers by keyword and location, including job titles, company details, employment types, publication dates, and URLs. Ideal for recruitment analytics, job market research, and structured datasets 📊🚀

👁 User avatar

Prime Scrape

2

Daijob Job Scraper - 格安 Low-cost💲🔥💼🇯🇵🔴

delectable_incubator/daijob-job-scraper-ge-an-low-cost

Scrape Daijob job listings 💼🇯🇵 with a powerful Japan job scraper. Extract job titles, hiring companies, locations, salaries, seniority levels, Japanese language requirements, and more. Ideal for recruitment intelligence, bilingual hiring research, and structured job market datasets in Japan 📊🚀

👁 User avatar

Prime Scrape

2

Ashby Scraper - Low-cost💲🔥💼🔎

delectable_incubator/ashby-scraper---low-cost

Scrape job listings from Ashby job boards 💼🔎 with a powerful job scraper. Extract companies, job titles, departments, locations, employment types, remote status, salaries, and job URLs. Ideal for job market analysis, recruitment insights, and building structured employment datasets at scale 📊🚀

👁 User avatar

Prime Scrape

2