StepStone Jobs Scraper [💰$0.68] DE/AT/BE  - Full Descriptions avatar

StepStone Jobs Scraper [💰$0.68] DE/AT/BE - Full Descriptions

Pricing

from $0.68 / 1,000 results

Go to Apify Store
StepStone Jobs Scraper [💰$0.68] DE/AT/BE  - Full Descriptions

StepStone Jobs Scraper [💰$0.68] DE/AT/BE - Full Descriptions

StepStone jobs from Germany, Austria and Belgium: full descriptions split into tasks, requirements and benefits, StepStone salary estimates, company size, rating and benefits, contacts and geo. Filter by contract, hours, experience, industry or state. Tag NEW/UPDATED/EXPIRED jobs and get alerts.

Pricing

from $0.68 / 1,000 results

Rating

0.0

(0)

Developer

Corvuslab

Corvuslab

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

1

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

What does StepStone Job Scraper (DE, AT, BE) do?

Turn any StepStone search into clean, structured job data — and get pinged the moment a listing appears, changes, or disappears.

Scrape job listings from StepStone Germany (stepstone.de), Austria (stepstone.at) and Belgium (stepstone.be) by keyword and location — narrowed by contract type, working hours, experience, industry or federal state — or paste ready-made search and job URLs. Every record comes back as clean, typed JSON — title, StepStone's own salary estimate, company profile (size, rating, industries, benefits), geo-coordinates, contract type, and the full job description in plain text, HTML and Markdown, also split into responsibilities, requirements and benefits — with no code required. The standout: turn on incremental mode and each run tags every job NEW / UPDATED / UNCHANGED / EXPIRED and pushes only what changed to Telegram, Slack, Discord, WhatsApp or a webhook — the cheap, reliable way to watch a saved search on a schedule. Export to JSON, CSV, Excel, or pull from the API.

Why this scraper

  • ⚡ Fast & low-cost — a lightweight, highly optimized engine keeps even large runs quick and cheap.
  • 🧾 You only pay for complete jobs — with full details on, a job whose page can't be read (or that went offline mid-run) is left out and not charged, and the run tells you how many.
  • 🧾 Rich, typed records — 70+ structured fields per job, not raw HTML.
  • ♻️ Cheap to monitor — incremental mode re-scrapes only what changed (see below).
  • 🔔 Notifications built in — Telegram, Slack, Discord, WhatsApp or any webhook (n8n / Make / Zapier).
  • 🤖 AI- & API-ready — compact output, MCP-friendly, one-click integrations.

📚 What data can you extract from StepStone?

  • Core — id, title, url, sourceDomain, companyName, companyId, companyLogoUrl, companyUrl, location, datePosted, postedDaysAgo, validThrough, textSnippet, benefits, source, searchKeyword, searchLocation, scrapedAt.
  • Salary — estimatedSalaryMin / estimatedSalaryMax / estimatedSalaryCurrency / estimatedSalaryPeriod hold StepStone's own salary estimate where StepStone shows one; salaryMin / salaryMax / salaryCurrency / salaryPeriod hold only pay the employer advertised. The two are never mixed.
  • Location & geo — postCode, country, region, streetAddress, latitude, longitude, travelTime.
  • Job details (with Fetch full details) — description, descriptionHtml, descriptionMarkdown, descriptionLength, the ad split into aboutEmployer / responsibilities / requirements / benefits / additionalInfo, contractType, workType, employmentType, industry, workFromHome, remoteType, directApply, badges, skills, labels, topLabels, and flags (isAnonymous, isHighlighted, isSponsored, isTopJob).
  • Company profile (with Fetch full details) — companyEmployees, companyIndustries, companyRating, companyReviewCount, companyOpenJobs, companyAddress, companyAbout, companyBenefits.
  • Contacts (with Fetch full details) — contactEmails and contactPhones written in the job ad.
  • Change tracking (with Incremental mode) — changeType (NEW / UPDATED / UNCHANGED / EXPIRED), firstSeenAt, lastSeenAt, expiredAt, isRepost, repostOfId, repostDetectedAt, contentHash.

Every field is present in standard mode (missing values are null); compact mode returns the core fields only, and Output fields lets you pick exactly the fields you want, in your order.


✨ Key features

  • 🔎 Search or URL scraping — run keyword searches in one or several places at once, pull every open job of one employer, or paste StepStone search-result and job URLs (any filter you applied in your browser is respected). Tech keywords like .NET, C#, C++ and Node.js are searched exactly as typed.
  • 🇩🇪🇦🇹🇧🇪 Germany, Austria & Belgium — search stepstone.de, stepstone.at or stepstone.be from a single dropdown, or mix job links from all three in one run.
  • 💶 Salary estimates — StepStone's own estimated pay range per job, clearly separated from advertised pay.
  • 🏢 Company profiles — employee count, industries, rating and review count, open jobs, address, about text and benefits.
  • 🧾 Structured records — title, location with latitude/longitude, post code, contract type, working hours, industry, contacts and more.
  • 🧠 Full job descriptions — every listing's complete description in plain text, HTML and Markdown, plus ready-split responsibilities, requirements and benefits columns.
  • 🎚️ Rich filters — contract type, working hours, experience level, industry, federal state (Bundesland), date posted, job language, home-office, quick-apply, search radius (km) and sort — all applied by StepStone itself.
  • ♻️ Incremental change tracking — schedule it and each run tags every job NEW / UPDATED / UNCHANGED / EXPIRED with first-seen, last-seen and expired-at times (with repost detection you can suppress); unchanged jobs are skipped before their page is even fetched.
  • 🔔 Notifications — push only the changed jobs to Telegram, Slack, Discord, WhatsApp or any webhook (n8n / Make / Zapier), with an option to alert only when something actually changed.
  • 🤖 AI-ready — compact mode, drop-empty-fields and description-length truncation keep payloads small for LLMs and MCP clients.
  • ⚡ Fast & cheap — engineered for speed and low cost, with sensible defaults that run out of the box.

🚀 How to scrape StepStone

  1. Open the actor, enter a search keyword (e.g. data analyst) and a location, and pick the country edition — or paste a StepStone URL.
  2. (Optional) Narrow with filters — contract type, working hours, experience, industry, federal state, date posted, home-office, radius or sort — then set Max results and whether to fetch full details.
  3. (Optional) Turn on incremental mode and a notification channel, then Schedule it.
  4. Click Start.
  5. Download the data as JSON, CSV or Excel, or pull it from the API.

New to Apify? Create a free account — it comes with monthly credit, no credit card required.


⚙️ Input

Configure it in the visual editor — no code needed — or pass JSON via the API.

FieldWhat it does
queryKeyword search — job title, skill or company (comma-separate for multiple searches).
locationCity or region, e.g. Berlin — or several, comma-separated (Berlin, München, Hamburg).
companyIdOnly one employer's jobs: its StepStone company ID or company page link. Works without a keyword.
countryStepStone edition: de (Germany), at (Austria) or be (Belgium).
startUrlsScrape specific StepStone search or job URLs (any browser-applied filter is kept).
contractTypeEmployment type: permanent, fixed-term, working-student, trainee, apprenticeship, internship, freelance, and more.
workTypeFull-time or part-time.
experienceExperience level: none (entry-level), with experience, or management.
datePostedOnly jobs posted in the last 1 / 3 / 7 / 14 days.
industryIndustry sector (IT, construction, health, finance, and more).
bundeslandGerman federal state (Germany edition); overrides Location.
jobLanguageLanguage the ad is written in (German or English).
applicationMethodQuick apply (on StepStone) or external (company website).
workFromHomeReturn only home-office / remote jobs.
onlyQuickApplyShortcut for applicationMethod = quick apply.
excludeSponsoredSkip promoted / sponsored listings.
includeRelatedJobsAlso return the nearby / nationwide filler StepStone adds to thin searches (off by default: only the jobs StepStone counts as matches).
radiusWiden the search around the location, in km.
sortByrelevance or date (newest first).
includeDetailsFetch each job's page for the full description and detail fields.
descriptionFormattext, html, markdown or all three.
descriptionMaxLengthTruncate each description to N characters — keeps AI-agent payloads small.
outputFieldsReturn only the fields you list, in that order.
incrementalModeEmit only what changed since the last run.
maxResultsCap the number of records (0 = unlimited).
maxPagesOptional hard cap on result pages per search (25 jobs/page).

…and 40+ inputs in total — the table shows the essentials; the rest cover compact/drop-empty output modes, incremental state, unchanged/expired and repost-skipping toggles, notification channels (Telegram, Slack, Discord, WhatsApp, webhook) with a notify-only-on-changes switch, and advanced tuning, all in the visual editor.


📥 Example input

A few ready-to-run configurations — set these in the visual editor or pass them as JSON via the API:

{ "query": "data analyst", "location": "Berlin", "country": "de", "maxResults": 100 }
{ "query": "software engineer", "location": "Berlin", "contractType": "permanent", "workType": "full_time", "datePosted": "7", "jobLanguage": "en" }
{ "query": "product manager", "country": "at", "incrementalMode": true, "skipReposts": true, "notifyOnlyChanges": true, "telegramChatId": "@my_jobs_channel" }

📤 Output

{
"id": "14289424",
"title": "Software Engineer (Go) (m/w/d)",
"url": "https://www.stepstone.de/stellenangebote--Software-Engineer-Go-m-w-d-Muenchen-Fonds-Finanz-Maklerservice-GmbH--14289424-inline.html",
"companyId": "64019",
"companyName": "Fonds Finanz Maklerservice GmbH",
"companyUrl": "https://www.stepstone.de/cmp/de/fonds-finanz-maklerservice-gmbh-64019/jobs",
"companyLogoUrl": "https://www.stepstone.de/upload_DE/logo/4/logoFonds-Finanz-Maklerservice-GmbH-64019DE.gif",
"location": "München",
"postCode": "80992",
"country": "DE",
"streetAddress": "Riesstraße 25",
"latitude": 48.18024,
"longitude": 11.5353,
"datePosted": "2026-07-31T14:01:06.89Z",
"validThrough": "2026-08-15T13:23:05.63Z",
"workFromHome": "2",
"remoteType": "hybrid",
"employmentType": "FULL_TIME",
"industry": "IT, IT-Softwareentwicklung",
"directApply": true,
"textSnippet": "Komm zur Fonds Finanz, Deutschlands führendem Allfinanz-Maklerpool …",
"skills": [],
"labels": [{ "label": "Schnelle Bewerbung", "type": "QUICK_APPLY" }],
"isAnonymous": false,
"isHighlighted": false,
"isSponsored": false,
"isTopJob": false,
"source": "stepstone",
"searchKeyword": "software engineer",
"scrapedAt": "2026-08-11T13:21:15.494767+00:00",
"detailFetched": true,
"description": "#### Software Engineer (Go) (m/w/d)\n\nKomm zur Fonds Finanz … #### Deine Aufgaben …",
"descriptionHtml": "<h4>Software Engineer (Go) (m/w/d)</h4>\n<p>Komm zur Fonds Finanz …</p>",
"descriptionMarkdown": "#### Software Engineer (Go) (m/w/d)\n\nKomm zur Fonds Finanz …"
}

The description, descriptionHtml and descriptionMarkdown fields hold the complete job posting — trimmed above for readability.

♻️ How to monitor StepStone with incremental mode

Schedule the actor and turn on incremental mode: each run compares against the last and tags every job NEW / UPDATED / UNCHANGED / EXPIRED — unchanged jobs are skipped before their detail page is fetched, so a daily watch costs a fraction of a full re-scrape. It even detects reposts of the same vacancy, which you can suppress with skip reposts. Pair it with a notification channel and notify-only-on-changes, and only the new and updated jobs land in your inbox.

Daily churnof 1,000 trackedbillable recordsyou save
5 %1,0005095 %
15 %1,00015085 %
30 %1,00030070 %

The first run seeds the baseline and bills in full; every run after that bills only the delta — a genuinely low-cost way to keep a saved search fresh on a schedule.


🔔 How to set up StepStone alerts

Get pinged the moment a matching record appears. Fill in only the channels you want:

ChannelWhat to configure
✈️ TelegramtelegramToken (from @BotFather) + telegramChatId
💬 SlackslackWebhookUrl (Incoming Webhook URL)
🎮 DiscorddiscordWebhookUrl (channel webhook URL)
🪝 WebhookwebhookUrl receives structured JSON — ideal for n8n / Make / Zapier

Credentials are secret inputs — encrypted at rest, masked in the UI and never written to the run log. Every channel fires independently, so a broken channel can't stop the scrape or the others. Pair incremental mode with notify only about changes to hear only about genuinely new records, with no duplicates across runs.

💡 What can you do with StepStone data?

  • Job-board monitoring — schedule a saved search and get a live feed of only the new and changed vacancies, straight to your chat.
  • Recruitment & sourcing — pull structured company, location, contact and role data across Germany, Austria and Belgium, filtered by contract type, experience or industry.
  • Salary benchmarking — compare StepStone's estimated pay ranges across roles, cities and companies.
  • Market & hiring research — aggregate employment types, industries, locations and posting volumes to benchmark demand for a role or region.
  • Aggregators & job boards — feed clean, de-duplicated StepStone listings into your own site, app or warehouse.
  • Geo & mapping — every job carries latitude/longitude, post code and street address for map views and radius analysis.
  • AI agents & pipelines — compact output plugs straight into LLM/MCP workflows.

💰 How much does it cost to scrape StepStone?

This Actor uses Apify's pay-per-event model: a small fee when a run starts, plus a per-record fee. See the Actor's Pricing tab for the current numbers — they're rendered live, so this page never goes stale.

Two things cut your bill further:

  • Site-side filters — records you filtered out are never fetched and never billed.
  • Incremental mode — after the baseline run you pay only for what actually changed.
Daily churnof 1,000 trackedbillable recordsyou save
5 %1,0005095 %
15 %1,00015085 %
30 %1,00030070 %

🔌 Integrations & export

Export to JSON, CSV, Excel or an HTML table, or pull from the REST API and the JavaScript / Python clients. Runs on a schedule, sends alerts to Telegram, Slack, Discord, WhatsApp or any webhook (Make, Zapier, n8n), connects to Google Sheets, and works as an MCP tool for AI agents — compact mode and description truncation keep token usage small.


🔗 Using the API

Run this Actor from your own code. Example with the Apify Python client:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("corvuslab/stepstone-jobs-scraper").call(run_input={
"query": "example",
"maxResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

It also works with the JavaScript/TypeScript client, the Apify CLI and the REST API.

❓ FAQ

Do I need a proxy or login? No login and no setup — the actor picks its connection by itself. If you must route through your own proxies, add their URLs under Advanced.

Which countries are supported? StepStone Germany (stepstone.de), Austria (stepstone.at) and Belgium (stepstone.be), chosen from a dropdown — job links from any of the three work as Start URLs.

Can I get only new items on a schedule? Yes — turn on incremental mode and schedule it; each run emits only what changed and can notify Telegram, Slack, Discord, WhatsApp or a webhook, with a notify-only-on-changes option.

Can I get the full job description? Yes — enable Fetch full details to get the complete description in plain text, HTML and Markdown, plus employment type, industry, geo-coordinates and validity date. You can also truncate it to a set length for smaller payloads.

Does it include salary? Two kinds, never mixed. estimatedSalaryMin / estimatedSalaryMax carry StepStone's own estimate wherever StepStone shows one — common for IT and office roles, rarer for others, and not shown on every country site. salaryMin / salaryMax carry only pay the employer advertised, which most ads don't state, so expect them to be empty on most jobs. The actor never invents figures of its own.

What formats can I export? JSON, CSV, Excel, HTML table, or via the API.

Is it good for AI agents? Yes — enable compact mode and cap the description length; the output is MCP-friendly and small.

How many records can I get? As many as the search returns — set maxResults (0 = unlimited). With several keywords or places, maxResults is shared between them so each one gets its turn.

Why do I get fewer jobs than the search used to show? For thin searches StepStone pads the list with jobs from nearby areas and nationwide that it doesn't count as matches. By default you get exactly the jobs StepStone counts — switch on Include related jobs to get the filler too.

Do I pay for jobs that come back incomplete? No. With Fetch full details on, every job page that fails is tried again; if it still can't be read, or the job went offline during the run, that job is left out and never charged. Your Max results is still filled from the next jobs in the search, the run's status line says how many were left out, and in incremental mode a left-out job is delivered on a later run instead of being lost.

Is scraping this legal? The actor collects only publicly available data. You are responsible for how you use it, including any personal data and GDPR-style obligations.


This actor accesses only publicly available data on StepStone. You are responsible for how you use the extracted data — in particular any personal information — and for complying with the site's terms and applicable law (including the GDPR where it applies). Not affiliated with, endorsed by, or sponsored by StepStone.


Keywords: StepStone scraper · StepStone job scraper · stepstone.de scraper · stepstone.at scraper · stepstone.be scraper · StepStone salary estimate · StepStone API · Germany job scraper · Austria job scraper · DACH job market data · job listings scraper · jobs by contract type · job monitoring · job alerts · home office jobs · remote jobs scraper · recruitment data · job market research · export jobs to CSV Excel JSON · MCP tool for AI agents