Stepstone Job Scraper
Pricing
Pay per event
Stepstone Job Scraper
Scrape job listings from Stepstone.de — Germany's #1 job board. Extract job title, company, location, salary range, employment type, and work-from-home status. Export to JSON, CSV, or Excel. No API key needed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does the Stepstone Job Scraper do?
The Stepstone Job Scraper extracts job listings from Stepstone.de — Germany's largest job board with 100,000+ active postings. Enter one or more keywords and an optional city to get structured job data: title, company, location, salary range, employment type, work-from-home status, and direct links to apply.
Stepstone.de is a pure HTTP site — no browser needed. This scraper uses lightweight HTTP requests, so it runs on 256 MB RAM (8× cheaper than browser-based competitors) and returns results in seconds.
Try it now: Stepstone Job Scraper on Apify Store
Who is the Stepstone Job Scraper for?
🧑💼 HR teams and recruiters
- Monitor the job market for a specific role across Germany
- Track competitor job postings and hiring velocity
- Build candidate sourcing pipelines with fresh daily data
📊 Market researchers and labour economists
- Analyze salary trends by city, role, and industry
- Map workforce demand across German regions
- Study employment type distributions (full-time vs. contract vs. part-time)
🛠️ Developers and data engineers
- Power internal job boards or recommendation engines
- Feed HR analytics dashboards with live Stepstone data
- Automate job alert systems for candidates in your product
📈 Business intelligence teams
- Track hiring trends at specific companies
- Benchmark job density in target markets for expansion planning
- Export cleaned data to Google Sheets, Airtable, or data warehouses
Why use the Stepstone Job Scraper?
- ✅ Lightweight and fast — pure HTTP with got-scraping, no headless browser, runs on 256 MB (competitors use 2048 MB)
- ✅ No API key or account required — works out of the box
- ✅ Structured output — flat JSON with consistent field names; no post-processing required
- ✅ Full pagination support — get 25 to 2,700+ results per search query
- ✅ Multiple keywords — run several searches in one actor call
- ✅ Radius search — filter by city + distance in km
- ✅ Export anywhere — JSON, CSV, Excel, or connect to 1,000+ apps via Apify integrations
- ✅ Scheduled runs — automate daily or weekly scraping with Apify's built-in scheduler
What data can you extract from Stepstone.de?
Each scraped job listing includes these fields:
| Field | Description | Example |
|---|---|---|
id | Stepstone job ID | "13510716" |
title | Full job title | "Software Engineer (w/m/d)" |
companyName | Employer name | "Capgemini Deutschland GmbH" |
companyLogoUrl | URL to company logo image | "https://www.stepstone.de/upload_DE/..." |
url | Direct link to the job posting | "https://www.stepstone.de/stellenangebote--..." |
location | City or cities | "Berlin" or "Berlin, Hamburg, München" |
postCode | Postal code (when available) | "10115" |
salaryText | Formatted salary range | "60.000 - 80.000 EUR" |
salaryMin | Minimum salary (numeric, EUR) | 60000 |
salaryMax | Maximum salary (numeric, EUR) | 80000 |
salaryCurrency | Salary currency | "EUR" |
datePosted | ISO 8601 posting date | "2026-03-31T12:20:02+02:00" |
workFromHome | Remote/hybrid work available | true or false |
employmentType | Contract type | "Full-time", "Part-time", "Contract" |
scrapedAt | Timestamp of extraction | "2026-04-01T04:10:00.000Z" |
Note on salary: German employers are not required to publish salary ranges, so many Stepstone listings omit salary data. The
salaryText,salaryMin, andsalaryMaxfields will benullwhen no salary is provided by the employer.
How much does it cost to scrape Stepstone.de?
This actor uses Pay-Per-Event (PPE) pricing — you pay only for what you scrape, with no minimum commitment.
| Event | FREE tier | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Run started | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 |
| Per job scraped | $0.0023 | $0.0020 | $0.00156 | $0.0012 | $0.0008 | $0.00056 |
Real-world cost examples:
| Scenario | Jobs | Approx. cost (FREE) | Approx. cost (GOLD) |
|---|---|---|---|
| Quick test | 20 | ~$0.051 | ~$0.029 |
| Single keyword search | 100 | ~$0.235 | ~$0.125 |
| Multi-keyword research | 500 | ~$1.16 | ~$0.61 |
| Daily monitoring batch | 2,000 | ~$4.61 | ~$2.41 |
Free plan: Apify gives every new account $5 in free credits. That's enough to scrape ~2,100 job listings on the FREE tier — plenty to evaluate this tool before committing.
How to scrape Stepstone.de step by step
- Go to the actor page: apify.com/automation-lab/stepstone-scraper
- Click "Try for free" — create a free Apify account if you don't have one
- Enter your keywords — job titles or roles (e.g.,
Software Engineer,Projektmanager,Data Analyst) - Set a location (optional) — city name like
Berlin,München, orHamburg - Set a radius — how many km around that city to search (default: 30 km)
- Set max results — how many jobs to scrape (default: 100; up to 10,000+)
- Click "Save & Run" — the actor starts immediately
- Download results — export to JSON, CSV, Excel, or connect to your pipeline
Example input for software jobs in Berlin:
{"keywords": ["Software Engineer", "Backend Developer"],"location": "Berlin","radiusKm": 30,"maxResults": 200}
Example input for HR analytics — Germany-wide search:
{"keywords": ["Personalreferent", "HR Manager", "Recruiter"],"maxResults": 500}
Example input for a single quick test:
{"keywords": ["Data Scientist"],"location": "München","radiusKm": 50,"maxResults": 25}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
keywords | array of strings | required | Job search keywords. Each keyword runs as a separate search. Use German or English terms. |
location | string | "" (all Germany) | City or region to filter by. Examples: Berlin, München, Frankfurt am Main. |
radiusKm | integer | 30 | Search radius in km around the location. Only applies when location is set. Range: 0–200. |
maxResults | integer | 100 | Maximum total jobs to scrape across all keywords. Increase for bulk research. |
maxRequestRetries | integer | 3 | Retries for failed HTTP requests. Increase if you see intermittent failures. |
Output examples
A typical output item looks like:
{"id": "13510716","title": "Software Engineer (w/m/d)","companyName": "Capgemini Deutschland GmbH","companyLogoUrl": "https://www.stepstone.de/upload_DE/logo/9/logoCapgemini-Deutschland-GmbH-2692DE-2601160927.gif","url": "https://www.stepstone.de/stellenangebote--Software-Engineer-w-m-d-Berlin-Capgemini-Deutschland-GmbH--13510716-inline.html","location": "Berlin","postCode": null,"salaryText": null,"salaryMin": null,"salaryMax": null,"salaryCurrency": null,"datePosted": "2026-03-31T12:20:02+02:00","workFromHome": true,"employmentType": null,"scrapedAt": "2026-04-01T04:13:57.558Z"}
A job with salary data:
{"id": "13600100","title": "Senior Buchhalter (m/w/d)","companyName": "KPMG AG","companyLogoUrl": "https://www.stepstone.de/upload_DE/logo/...","url": "https://www.stepstone.de/stellenangebote--Senior-Buchhalter-m-w-d-Frankfurt-KPMG--13600100-inline.html","location": "Frankfurt am Main","postCode": "60308","salaryText": "55.000 - 75.000 EUR","salaryMin": 55000,"salaryMax": 75000,"salaryCurrency": "EUR","datePosted": "2026-03-28T08:00:00+02:00","workFromHome": false,"employmentType": "Vollzeit","scrapedAt": "2026-04-01T04:13:57.000Z"}
Tips for best results
- 🔍 Use German job titles for more results — Stepstone.de is primarily German-language. Searching
Softwareentwicklerreturns more German-specific results thanSoftware Engineer, though both work. - 📍 Try different radius values — A 30 km radius works well for cities. Use 100–200 km for regional coverage or 0 for exact city matches.
- 🔁 Schedule daily runs — Stepstone listings are refreshed frequently. Set up a recurring run (Apify scheduler) to maintain a fresh dataset.
- 📊 Export to Google Sheets — Use the Google Sheets integration to build a live job market dashboard that auto-refreshes.
- 🧩 Use multiple keywords — A single actor run can handle 5–10 keywords, returning results from each. Separate results by checking the keyword each job was found with (results are ordered by keyword).
- 💰 Keep
maxResultslow during testing — Start with 25 to validate your keywords before scaling to 500+. - 🕐 Run during business hours (German time) — Stepstone posting volume peaks Monday–Wednesday mornings (CET). Fresh listings appear faster if you scrape between 8–11 AM.
Integrations
Stepstone → Google Sheets (live job market dashboard)
Connect the actor output to Google Sheets using the Apify integration. Set up a scheduled run every morning at 7 AM to get fresh job data automatically. Build a pivot table to track hiring velocity by company or location.
Stepstone → Slack / Teams (job alert bot)
Use Apify Webhooks to trigger a Slack message whenever the actor finds new postings for a specific keyword. Set up a webhook that posts to #job-alerts with the job title, company, and URL. Combine with a filter task to only alert on senior roles or remote positions.
Stepstone → Airtable (candidate tracking)
Push Stepstone results directly into an Airtable base using the Apify → Airtable integration. Create a base with columns matching the output fields. Run the actor daily and deduplicate by job ID to maintain a curated, searchable database.
Stepstone → BigQuery / Snowflake (BI pipeline)
Use the Apify API to pull JSON results into your data warehouse on a cron schedule. Join with your internal HR data or competitor intelligence to build workforce analytics models.
Scheduled monitoring run
{"keywords": ["Produktmanager", "Product Manager"],"location": "Berlin","maxResults": 100}
Run this every day at 6 AM. Get notified when new listings appear and track which companies are hiring for this role.
Using the Apify API
You can call the Stepstone Scraper programmatically via the Apify API.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('automation-lab/stepstone-scraper').call({keywords: ['Software Engineer'],location: 'Berlin',radiusKm: 30,maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Scraped ${items.length} jobs`);items.forEach(job => console.log(job.title, '—', job.companyName, '—', job.location));
Python
from apify_client import ApifyClientclient = ApifyClient(token="YOUR_APIFY_TOKEN")run = client.actor("automation-lab/stepstone-scraper").call(run_input={"keywords": ["Software Engineer", "Backend Developer"],"location": "Berlin","radiusKm": 30,"maxResults": 100,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(f"Scraped {len(items)} jobs")for job in items:print(f"{job['title']} — {job['companyName']} — {job['location']}")
cURL
# Start a runcurl -X POST \"https://api.apify.com/v2/acts/automation-lab~stepstone-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": ["Projektmanager"],"location": "München","radiusKm": 50,"maxResults": 100}'# Fetch results (replace RUN_ID and DATASET_ID with values from run response)curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_APIFY_TOKEN&format=json"
Use with AI agents via MCP
Stepstone Job Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Add the Apify MCP server to your AI client — this gives you access to all Apify actors, including this one:
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Your AI assistant will use OAuth to authenticate with your Apify account on first use.
Example prompts
Once connected, try asking your AI assistant:
- "Use automation-lab/stepstone-scraper to find all Data Engineer jobs in Frankfurt within 50 km posted this week"
- "Scrape 200 software developer jobs from Stepstone.de in Berlin and tell me which companies are hiring the most"
- "Get the latest Backend Developer listings from Stepstone for Hamburg and export them to a CSV"
Learn more in the Apify MCP documentation.
Is it legal to scrape Stepstone.de?
Web scraping publicly available data for non-commercial research, journalism, or personal use is generally considered lawful in the EU under the principle that publicly accessible information on the internet can be freely accessed. Stepstone.de displays job listings without requiring a login or account — this data is intentionally public.
Important guidelines for responsible use:
- Only scrape publicly visible data — do not attempt to access login-protected pages
- Respect
robots.txtas a guide to the site's preferences (though not legally binding in most EU jurisdictions) - Use the data in compliance with GDPR — do not store personal data of identifiable individuals longer than necessary
- Do not use this tool to republish Stepstone's content commercially or in a way that competes with their core business
- Rate-limit your requests — this actor includes built-in delays to avoid overloading Stepstone's servers
This actor is intended for HR analytics, labor market research, candidate sourcing tooling, and business intelligence. If you are unsure whether your specific use case is compliant with Stepstone's Terms of Service or local law, consult a legal professional.
Apify's Web Scraping Legal Explainer provides a broader overview.
FAQ
How many jobs can I scrape per keyword?
Stepstone.de shows up to 2,700+ results per search query. The actor paginates through all available pages (25 jobs per page). For most keyword + location combinations, you'll find 25–500 results. Broad searches like "Ingenieur" in Germany may return 2,000+.
How much does it cost to scrape 100 jobs? On the FREE tier: ~$0.235 (100 jobs × $0.0023 + $0.005 start fee). On the GOLD tier: ~$0.125. See the Pricing section above for more examples.
Why are salary fields empty for most listings?
German employers are not legally required to disclose salary ranges. In practice, fewer than 20% of Stepstone.de listings include salary data. When salary is available, the salaryText, salaryMin, salaryMax, and salaryCurrency fields are populated. When not available, they are null — not a scraper bug.
Why does workFromHome show true for many jobs?
Stepstone uses a numeric code internally: "0" = fully on-site, "2" = hybrid or remote-friendly. The actor maps any non-"0" value to workFromHome: true. If you need to distinguish hybrid from fully remote, note that Stepstone's search results data does not expose this level of detail — you would need to visit the individual job page.
How fast is the scraper? Typical throughput is 25–50 jobs per minute (limited by request delays to be polite). A search of 100 jobs takes ~2–4 minutes. A large batch of 2,000 jobs takes ~40–80 minutes.
Can I scrape jobs from other Stepstone markets (Belgium, Netherlands, Denmark, Austria)? This actor is designed for Stepstone.de (Germany). Other country sites use slightly different URL structures. If you need data from stepstone.be, stepstone.nl, or equivalent, contact the actor author.
Why do I see results for seemingly wrong keywords?
Stepstone's search engine uses semantic matching and always returns recommended results, even for obscure or misspelled keywords. If you search zzz-test-xyz, you'll still get ~500 general listings from Stepstone's recommendation engine. This is Stepstone behavior, not a scraper bug.
Why are some pages returning duplicate jobs? Stepstone's recommendation/regional extension system may show the same listing on multiple result pages. The actor deduplicates by job ID, so your final dataset contains only unique listings.
Other job scrapers
Looking for job data from other markets? Check out these automation-lab actors:
- Seek.com.au Job Scraper — Australia's #1 job board
- Naukri.com Job Scraper — India's largest job portal
- LinkedIn Jobs Scraper — Global LinkedIn job listings
- Google Jobs Scraper — Jobs indexed by Google across all sources
- Greenhouse Jobs Scraper — Tech company jobs via Greenhouse ATS