Stepstone.be Belgium Scraper
Pricing
from $0.64 / 1,000 results
Stepstone.be Belgium Scraper
Scrape Stepstone.be, Belgium's leading job board. Returns job titles, companies, locations, salary ranges, and full descriptions. Supports keyword/location search, fetchDetails, and start URLs. $0.80 per 1,000 results — the lowest price on Apify.
Pricing
from $0.64 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
8
Total users
5
Monthly active users
6 days ago
Last modified
Categories
Share

Extract job listings from stepstone.be 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 Belgium
A dedicated Belgian scraper, not a global tool with a country dropdown. Search, locations and currency (EUR) are tuned for stepstone.be.
📄 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" | searchQuery. |
location | string | (empty) | Search or filter by location. |
radius | integer | 40 | Numeric filter: radius. |
language | string | (empty) | language. |
contractType | string | (empty) | Search or filter by contractType. |
maxResults | integer | 100 | Maximum number of results (0 = no limit). |
daysOld | integer | (empty) | Only return items published within the last N days. Leave blank for all. |
skipReposts | boolean | false | Enable skipReposts. |
fetchDetails | boolean | false | ON: fetches full job description, salary, company info, and all details. OFF: returns basic listing info only (faster, lower cost). |
startUrls | array | (empty) | Filter by startUrls. |
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 |
|---|---|---|
url | string | Direct link to the listing |
jobId | string | Stepstone unique listing ID |
source | string | Source. |
language | string | Listing language: nl or fr |
title | string | Job title |
company | string | Hiring company name |
companyId | number | Stepstone internal company ID |
companyUrl | string | Company website URL (where available) |
city | string | City |
postCode | string | Postal code |
country | string | Always BE |
contractType | string | e.g. FULL_TIME, PART_TIME |
workSchedule | string | Work schedule. |
workFromHome | boolean | Work-from-home label as shown on the listing |
workArrangement | string | Normalised: FULL, PARTIAL, or null |
salaryMin | string | Minimum salary (numeric), or null if not disclosed |
salaryMax | string | Maximum salary (numeric), or null if not disclosed |
salaryCurrency | string | Always EUR when present |
salaryPeriod | string | Pay period the salary refers to (e.g. year, month, hour). |
publishDate | string | ISO 8601 date posted |
publishDateISO | string | Publish date iso. |
datePosted | string | Date posted. |
daysOld | number | Days since publication |
expiryDate | string | Date the listing expires (null if not stated). |
description | string | Full job description in plain text. |
descriptionText | string | Full job description in plain text. |
descriptionMarkdown | string | Description markdown. |
applyUrl | string | Direct application link. |
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. |
scrapedAt | string | ISO 8601 scrape timestamp |
Example record
{"url": "https://www.stepstone.be/vacatures--Java-Angular-Developer-Brussel-Smals--2225912-inline.html","jobId": "2225912","source": "stepstone.be","language": "","title": "Java-Angular Developer","company": "Smals","companyId": 3850,"companyUrl": "https://www.stepstone.be/cmp/nl/smals-3850/vacatures","city": "Brussel","postCode": null,"country": "BE","contractType": null,"workSchedule": null,"workFromHome": true,"workArrangement": "Hybrid","salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryPeriod": null,"publishDate": "2026-06-23","publishDateISO": "2026-06-23T00:00:00.000Z","datePosted": "2026-06-23T00:00:00.000Z","daysOld": 5,"expiryDate": null,"description": null,"descriptionText": null,"descriptionMarkdown": null,"applyUrl": null,"isRepost": false,"originalPublishDate": null,"originalUrl": null,"scrapedAt": "2026-06-28T10:12:49.023Z"}
Examples
Search for ingénieur roles in Brussel:
{"searchQuery": "ingénieur","location": "Brussel","maxResults": 100}
Filter by contract type:
{"searchQuery": "ingénieur","location": "Brussel","maxResults": 100,"contractType": "FULL_TIME"}
Scrape a specific search URL:
{"startUrls": [{"url": "https://www.stepstone.be/"}],"maxResults": 200}
Daily feed (run on a schedule):
{"searchQuery": "ingénieur","daysOld": 1,"skipReposts": true,"maxResults": 500}
Schedule this input to run once a day in the Apify Scheduler — each run returns only jobs posted in the last 24 hours.
💰 Pricing
$0.8 per 1,000 results — you only pay for successfully retrieved listings. Failed retries are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.08 |
| 1,000 | ~$0.8 |
| 10,000 | ~$8 |
| 100,000 | ~$80 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Subscription tiers lower the rate further, down to $0.48 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: stepstone.be — Belgium 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