StepStone Jobs Scraper - Germany & Belgium Job Alerts
Scrape StepStone jobs in Germany and Belgium: title, employer, location, salary band, skills. Several searches, pasted search links and daily only-new job...
Scrape StepStone jobs in Germany and Belgium: title, employer, location, salary band, skills. Several searches, pasted search links and daily only-new job alerts. No contact data.
$3.00 / 1,000 · 100.0% success over 27 public runs in the last 30 days.
Run it on Apify → Free to try - runs bill per result on your own account.
What you give it
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
what |
string | Job title or keyword, like the StepStone search box. On stepstone.de, German terms match best. | software engineer |
moreQueries |
array | More searches in the same run, one per line, with the same city, radius and country. maxItems is shared between them. | - |
country |
string | Which StepStone site to search. Austria (stepstone.at) refuses automated access. | de |
city |
string | City, e.g. Berlin, München, Brussel. Leave empty for the whole country. |
- |
radiusKm |
integer | Search radius around the city. | - |
startUrls |
array | Run the search on StepStone, set the filters you want (posted in the last days, home office, radius...), and paste the address of the results page. When links are given, the search fields above are not used. Single job pages are refused, with the reason. | - |
onlyNewJobs |
boolean | Deliver only jobs that were not there on this search's previous run. Schedule it daily for a job alert; the first run delivers everything that matches. Jobs are read newest first when this is on. | False |
resetState |
boolean | With Only new jobs: start over and deliver everything that matches. | False |
dateFrom |
string | Keep jobs posted on or after this date. Format: YYYY-MM-DD (for example 2026-09-08). Slash dates like 08/09/2026 are refused on purpose: they are read as September in Europe and August in the United States, and this actor will not guess which you meant. |
- |
scrapeDetails |
boolean | Fetch each job page for the full description, employment type, industry and expiry. One extra request per job. | False |
maxItems |
integer | Stop after this many jobs in total, across every search and link. One search cannot return more than about 1,000 jobs however high you set this. | 500 |
reportFailures |
boolean | When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. Your input itself, your results and your identity are never sent, and successful runs send nothing at all. Switch this off and the actor behaves exactly the same. | True |
What you get back
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
A real result row from a recent run:
{
"companyLogoUrl": "https://www.stepstone.de/upload_DE/logo/3/logoPRODYNA-SE-22458DE-2406200913.gif",
"companyName": "PRODYNA SE",
"companyUrl": "https://www.stepstone.de/cmp/de/prodyna-se-22458/jobs",
"datePosted": "2026-10-15T16:03:05.2Z",
"isSponsored": false,
"isTopJob": false,
"jobId": "13799026",
"location": "Berlin, Hamburg, Frankfurt am Main, Düsseldorf, München, Stuttgart",
"postCode": null,
"salaryCurrency": "€",
"salaryMax": 77000,
"salaryMin": 54000,
"salaryPeriod": "Annually",
"skills": [],
"snippet": "PRODYNA ist ein globaler Full-Service-Provider für IT- und Web-Dienstleistungen mit über 400 Mitarbeitenden in mehreren Ländern. Gesucht wir...",
"title": "Data Engineer (all genders)",
"url": "https://www.stepstone.de/stellenangebote--Data-Engineer-all-genders-Berlin-Hamburg-Frankfurt-am-Main-Duesseldorf-Muenchen-Stuttgart-PRODYNA-...",
"workMode": "hybrid"
}
| Field | Type | Meaning |
|---|---|---|
jobId |
string | StepStone job id. |
title |
string | Job title as posted. |
url |
string | Job page URL, tracking stripped. |
companyName |
['string', 'null'] | Employer's name. |
companyUrl |
['string', 'null'] | Employer's StepStone company page. |
companyLogoUrl |
['string', 'null'] | Employer logo. |
datePosted |
['string', 'null'] | Posting timestamp (ISO with offset). |
location |
['string', 'null'] | Locations as displayed. |
postCode |
['string', 'null'] | Postal code when given. |
snippet |
['string', 'null'] | Listing text snippet. |
workMode |
['string', 'null'] | onsite, hybrid or remote when flagged. |
isSponsored |
boolean | Paid placement flag. |
isTopJob |
boolean | TopJob placement flag. |
skills |
array | Skill tags when present. |
salaryMin |
['number', 'null'] | Salary band lower bound when published. |
salaryMax |
['number', 'null'] | Salary band upper bound when published. |
salaryCurrency |
['string', 'null'] | Salary currency. |
salaryPeriod |
['string', 'null'] | Salary period. |
description |
['string', 'null'] | Full description, markup stripped (scrapeDetails). |
employmentType |
['string', 'null'] | schema.org employment type (scrapeDetails). |
industry |
['string', 'null'] | Industry (scrapeDetails). |
validThrough |
['string', 'null'] | Posting expiry (scrapeDetails). |
Health
100.0% success over 27 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.