StepStone Jobs Scraper avatar

StepStone Jobs Scraper

Pricing

Pay per event

Go to Apify Store
StepStone Jobs Scraper

StepStone Jobs Scraper

Pricing

Pay per event

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

A StepStone scraper that returns job postings from Germany, Austria and Belgium with the job link resolved correctly, the employer profile, the location, the posting age and whether StepStone holds a salary estimate for the role.

No proxy, no browser, no impersonation. An access probe graded stepstone.de as an open target, so this actor spends nothing getting in.

What you get

  • The job link, not the employer link. A StepStone card contains two anchors and the obvious one points at the company profile. Reading a[href] gives you employer pages for every row, which is the single most common way a StepStone scraper produces a useless dataset
  • salary_available_on_page, a flag for whether StepStone has a salary estimate behind its show-salary control. In a validation run, 46 of 50 jobs had one. No other jobs actor surfaces this
  • Employer profile URL alongside the employer name, so postings group per company without a name match
  • Work-from-home badge, contract type and work type where the card carries them
  • Three markets: Germany, Austria and Belgium
  • Stable job ids parsed from the card, so scheduled runs deduplicate exactly
  • 25 jobs per page with real pagination, up to 500 per run
  • Charged per job, plus a flat $0,002 start fee

Why this one is cheap to run

The second finding was where the data is not. StepStone assigns window.__PRELOADED_STATE__ piecewise, and its only slices are the header, the footer, a modal and the search bar. There is no job list in any state envelope, so the rendered card is the surface, and [data-at="job-item"] is a test hook rather than a styling class, which is what makes it survive the CSS-hash churn that breaks class-based selectors.

Input

FieldTypeRequiredDefaultWhat it does
querystringyesdata engineerJob title or keyword
locationstringnoCity or region, for example Berlin
marketselectnodeGermany, Austria or Belgium
urlstringnoA StepStone search URL to read instead
radiusintegernoSearch radius in kilometres
sortselectnorelevanceRelevance or most recent
limitintegerno50Jobs to return, 1 to 500
retriesintegerno3Retry attempts per page

Output

{
"position": 1,
"job_id": "14439627",
"title": "Requirements- & Data-Engineer*",
"url": "https://www.stepstone.de/stellenangebote--Requirements-Data-Engineer-Koeln-...",
"company": "BarmeniaGothaer",
"company_url": "https://www.stepstone.de/cmp/de/barmeniagothaer-29978/jobs",
"location": "Köln, Wuppertal",
"posted_relative": "vor 21 Stunden",
"work_from_home": true,
"salary_available_on_page": true,
"salary_text": null,
"is_promoted": false,
"market": "de",
"query": "data engineer"
}

Use cases

Recruitment market mapping in DACH. StepStone is the dominant board in Germany and Austria, where Indeed is weaker than it is in English-speaking markets. Run your competitor set as queries and your region as the location, group by company_url, and you see who is hiring hard.

Feeding a job board or aggregator. Job ids are stable and the URL points at the posting rather than the employer, so a scheduled run with sort: date deduplicates cleanly into an index.

Finding roles with published pay. Filter on salary_available_on_page. StepStone computes an estimate for most postings but hides it behind a control, and knowing which roles have one is the difference between a targeted follow-up and opening fifty tabs.

Hiring-signal tracking. A company that posts fifteen engineering roles in a month is expanding. Run their name as a query weekly, count rows, and you have an indicator that arrives before any announcement.

How it compares

this actorcheap_scraper/indeed-job-scraperborderline/indeed-scraper
Per 1.000 jobs$1,10$1,00$5,00
Covers StepStoneyesnono
Job link resolved correctlyyesn/an/a
Salary-estimate flagyesnono
Employer profile URLyesnono
Needs a proxy or browserno

Honest about the other side: nothing on the Store covers StepStone, so the comparison is against Indeed scrapers on a different board. If your market is the US or UK, an Indeed actor will serve you better. StepStone is where the DACH market actually posts.

Pricing

Two events. A flat run_start of $0,002 covers the run, and job costs $0,0011 per posting returned, which is $1,10 per 1.000. Beyond the start fee you only pay for jobs you actually receive.

Limits and gotchas

  • The salary figure is not on the card. StepStone shows a "Gehalt anzeigen" control and reveals the range behind a click. salary_available_on_page tells you an estimate exists; retrieving the number would be a second fetch per row and this actor does not make it.
  • location can list several cities for one posting, exactly as StepStone renders it. Split it yourself if you need one city per row.
  • Promoted postings appear in results and are flagged. Filter them out before counting a market.
  • 500 jobs per run across 20 pages of 25. Beyond that, narrow the query or add a location.
  • German search terms work better on the German and Austrian sites than English ones, even for technical roles.
  • The route is a measurement, not a fact. StepStone is open today. If that changes, the failure will be a short body rather than an error, which is why the actor checks the response size rather than the status code.

FAQ

Do I need a proxy for StepStone? No. It was measured as an open target: any client, any headers, any IP. Adding a proxy would cost money and buy nothing.

Why do other StepStone scrapers return company pages instead of jobs? Because each card holds two anchors and the first is the employer profile. The job link lives on the title element specifically.

Can I get the salary? You get whether StepStone has an estimate for the role. The figure itself sits behind a click on the job page, which is a second request per job.

Which countries are covered? Germany, Austria and Belgium, which is StepStone's own footprint.

How do I only get new postings? Set sort to date and deduplicate on job_id against your previous run.