StepStone Jobs Scraper — Salary, Company & Full Job Details avatar

StepStone Jobs Scraper — Salary, Company & Full Job Details

Pricing

from $2.29 / 1,000 results

Go to Apify Store
StepStone Jobs Scraper — Salary, Company & Full Job Details

StepStone Jobs Scraper — Salary, Company & Full Job Details

Scrape job listings from StepStone across DACH & Benelux — title, company, location, salary, contract type, description and apply URL.

Pricing

from $2.29 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

8 days ago

Last modified

Security

Limited permissions

Share

Scrape job listings from StepStone — the leading job board in Germany and Austria — as clean, structured data, with no login and no coding. This StepStone scraper searches by keyword and location (or follows your own filtered StepStone URLs) and returns the job title, hiring company, location, salary range, contract type, work model, full job description, benefits, posting date, company profile and application link for every result.

Unlike thin tools that return only a title and a company name, this Actor opens each job and pulls the complete picture — including a structured salary range (min, max, currency, period) that most StepStone scrapers miss entirely. Export to JSON, CSV, Excel, or API.

Built for recruiters, sourcers, HR-tech teams, labour-market analysts and B2B sales teams who need fresh, reliable StepStone data at scale — without writing or maintaining a scraper.


🔎 Why scrape StepStone?

StepStone is the dominant job marketplace across the DACH region, with hundreds of thousands of live vacancies. Each posting is a dense packet of hiring intelligence: who is hiring, for what role, in which city, at what pay, under which contract, and how to apply — the signal behind recruitment pipelines, sales prospecting, salary benchmarking and labour-market research.

Collecting it by hand is painful: results are paginated, salaries are buried behind interactive widgets, descriptions live on separate detail pages, and the site blocks datacenter traffic — so copy-paste does not scale. A purpose-built StepStone scraper turns the whole board into a clean, deduplicated table you can filter, sort and pipe into any tool.

Common reasons people scrape StepStone:

  • 🎯 Build a live pipeline of open roles for a job title, skill or city and reach candidates/companies first.
  • 💶 Benchmark salaries by role, seniority and location using structured pay ranges.
  • 📈 Turn hiring companies into a B2B lead list (company name, profile link, location).
  • 📊 Track labour-market and skills demand across Germany and Austria over time.
  • 🕵️ Monitor a competitor's hiring — which roles they open, where, and how fast.
  • 🔁 Feed StepStone job data into your own job board, ATS, CRM, warehouse or dashboard.
  • 🗓️ Run a daily "new jobs today" alert on a schedule with built-in deduplication.

✨ What this StepStone scraper does

  • ✅ Keyword + location search across stepstone.de (Germany) and stepstone.at (Austria).
  • ✅ Start-URL mode — paste any StepStone search-results URL (with your own filters, any country site) or individual job URLs, and the Actor follows your filters and paginates through them.
  • ✅ Automatic pagination — walks every results page (~25 jobs each) up to your limit, returning hundreds to thousands of de-duplicated records.
  • ✅ Detail-page enrichment — opens each job for the full description, benefits, structured salary, contract type, work model, company profile, ISO posting/expiry dates and apply URL.
  • ✅ Structured salary data — salaryMin, salaryMax, salaryCurrency and salaryPeriod as separate fields, plus a salaryPredicted flag for StepStone estimates. Filter and benchmark compensation directly.
  • ✅ Rich captured fields — identity (jobId, title, url), company (company, companyUrl, companyProfileUrl, companyLogo), location (location, locality, postalCode, country), classification (contractType, workType, workFromHome, employmentType, industry), content (snippet, description, benefits) and metadata (datePosted, validThrough, postedRelative, applyUrl, directApply, rank, scrapedAt).
  • ✅ Fast list-only mode — turn detail scraping off for a quick overview when you do not need the full content.
  • ✅ Deduplication — every job keyed by a stable jobId, safe to merge across scheduled runs.
  • ✅ Reliable at scale — European residential-proxy support, retries with IP rotation, streaming output, and a graceful stop before any run-timeout so you always keep what was collected.
  • ✅ Export anywhere — JSON, CSV, Excel, HTML or via API, with one-click integrations.

🎯 Use cases

  • Recruiters & sourcers — build a daily feed of open roles and hiring companies for a title, skill or region, and reach out before the role is filled.
  • Staffing & recruiting agencies — turn job posts into a prospecting list; companies that are hiring are companies that are investing.
  • SaaS & B2B sales teams — target growing teams using company name, profile link and location as buying signals.
  • Compensation & HR analysts — benchmark pay by role, seniority and city with structured salary ranges — a low-cost alternative to expensive salary databases.
  • Labour-market & skills researchers — measure demand for roles, technologies and remote/hybrid work across the DACH market.
  • Competitive-intelligence teams — monitor a specific employer's openings, locations and headcount velocity.
  • Job-board & aggregator operators — ingest StepStone listings into your own site or ATS with a clean, stable schema.
  • Data & BI teams — feed a warehouse or dashboard with fresh, typed job records on a schedule.

📥 Input

Configure the run with a few simple fields. Use keyword + location for the easy path, or startUrls for full control.

FieldTypeDescription
keywordstringJob title / keyword to search, e.g. software developer, pflegefachkraft, marketing manager. Leave empty for a broad, mixed sample of popular jobs.
domainselectStepStone country site for keyword search: de (Germany) or at (Austria).
locationselectPopular city to focus the search (Berlin, München, Hamburg, Wien, …), or All locations for a country-wide search.
locationCustomstringOptional free-text city/region that overrides the dropdown, e.g. karlsruhe, bonn, basel.
radiusintegerSearch radius in km around the location (0 = tight to the city).
scrapeDetailsbooleanOpen each job for full description, salary, benefits, apply URL, etc. Default on; turn off for a faster list-only run.
maxItemsintegerMaximum number of jobs. 0 = no limit.
maxPagesPerSearchintegerMaximum result pages per search (each ≈ 25 jobs). 0 = no limit.
startUrlsarrayStepStone search-result URLs (any country, your own filters) or individual job URLs.
proxyConfigurationobjectProxy settings. European residential proxy strongly recommended (pre-filled).
requestDelayintegerDelay between requests in milliseconds.
maxConcurrencyintegerParallel detail-page requests.

Example 1 — keyword search (Germany)

{
"keyword": "software developer",
"location": "berlin",
"domain": "de",
"scrapeDetails": true,
"maxItems": 400,
"maxPagesPerSearch": 30,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "DE"
}
}

Example 2 — your own filtered Start URLs

Search StepStone in your browser with whatever filters you like (employment type, seniority, radius, date posted, salary, remote, etc.), copy the URL, and paste it in:

{
"startUrls": [
"https://www.stepstone.de/jobs/data-engineer/in-hamburg?wfh=2",
"https://www.stepstone.at/jobs/marketing/in-wien"
],
"scrapeDetails": true,
"maxItems": 500
}

Example 3 — specific jobs only

{
"startUrls": [
"https://www.stepstone.de/stellenangebote--Senior-Java-Developer--12345678-inline.html"
]
}

Example 4 — fast, list-only overview

{
"keyword": "controller",
"location": "frankfurt-am-main",
"scrapeDetails": false,
"maxItems": 1000
}

📤 Output

Each job is one dataset record. With scrapeDetails enabled (the default) you get the complete field set. Here is a real record from a live software developer run:

{
"jobId": "10478856",
"title": "Software Developer (m/w/d) Defence",
"url": "https://www.stepstone.de/stellenangebote--Software-Developer-m-w-d-Defence-Ulm-FERCHAU-Connecting-People-and-Technologies--10478856-inline.html",
"company": "FERCHAU – Connecting People and Technologies",
"companyUrl": "https://www.stepstone.de/cmp/de/FERCHAU-Connecting-People-and-Technologies-6095/jobs.html",
"companyProfileUrl": "https://www.stepstone.de/cmp/de/FERCHAU-Connecting-People-and-Technologies-6095/jobs.html",
"companyLogo": "https://www.stepstone.de/upload_DE/logo/F/logoFERCHAU-GmbH-6095DE.gif",
"location": "Ulm",
"country": "DE",
"region": null,
"locality": "Ulm",
"postalCode": "89077",
"workFromHome": "Homeoffice möglich",
"contractType": "Feste Anstellung",
"workType": "Homeoffice möglich, Vollzeit",
"employmentType": "FULL_TIME",
"industry": "IT, IT-Softwareentwicklung",
"salary": "52.000 – 80.000 EUR/Jahr (geschätzt)",
"salaryMin": 52000,
"salaryMax": 80000,
"salaryCurrency": "EUR",
"salaryPeriod": "Jahr",
"salaryPredicted": true,
"datePosted": "2026-11-01T03:03:07.533Z",
"validThrough": "2026-12-29T23:34:56.393Z",
"postedRelative": "vor 21 Stunden",
"snippet": "FERCHAU ist eine führende europäische Plattform für Technologie-Dienstleistungen …",
"description": "Technologischer Fortschritt gelingt nur, wenn Visionen zur Realität werden …",
"benefits": "Faszinierende und wegweisende Entwicklung von technologischen Lösungen …",
"applyUrl": "https://www.stepstone.de/stellenangebote--Software-Developer-m-w-d-Defence-Ulm-FERCHAU-Connecting-People-and-Technologies--10478856-inline.html",
"directApply": true,
"searchWhat": "software developer",
"searchWhere": null,
"searchDomain": "de",
"rank": 2,
"scrapedAt": "2026-11-02T00:33:34.856Z"
}

Field reference

FieldDescription
jobIdStepStone job identifier (stable — safe for deduplication).
titleJob title.
urlCanonical job posting URL.
companyHiring company name.
companyUrl / companyProfileUrlStepStone company links (present when available ≈ 72–73%).
companyLogoCompany logo image URL.
locationLocation(s) exactly as shown on the listing.
country / locality / postalCodeParsed address fields (postalCode present when StepStone provides it ≈ 43%).
regionRegion/state — present only when StepStone's structured data includes it (rare; usually null).
workFromHomeRemote / home-office indication (e.g. Homeoffice möglich), derived from the job's work-model data.
contractTypeContract type, e.g. Feste Anstellung, Befristeter Vertrag, Ausbildung, Praktikum.
workTypeWorking-time / model, e.g. Vollzeit, Teilzeit, Homeoffice möglich, Vollzeit.
employmentTypeNormalised schema.org employment type (FULL_TIME, PART_TIME, …).
industryIndustry / job function.
salarySalary as a formatted string — real range or StepStone estimate.
salaryMin / salaryMaxNumeric salary range bounds.
salaryCurrencySalary currency (ISO, e.g. EUR).
salaryPeriodSalary period (Jahr / Monat / Stunde).
salaryPredictedtrue when the salary is a StepStone estimate rather than employer-stated.
datePosted / validThroughISO posting and expiry dates.
postedRelativeHuman-readable recency, e.g. vor 21 Stunden.
snippetShort teaser from the results page.
descriptionFull job description text.
benefitsBenefits section text (present when the listing has a benefits block ≈ 95%).
applyUrlApplication link.
directApplyWhether the job can be applied to directly on StepStone.
searchWhat / searchWhere / searchDomainThe query that produced the record.
rankPosition within the search results.
scrapedAtISO timestamp of scraping.

Honest note on coverage: identity and content fields (jobId, title, url, company, location, companyLogo, employmentType, industry, datePosted, description, applyUrl) populate on ~100% of jobs. Structured salary appears on ~86% of jobs (StepStone states or estimates a salary); contractType, workType and benefits on ~95%. region is genuinely optional — StepStone rarely publishes it, so it is usually null. Turn scrapeDetails off for a fast, lightweight list (title, company, location, snippet, posting date) when you only need an overview.


🔁 Pagination & scale

The Actor paginates StepStone search results automatically. For each search it fetches page 1, 2, 3, … (?page=N, ~25 jobs per page), parses every job card, deduplicates by jobId, enriches each job from its detail page (when scrapeDetails is on), and streams records into the dataset as it goes. It keeps going until it reaches your maxItems cap, your maxPagesPerSearch cap, or the last available page — comfortably returning hundreds to thousands of de-duplicated records per run. In a representative live run it collected 401 unique jobs across 18 result pages with zero duplicates. Because output streams live and the Actor stops gracefully before any run-timeout, large runs always keep what was collected.


⚙️ How to use

  1. Open the Actor on the Apify Console and set keyword and location (or paste startUrls).
  2. Keep the residential proxy suggested in the input (European residential IPs are the most reliable).
  3. Set maxItems / maxPagesPerSearch to control volume, and scrapeDetails on/off for depth vs speed.
  4. Click Start. Watch results stream into the dataset live.
  5. Export as JSON, CSV, Excel, HTML or via API — or connect to Google Sheets, Make, Zapier, Slack, Airbyte or a webhook.

Run on a schedule

Use the platform Scheduler to run the same query every day or week. Each run captures the newest postings, and because every job has a stable jobId, you can safely deduplicate and build a historical dataset — ideal for trend analysis, salary tracking and "new jobs today" alerts.

Run it via API & integrations

Every run can be started, monitored and its data fetched programmatically through the standard Apify API and official client libraries, so you can wire StepStone data straight into your own systems. One-click integrations push results to Google Sheets, Slack, Make, Zapier, Airbyte, webhooks and more.


💡 Tips

  • Use residential proxies — datacenter IPs are blocked; European residential IPs give the most reliable results.
  • Be specific — a focused keyword + location returns more relevant jobs and runs faster than a broad nationwide sweep.
  • Split big jobs — run separate searches per city or per role rather than one giant query; it is faster, easier to schedule and easier to debug.
  • List first, then enrich — run list-only mode to gauge volume, then enable details for the slice you actually need.
  • Filter home-office roles — workType / workFromHome flag jobs marked Homeoffice möglich, so you can keep only remote-friendly listings.
  • Deduplicate on jobId when merging runs over time, and use datePosted / postedRelative to keep only fresh postings.
  • Tune concurrency — raise maxConcurrency for speed, lower it (and raise requestDelay) if you ever see rate-limiting on very large runs.

❓ FAQ

Is scraping StepStone legal? This Actor collects only publicly available job-posting data that anyone can view on StepStone without logging in. As with any scraping, use the data responsibly, respect personal-data regulations (GDPR), and follow StepStone's terms — you are responsible for your own use.

How many jobs can it return and how fast? As many as the search exposes. In a live test it returned 401 unique jobs across 18 pages in about 5 minutes with full detail enrichment. Use maxItems to cap the total and maxPagesPerSearch to cap pages per search; set both to 0 for no limit. List-only mode is several times faster.

Do I need proxies or a login? No login — ever. A European residential proxy is strongly recommended (and pre-filled); datacenter IPs are blocked by StepStone, so keep residential enabled for reliable results.

Does it really get salary data? Yes. When StepStone provides a salary — employer-stated or estimated — it is captured both as a formatted salary string and as structured salaryMin, salaryMax, salaryCurrency and salaryPeriod, with salaryPredicted flagging estimates. In a typical run ~86% of jobs carry a salary.

Why is salaryPredicted often true? Most German and Austrian postings do not state a salary, so StepStone shows its own estimate. The flag lets you keep, weight or exclude estimated salaries as you prefer.

Which StepStone sites are supported? Keyword search covers stepstone.de (Germany) and stepstone.at (Austria). For other StepStone country sites, paste their search URLs into startUrls.

Can I filter by city, contract type or remote work? Yes — use location/radius for geography, and apply any StepStone filter in your browser (employment type, seniority, date posted, salary, remote) then paste the URL into startUrls. The output's contractType, workType and workFromHome fields also let you filter after the run.

What export formats are available? JSON, CSV, Excel, HTML, RSS and API access, plus one-click integrations to Sheets, Slack, Make, Zapier, webhooks and more.

Is there an API? Yes — run the Actor and fetch its dataset entirely through the Apify API and client libraries, so you can automate StepStone data collection end to end.

How fresh is the data? It is scraped live at run time. Schedule the Actor to keep a continuously updated dataset of the newest postings.

Will large runs fail or time out? No — results stream as they go, and the Actor stops cleanly before any run-timeout, so you always keep what was collected and can resume with a higher limit or longer timeout.

Can I scrape only specific jobs? Yes — paste individual job URLs into startUrls and they are scraped in full detail, regardless of the scrapeDetails toggle.


Building a recruitment, salary-benchmark or lead-generation pipeline across multiple job boards? Pair this StepStone scraper with other job and company data Actors:


Ready to pull live StepStone jobs — with salary, company and full details? Set your keyword and location, click Start, and export to JSON, CSV, Excel or API in minutes.