Stepstone.de Germany Scraper
Pricing
from $1.50 / 1,000 results
Stepstone.de Germany Scraper
Scrape stepstone.de for structured German job data: titles, companies, salary ranges & full descriptions (HTML, text, Markdown). 50,000+ listings with employment type, location and keyword filters. Repost detection & daysOld filtering. No API key required.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Actor stats
1
Bookmarked
5
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Stepstone Germany Scraper
Extract structured job data from stepstone.de — Germany's largest job board with 50,000+ active listings. No API key required. Returns job titles, companies, salaries, contract types and full descriptions in three formats.

Why use this scraper?
- 50,000+ live listings across all German industries and regions
- Salary data — where published by the employer (
salaryMin,salaryMax,salaryType) - Three description formats — HTML, plain text and Markdown for any downstream workflow
- Repost detection — flags jobs seen in previous runs so you only process new listings
daysOldfilter — restrict results to recently posted jobsstartUrlssupport — feed specific search pages or individual job URLs- German umlaut handling — ä, ö, ü and ß in keywords and locations are resolved automatically
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | developer | Job title, keyword or skill (German umlauts supported) |
location | string | Berlin | City or region (German umlauts supported) |
radius | integer | 40 | Search radius in km (5–100) |
maxItems | integer | 100 | Maximum number of results to return |
daysOld | integer | — | Only return jobs posted within this many days |
skipReposts | boolean | false | Exclude jobs seen in a previous run |
startUrls | array | — | Specific Stepstone.de search or job detail URLs to scrape |
Example input
{"searchQuery": "Softwareentwickler","location": "München","radius": 30,"maxItems": 200,"daysOld": 14,"skipReposts": true}
Output schema
Each result contains 29 fields:
| Field | Type | Description |
|---|---|---|
url | string | Direct URL to the job detail page |
jobId | string | Stepstone job identifier |
source | string | Always stepstone.de |
language | string | Always de |
title | string | Job title |
company | string | Employer name |
companyUrl | string | Employer website (if available) |
companyLogo | string | Company logo URL |
city | string | City of the role |
location | string | Location string |
country | string | Always DE |
contractType | string | FULL_TIME, PART_TIME, CONTRACT or INTERNSHIP |
workSchedule | string | Work schedule description |
salary | string | Human-readable salary range |
salaryMin | number | Minimum salary (where published) |
salaryMax | number | Maximum salary (where published) |
salaryType | string | Salary period: HOUR, MONTH or YEAR |
publishDate | string | Publication date (YYYY-MM-DD) |
publishDateISO | string | Publication date in ISO 8601 format |
daysOld | integer | Days since publication |
expiryDate | string | Listing expiry date (YYYY-MM-DD) |
description | string | Full job description (HTML) |
descriptionText | string | Full job description (plain text) |
descriptionMarkdown | string | Full job description (Markdown) |
isRepost | boolean | true if this job was seen in a previous run |
originalPublishDate | string | Date first seen across runs |
originalUrl | string | URL when first seen |
summary | string | First 200 characters of the description |
contentHash | string | MD5 hash for deduplication in downstream workflows |
scrapedAt | string | ISO timestamp of when this record was scraped |
Example output
{"url": "https://www.stepstone.de/stellenangebote--Senior-Software-Engineer-Berlin-Acme-GmbH--12345678-inline.html","jobId": "12345678","source": "stepstone.de","language": "de","title": "Senior Software Engineer","company": "Acme GmbH","companyUrl": "https://www.acme.de","city": "Berlin","country": "DE","contractType": "FULL_TIME","salary": "€70.000 – €90.000 (YEAR)","salaryMin": 70000,"salaryMax": 90000,"salaryType": "YEAR","publishDate": "2026-03-20","publishDateISO": "2026-03-20","daysOld": 8,"description": "<div>...</div>","descriptionText": "We are looking for a Senior Software Engineer...","descriptionMarkdown": "## Your role\n\nWe are looking for...","isRepost": false,"contentHash": "a3f2b1c4...","scrapedAt": "2026-03-28T10:00:00.000Z"}
Performance
| Scenario | Results | Time |
|---|---|---|
| 100 jobs, Berlin, "developer" | 100 | ~4 min |
| 500 jobs, München, "Ingenieur" | 500 | ~18 min |
| 1,000 jobs, Hamburg, mixed queries | 1,000 | ~38 min |
Pricing
$1.50 per 1,000 results — pay only for what you scrape.
| Volume | Cost |
|---|---|
| 100 results | $0.15 |
| 1,000 results | $1.50 |
| 10,000 results | $15.00 |
| 100,000 results | $150.00 |
Competitors charge flat-rate subscriptions of $29–$99/month regardless of usage. This scraper scales with your actual data needs.
Known limitations
- Salary is only available where the employer has published it.
nullis expected for many listings. - Without location — omitting the
locationparameter returns nationwide results. - startUrls and searchQuery — when
startUrlsis provided,searchQueryandlocationare ignored.
Technical details
- Default memory: 256 MB
- Results per page: 25
- Maximum pages per search: ~40 (approximately 1,000 results per search query)
- Repost detection: 90-day rolling fingerprint store per actor run
Additional services
Need a custom scraper, scheduled data delivery or integration support? Contact us at info@unfencedgroup.nl.
unfenced-group — European job board data infrastructure · Apify Store