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

0

Monthly active users

20 hours ago

Last modified

Features

Limited permissions

Share

Apify Actor StepStone DE & AT

Scrape job listings from StepStone — the #1 job board in Germany (stepstone.de) and Austria (stepstone.at) — 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 extracts the job title, hiring company, location, structured salary range (salaryMin, salaryMax, salaryCurrency, salaryPeriod), contract type, remote/hybrid work model, full job description, benefits, ISO posting date, company profile, and application link for every result.

Unlike basic job scrapers that only grab a title and company name from search cards, this StepStone data extractor opens each job posting to capture the complete hiring intelligence record — including structured compensation ranges that ~86–93% of listings expose. Export to JSON, CSV, Excel, or API for recruitment pipelines, B2B lead generation, salary benchmarking, and DACH labor-market intelligence.


⚡ At a glance

FeatureDetails
Target domainsstepstone.de (Germany), stepstone.at (Austria) + any filtered StepStone URL via startUrls
Search modesKeyword + City dropdown / Custom location + Radius (km), Search URLs, or Direct Job URLs
Extracted fields36 structured fields per job — identity, company, location, structured salary, contract/remote model, full text, dates & apply link
Salary intelligencesalary (formatted), salaryMin, salaryMax, salaryCurrency (EUR), salaryPeriod (Jahr/Monat), salaryPredicted (true/false)
Detail enrichmentToggle scrapeDetails: true (default) for full description + salary + benefits, or false for high-speed list overview
Pagination & scaleAutomatic multi-page pagination (?page=N, ~25 jobs/page) + multi-city/keyword expansion for 1,000+ results
Deduplication100% deduplicated in-memory by canonical jobId across all pages and searches
Export formatsJSON, JSONL, CSV, Excel (.xlsx), HTML, XML, RSS, and REST API

🔎 Why scrape StepStone?

StepStone is the dominant recruitment marketplace across the German-speaking DACH region, hosting hundreds of thousands of active vacancies from Mittelstand leaders, DAX enterprises, tech startups, and staffing agencies. Every job listing is a high-intent signal: it reveals which companies are investing, what technology stacks or qualifications they need, where they are expanding, and how much they pay.

Collecting StepStone data manually does not scale. Search results are split across dozens of pages, salary ranges are tucked inside interactive components, full descriptions and benefits sit on individual detail pages, and standard datacenter requests are blocked. A dedicated StepStone job scraper turns the entire job board into a clean, structured dataset you can query, schedule, and pipe directly into your ATS, CRM, or analytics warehouse.

Common reasons teams scrape StepStone

  • 🎯 Recruiting & talent sourcing — build a live feed of open roles for specific titles, skills, or German/Austrian cities and engage hiring managers first.
  • 💶 Salary benchmarking & compensation analytics — analyze salaryMin and salaryMax across roles, seniority levels, industries, and regions.
  • 📈 B2B lead generation & sales prospecting — turn actively hiring companies (company, companyProfileUrl, industry, locality, postalCode) into high-intent outbound prospect lists.
  • 📊 DACH labor-market & skills research — track hiring velocity, remote/hybrid work adoption (Homeoffice möglich), and skill demand over time.
  • 🕵️ Competitive intelligence — monitor competitors' open positions, department expansion, and regional hiring footprint.
  • 🔁 Job board & ATS aggregation — ingest normalized StepStone job postings into your own job portal, career marketplace, or internal database.
  • 🗓️ Automated daily job alerts — schedule recurring runs and deduplicate on jobId to surface only newly published vacancies.

✨ What this StepStone scraper does

  • ✅ Keyword + location search across stepstone.de (Germany) and stepstone.at (Austria), with 19 major DACH cities in a one-click dropdown plus free-text locationCustom and radius (0–100 km).
  • ✅ Start-URL mode (startUrls) — paste any StepStone search URL with custom browser filters applied (remote work, seniority, discipline, date posted, industry) or paste individual job URLs.
  • ✅ Unlocked 1,000+ deep pagination — automatically walks through every result page (?page=1, 2, 3…, ~25 jobs per page) and expands across cities/keywords when maxItems >= 1000, governed cleanly by your maxItems limit.
  • ✅ Full detail-page enrichment (scrapeDetails) — visits each job posting to extract the complete job description, employee benefits, structured salary bounds, contract type, work model, ISO publication/expiration dates, and direct application URL.
  • ✅ Structured compensation fields — parses salaryMin, salaryMax, salaryCurrency, and salaryPeriod as typed fields alongside a salaryPredicted boolean so you can separate employer-stated pay from StepStone salary estimates.
  • ✅ Remote & home-office detection — populates workFromHome (e.g. Homeoffice möglich, Home-Office) and workType (Vollzeit, Teilzeit) so you can filter remote-friendly positions immediately.
  • ✅ Fast list-only mode — set scrapeDetails: false when you only need a rapid scan of titles, companies, locations, relative dates, and snippets.
  • ✅ Zero duplicates & timeout safety — deduplicates every record by jobId, streams items to the dataset in real time, and stops gracefully before any platform timeout so your collected data is always preserved.

🎯 Use cases

PersonaHow they use StepStone Jobs Scraper
Recruitment & Staffing AgenciesAutomate daily discovery of companies hiring for hard-to-fill engineering, healthcare (Pflegefachkraft), finance, and sales roles across Germany and Austria.
B2B Sales & GTM TeamsIdentify growing DACH companies by their active job openings and enrich CRM pipelines with hiring company names, StepStone company profiles, cities, and industries.
HR Tech & People AnalyticsBuild proprietary DACH salary benchmarks using numeric salaryMin / salaryMax ranges segmented by job title, city, and industry.
Job Aggregators & Career PortalsPopulate niche job boards with fresh, schema-normalized vacancies including full descriptions, benefits, company logos, and applyUrl links.
Market & Economic ResearchersMeasure regional labor demand, contract types (Feste Anstellung vs Befristeter Vertrag), and remote-work trends across German federal states and Austrian provinces.
Venture Capital & Private EquityTrack portfolio and target-company headcount velocity by monitoring new job postings and department growth week over week.

📥 Input parameters

Configure the Actor using the visual form in the Apify Console or pass a JSON object via the API. No field is required — an empty input {} automatically collects a diverse sample of popular jobs across Germany.

FieldTypeDefaultDescription
keywordstring"software developer" (prefill)Job title or keyword to search (e.g. software developer, pflegefachkraft, projektmanager, data analyst). Leave empty for a mixed sample across top roles.
domainstring"de"Country site to search: "de" (stepstone.de Germany) or "at" (stepstone.at Austria).
locationstring"" (All locations)Dropdown of 19 major German and Austrian cities (berlin, münchen, hamburg, köln, frankfurt-am-main, wien, graz, etc.) or country-wide.
locationCustomstring""Optional free-text city, town, or region name that overrides the location dropdown (e.g. karlsruhe, bonn, mannheim, linz).
radiusinteger0Search radius in kilometers (0–100) around the selected city. 0 keeps results strictly inside the target location.
scrapeDetailsbooleantrueOpen each job detail page to extract full description, structured salary (salaryMin/salaryMax), benefits, contract type, ISO dates, and applyUrl. Set false for fast list-only mode.
maxItemsinteger0 (50 prefill)Maximum number of unique jobs to collect. 0 = unlimited (empty filter runs cap at 100 by default). Set 1000 or higher for bulk extraction.
maxPagesPerSearchinteger0Maximum result pages per search query (~25 jobs per page). 0 = automatic / unlimited, governed by maxItems.
startUrlsarray[]Optional list of StepStone search-result URLs (with any custom filters applied) or direct individual job posting URLs.
proxyConfigurationobjectDE ResidentialProxy configuration. European residential proxy (RESIDENTIAL, country DE or AT) is pre-configured and strongly recommended.
requestDelayinteger800Polite delay between requests in milliseconds (0–20000).
maxConcurrencyinteger6Number of detail pages fetched in parallel (1–20).

Example 1 — Targeted keyword & city search (Germany)

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

Example 2 — High-volume 1,000+ job extraction

{
"keyword": "ingenieur",
"domain": "de",
"scrapeDetails": true,
"maxItems": 1200,
"maxPagesPerSearch": 0,
"maxConcurrency": 8
}

Example 3 — Filtered StepStone search URLs (startUrls)

Apply any filters on StepStone in your browser (remote/home-office, seniority, full-time/part-time, posted within 7 days), copy the URL, and paste it into startUrls:

{
"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 4 — Fast list-only scan (scrapeDetails: false)

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

📤 Output format & schema

Each job is saved as one normalized JSON object in the dataset. Below 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 by category

FieldTypeCoverageDescription
jobIdstring🟢 High (100%)Unique StepStone job identifier — stable key for cross-run deduplication.
titlestring🟢 High (100%)Full job posting title.
urlstring🟢 High (100%)Canonical StepStone job detail URL.
applyUrlstring🟢 High (~100%)Direct application link (scrapeDetails: true).
directApplyboolean🟢 High (~100%)Whether candidates can apply directly on StepStone.

🏢 Hiring Company (B2B Lead Signals)

FieldTypeCoverageDescription
companystring🟢 High (100%)Name of the hiring organization.
companyUrlstring🟡 Conditional (~73%)Organization URL from structured job data when provided.
companyProfileUrlstring🟡 Conditional (~73%)Link to the employer's StepStone company profile and open jobs page.
companyLogostring🟢 High (~98%)URL of the employer's logo image.
industrystring🟢 High (~98%)Employer industry and job function category (scrapeDetails: true).

📍 Location & Geography

FieldTypeCoverageDescription
locationstring🟢 High (100%)Display location string on the job card (city or multiple cities).
countrystring🟢 High (100%)ISO country code (DE, AT, etc.).
localitystring🟢 High (~95%)Parsed city/municipality from the detail page.
postalCodestring🟡 Conditional (~45%)Postal code (PLZ) when published by the employer.
regionstring🟡 Conditional (<5%)Federal state/region when explicitly included in structured address data.

💶 Compensation & Salary Intelligence

FieldTypeCoverageDescription
salarystring🟢 High (~86–93%)Formatted compensation string (e.g. 52.000 – 80.000 EUR/Jahr (geschätzt)).
salaryMininteger🟢 High (~86–93%)Lower bound of the annual/monthly salary range as an integer.
salaryMaxinteger🟢 High (~86–93%)Upper bound of the annual/monthly salary range as an integer.
salaryCurrencystring🟢 High (~86–93%)ISO currency code (typically EUR).
salaryPeriodstring🟢 High (~86–93%)Pay period (Jahr, Monat, or Stunde).
salaryPredictedboolean🟢 High (100%)true when the range is StepStone's salary model estimate; false when employer-stated.

🕒 Work Model, Contract & Dates

FieldTypeCoverageDescription
contractTypestring🟢 High (~95%)Contract type (e.g. Feste Anstellung, Befristeter Vertrag, Praktikum).
workTypestring🟢 High (~95%)Working time and remote mode (e.g. Homeoffice möglich, Vollzeit, Teilzeit).
workFromHomestring🟡 ConditionalPopulated whenever remote/hybrid/home-office work is indicated (Homeoffice möglich).
employmentTypestring🟢 High (~98%)Normalized employment type (FULL_TIME, PART_TIME, CONTRACTOR, etc.).
datePostedstring🟢 High (~100%)Exact ISO 8601 publication timestamp (scrapeDetails: true).
validThroughstring🟢 High (~95%)ISO 8601 listing expiration timestamp (scrapeDetails: true).
postedRelativestring🟢 High (~95%)Human-readable relative age from the search card (e.g. vor 2 Tagen).

📄 Job Content & Search Metadata

FieldTypeCoverageDescription
snippetstring🟢 High (100%)Short teaser text from the search result card.
descriptionstring🟢 High (~100%)Full plain-text job description (scrapeDetails: true).
benefitsstring🟢 High (~95%)Employee benefits and perks section (scrapeDetails: true).
searchWhatstring🟢 HighKeyword query that discovered this listing.
searchWherestring🟡 ConditionalLocation filter used for the search.
searchDomainstring🟢 High (100%)StepStone country domain (de, at).
rankinteger🟢 High (100%)1-based ranking position within the search query.
scrapedAtstring🟢 High (100%)ISO 8601 timestamp when the record was extracted.

🔁 Pagination & 1,000+ scaling

The Actor paginates StepStone search results automatically:

  • Multi-page traversal: For each search query, it walks page 1, 2, 3… (?page=N, ~25 job cards per page) until maxItems is reached, maxPagesPerSearch is reached (when set > 0), or no more results exist.
  • Automatic multi-city / keyword expansion: When maxItems >= 1000 (with maxPagesPerSearch: 0), if a single search query exhausts its pages before hitting your target, the scraper automatically expands across top German (DE) or Austrian (AT) cities and popular job categories to deliver 1,000+ unique, deduplicated job listings in a single run.
  • Global deduplication: Every job is tracked by its numeric jobId in a global Set, ensuring zero duplicate records even when overlapping searches or cities are combined.

💻 How to use via API

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_API_TOKEN")
run_input = {
"keyword": "software developer",
"location": "berlin",
"domain": "de",
"scrapeDetails": True,
"maxItems": 200,
"maxPagesPerSearch": 0,
}
run = client.actor("haketa/stepstone-scraper").call(run_input=run_input)
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{job['title']} | {job['company']} | {job['salary']} | {job['url']}")

JavaScript / Node.js (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_API_TOKEN' });
const run = await client.actor('haketa/stepstone-scraper').call({
keyword: 'data engineer',
location: 'münchen',
domain: 'de',
scrapeDetails: true,
maxItems: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Extracted ${items.length} StepStone jobs:`, items[0]);

💡 Best practices & tips

  • Keep European residential proxies enabled — StepStone blocks standard datacenter IPs. The default RESIDENTIAL proxy configuration (DE) ensures smooth, uninterrupted extraction.
  • Leave maxPagesPerSearch at 0 for large runs — setting maxPagesPerSearch: 0 lets maxItems control the exact stop point, whether you want 50 jobs or 2,000+ jobs.
  • Use scrapeDetails: false for rapid market sizing — list-only mode fetches 25 jobs per single HTTP request and finishes 1,000+ listings in under a minute.
  • Filter remote roles easily — inspect workFromHome and workType for Homeoffice möglich or pass a pre-filtered remote URL (?wfh=2) in startUrls.
  • Schedule daily incremental runs — combine the Apify Scheduler with webhook/Make/Zapier integrations and deduplicate on jobId to trigger instant alerts on newly posted roles.

⚠️ Limitations

  • Residential proxy requirement: Because StepStone protects its pages against datacenter traffic, runs without residential proxies will fail or return 0 results.
  • Region field sparsity: StepStone's structured address data rarely populates region (federal state), whereas locality (city), postalCode, and country are reliably populated.
  • Predicted vs. stated salaries: When an employer does not state an explicit salary range in the ad, StepStone provides a calculated benchmark (salaryPredicted: true). Both are clearly distinguished in the output.

❓ FAQ

How many jobs can StepStone Jobs Scraper extract?

As many as your search criteria expose — from a quick 50-job sample to 1,000+ deduplicated jobs in a single run. Set maxPagesPerSearch: 0 and set maxItems to your desired total (or 0 for unlimited).

Does this scraper extract real salary numbers?

Yes. Whenever StepStone includes a stated or estimated compensation range on the detail page (~86–93% of listings), the Actor extracts salary (formatted string), salaryMin (integer), salaryMax (integer), salaryCurrency (EUR), salaryPeriod (Jahr/Monat), and salaryPredicted (boolean).

Do I need a StepStone account or cookies?

No. The scraper extracts public job listings without requiring any login, cookies, or account credentials.

Which StepStone countries are supported?

Direct keyword + location search supports Germany (stepstone.de) and Austria (stepstone.at). You can also pass search or job URLs from other StepStone domains via startUrls.

How fast is a typical run?

List-only mode (scrapeDetails: false) collects ~25 jobs per second. Full detail mode (scrapeDetails: true) enriches 6 jobs concurrently by default, collecting 50 full job records in ~20–30 seconds and 400+ full records in ~4 minutes.

Can I scrape only specific job URLs?

Yes. Paste individual StepStone job posting URLs (.../stellenangebote--...html) into startUrls and the Actor will scrape their full details directly.



📋 Changelog

  • v1.2 (2026-11) — Unlocked 1,000+ deep pagination: changed maxPagesPerSearch default to 0 (auto/unlimited governed by maxItems), removed partial-page early break, added automatic multi-city/keyword expansion for 1,000+ runs, and optimized default prefill (maxItems: 50) for fast <30s verification runs.
  • v1.1 (2026-08) — Added automatic workFromHome remote/hybrid signal extraction from work-model chips and Turkish İ/ı input normalization.
  • v1.0 (2026-06) — Initial release with stepstone.de & stepstone.at search, startUrls support, full detail enrichment, and structured salaryMin / salaryMax extraction.
⌂ 换网址