Le Forem Scraper: Belgium Wallonia Jobs and Offres d'Emploi avatar

Le Forem Scraper: Belgium Wallonia Jobs and Offres d'Emploi

Pricing

Pay per event

Go to Apify Store
Le Forem Scraper: Belgium Wallonia Jobs and Offres d'Emploi

Le Forem Scraper: Belgium Wallonia Jobs and Offres d'Emploi

Extract job listings from Le Forem (leforem.be), Belgium's Wallonia French-speaking public employment service. Returns title, company, Walloon province, employment type, salary, full description and contact details. Covers Wallonia and Brussels.

Pricing

Pay per event

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Le Forem Scraper: Belgium Wallonia Jobs, Offres d'Emploi and Employers

Extract job listings from Le Forem (leforem.be), Belgium's official Wallonia French-speaking public employment service (Service public wallon de l'Emploi et de la Formation professionnelle). Returns structured job data including title, company, Walloon province, employment type, salary and full description.

Covers Wallonia and Brussels Capital Region - the French-speaking half of Belgium, home to major employers in Charleroi, Liège, Namur, Mons, Wavre and the Walloon economic corridor. Flanders uses a separate PES (VDAB - see Related Actors).


What It Does

  • Searches Le Forem for any keyword in French (or English)
  • Uses the official Forem public JSON API - no browser, no JavaScript required
  • Extracts job cards: title, company, location, Walloon province, contract type, posted date
  • Fetches full job detail: salary, complete description, contact details, skills required
  • Maps Belgian employment types: CDI/CDD, interim, stage, apprentissage, etudiant, independant
  • Maps locations to Walloon provinces: Brabant wallon, Hainaut, Liège, Luxembourg, Namur
  • Resolves city names to the Forem GUFID location registry for accurate geographic filtering
  • Returns data instantly - plain HTTP, 128 MB RAM, sub-second response per record

Sample Output

{
"_type": "job",
"id": "2029707",
"title": "Chef d'Atelier - Menuiserie Bois (H/F/X)",
"job_url": "https://www.leforem.be/recherche-offres/offre-detail/2029707",
"source_url": "https://www.leforem.be/recherche-offres/offre-detail/2029707",
"source_platform": "leforem.be",
"company_name": "BOIS ET DESIGN",
"company_website": null,
"company_logo_url": null,
"location": "Liège",
"country": "BE",
"region": "Liège",
"posted_at_text": "12/08/2026",
"posted_at_datetime": "2026-08-12T00:00:00Z",
"listing_expires_at": "2026-09-30T00:00:00Z",
"employment_type": "permanent",
"workplace_type": "on-site",
"open_positions": 1,
"occupation": "Menuisier / Menuisière",
"employer_sector": "Fabrication de menuiseries et parquets en bois",
"salary_min": 2850,
"salary_max": null,
"salary_currency": "EUR",
"salary_period": "month",
"salary_text": "2850 EUR/mois",
"description": "Vous gérez et animez une équipe de menuisiers. Vous organisez le travail en atelier, contrôlez la qualité des productions et veillez au respect des délais et des normes de sécurité.",
"description_full": "Vous gérez et animez une équipe de menuisiers.\nVous organisez le travail en atelier...",
"description_html": "<p>Vous gérez et animez une équipe de menuisiers.</p>...",
"description_md": "Vous gérez et animez une équipe de menuisiers.\n\nVous organisez...",
"contact_emails": ["candidature@boisetdesign.be"],
"contact_phones": ["+32472456789"],
"contact_urls": [],
"contact_person_name": "Marie Dupont",
"apply_url": "https://www.leforem.be/recherche-offres/offre-detail/2029707",
"apply_redirect_url": null,
"partner_board": null,
"partner_ref": null,
"languages_required": [],
"experience_required": [
{ "occupation": "Menuisier d'atelier", "level": "5 ans ou plus" }
],
"driving_licence": null,
"benefits_other": ["Cheque-repas", "13eme mois"],
"competencies": [
{ "code": "1234", "label": "Effectuer le montage d'equipements industriels", "required": true }
],
"soft_skills": [
{ "code": "5678", "label": "Esprit d'equipe", "required": true },
{ "code": "5679", "label": "Autonomie", "required": false }
],
"education_required": [
{ "level": "Enseignement secondaire superieur (CESS)", "field_of_study": "Menuiserie" }
],
"position_start_date": "2026-10-01T00:00:00Z",
"position_end_date": null,
"search_query": "chef atelier in Liège",
"scraped_at": "2026-09-14T09:00:00Z"
}

Pricing

EventWhen triggeredPrice
actor-startOnce per run$0.001
job-serp-resultPer job returned (SERP only mode)$0.003
job-detail-resultPer job returned (with detail fetch)$0.005

Example costs:

  • 100 jobs (SERP only): $0.001 + 100 x $0.003 = $0.31
  • 100 jobs (with details): $0.001 + 100 x $0.005 = $0.51
  • 1000 jobs (SERP only): $0.001 + 1000 x $0.003 = $3.00

Input Fields

FieldTypeDefaultDescription
searchQueriesarray-Keywords in French (e.g. "developpeur", "infirmier", "comptable", "ingenieur"). Each runs as a separate search.
locationstring-Walloon city or province filter (e.g. "Liege", "Namur", "Charleroi", "Mons", "Wavre"). Applied to all keyword searches.
searchUrlsarray-Paste Le Forem search URLs directly. Filters are preserved.
maxResultsinteger100Total result cap across all queries
maxResultsPerQueryinteger100Cap per keyword or URL
includeJobDetailsbooleantrueFetch full job detail (salary, description, contacts) via the Forem detail API
maxConcurrencyinteger5Concurrent API requests (1-20). Higher values speed up detail fetches; Le Forem's public API tolerates bursts well.
sortBystring"newest"Result order. Le Forem's public API only exposes native newest-first ordering with no sort dropdown or URL parameter; enum is ["newest"] for fleet consistency.

Output Fields

FieldTypeDescription
_typestringAlways "job"
idstringLe Forem offer ID
titlestringJob title
job_urlstringCanonical vacancy URL on leforem.be
source_urlstringSame as job_url
source_platformstringAlways "leforem.be"
company_namestring|nullEmployer name
company_logo_urlstring|nullEmployer logo (when available)
company_websitestring|nullEmployer website (when extractable from description)
locationstringCity or municipality (joined when multiple)
countrystringAlways "BE"
regionstring|nullWalloon province: Brabant wallon / Hainaut / Liège / Luxembourg / Namur / Bruxelles-Capitale
posted_at_textstring|nullFrench date text: "Publié aujourd'hui" or "DD/MM/YYYY"
posted_at_datetimestring|nullISO 8601 UTC date
listing_expires_atstring|nullISO 8601 UTC date the listing closes (from dateFinDiffusion)
employment_typestring|nullpermanent / fixed-term / temporary / internship / apprenticeship / student / freelance
workplace_typestring|nullon-site / hybrid / remote (when mentioned in description)
open_positionsinteger|nullNumber of open positions for this vacancy (nombrePostes)
occupationstring|nullForem occupation label (metier) for this role
employer_sectorstring|nullNACE sector of the employing company (secteurActiviteEmployeur)
salary_minnumber|nullMinimum salary in EUR (from benefits.basePay - monthly brut)
salary_maxnumber|nullMaximum salary in EUR
salary_currencystring|nullAlways "EUR"
salary_periodstring|nullmonth / year / hour / week / day
salary_textstring|nullSalary as displayed or "a discuter" (negotiable)
descriptionstring|nullJob description snippet (first 500 chars)
description_fullstring|nullFull plain-text description with line breaks preserved
description_htmlstring|nullFull HTML description
description_mdstring|nullFull Markdown description
contact_emailsarrayEmail addresses extracted from howToApply and all description fields
contact_phonesarrayBelgian phone numbers from howToApply and description
contact_urlsarrayExternal URLs found in description
contact_person_namestring|nullContact person full name (from howToApply.formattedName)
apply_urlstring|nullCanonical Le Forem vacancy URL
apply_redirect_urlstring|nullPartner board direct apply URL (e.g. Jobat, Stepstone) when listing is syndicated
partner_boardstring|nullName of the partner job board that syndicated this listing (e.g. "Jobat")
partner_refstring|nullPartner board reference ID for the listing
languages_requiredarrayLanguage requirements: [{"language","code","required","proficiency"}]
experience_requiredarrayExperience requirements: [{"occupation","level"}]
driving_licencestring|nullDriving licence requirement (e.g. "Permis de conduire validé pour une catégorie C1")
benefits_otherarrayAdditional benefits beyond base salary (e.g. ["Cheque-repas","13eme mois"])
competenciesarrayTechnical competencies from the Forem skills taxonomy: [{"code","label","required"}] (e.g. "Effectuer le montage d'equipements industriels")
soft_skillsarraySoft skills / personality traits from the Forem taxonomy: [{"code","label","required"}] (e.g. "Esprit d'equipe", "Autonomie", "Sens des responsabilites")
education_requiredarrayRequired education/diploma levels: [{"level","field_of_study?"}] (e.g. level="Formation superieure initiale de type court (Baccalaureat)", field_of_study="Informatique")
position_start_datestring|nullFixed position start date in ISO 8601 UTC (from positionDateInfo.startDate)
position_end_datestring|nullExpected contract end date in ISO 8601 UTC (from positionDateInfo.expectedEndDate; present on CDD/interim roles)
search_querystring|nullQuery that returned this result
scraped_atstringISO 8601 UTC scrape timestamp

Use with AI Agents (MCP)

{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/mcp-server"],
"env": { "APIFY_TOKEN": "your_token" }
}
}
}

Then ask your AI: "Search Le Forem for developpeur jobs in Liege and return the results as JSON."


Why This Scraper

  • Official public API: Le Forem exposes a clean JSON API powering their search interface. All data is publicly accessible without authentication.
  • HTTP-only Go: No browser, no Playwright, no Puppeteer. Fast, cheap, reliable - 128 MB RAM per run.
  • Wallonia market coverage: Le Forem is the primary job board for French-speaking workers in Belgium, covering all 5 Walloon provinces and Brussels.
  • French-language optimized: Correct parsing of French employment type labels (CDI, CDD, Interim, Stage, Apprentissage) and date formats.
  • Province mapping: Automatically maps Walloon municipalities to their province using the official Forem location registry (GUFID lookup).
  • Rich data from API: Salary (basePay), contact person (name, email, phone), skills, languages and soft skills are all available from the detail endpoint.
  • Apprenticeship and training paths: Forem specifically lists alternance, apprentissage and CIP (Cellule d'Insertion Professionnelle) pathways not found on commercial boards.
  • German-speaking community: Eastern cantons around Eupen and Malmedy (Deutschsprachige Gemeinschaft) are included - Forem covers all of Wallonia.

Common Use Cases

  • Market research: Track job postings across Walloon provinces and sectors
  • Salary benchmarking: Extract monthly brut salaries for Belgian roles (Forem basePay field)
  • Talent pipeline: Monitor which companies are hiring in Wallonia
  • Public sector jobs: Le Forem lists Belgian government, CPAS, commune, education and healthcare vacancies
  • Apprenticeship tracking: Monitor alternance and formation-professionnelle openings
  • French-language job market: Monitor the Walloon economy, distinct from the Flemish VDAB ecosystem
  • Labour market analytics: Analyze employment trends in the French-speaking Belgian economy
  • German-community coverage: The Ostkantone (Eupen area) listings are included

Notes and Limits

  • Coverage: Wallonia and Brussels Capital Region only. Flanders (Dutch-speaking) uses VDAB (see Related Actors).
  • Language: Most listings are in French (fr-BE). Some Brussels listings may be bilingual (French/Dutch) or in English.
  • Results per query: Le Forem returns up to 25 results per API page. Pagination is handled automatically up to your maxResults cap.
  • Salary data: Belgian salaries from Forem are typically gross monthly (brut par mois). "a discuter" means negotiable.
  • Employment types: CDI (permanent), CDD (fixed-term), interim, stage (internship), apprentissage (apprenticeship dual training), etudiant (student job), independant (freelance).
  • Location resolution: City names are resolved against the Forem GUFID location registry (4500+ entries) for accurate filtering. Partial matches are supported.
  • Update frequency: Forem listings refresh continuously. Run daily for fresh data.

Working across the Belgian job market? These complement Le Forem:

  • VDAB.be Scraper - Belgium Flanders public employment service (Dutch-speaking regional peer to this Walloon gov portal). Together, VDAB + Forem cover both Belgian language regions.

Broader coverage:


Support

Issues or questions? Open a ticket on the Issues tab or email contact@nanoscrape.com.