StepStone.de Scraper — Germany's Largest Job Board avatar

StepStone.de Scraper — Germany's Largest Job Board

Pricing

from $0.64 / 1,000 results

Go to Apify Store
StepStone.de Scraper — Germany's Largest Job Board

StepStone.de Scraper — Germany's Largest Job Board

Scrape Stepstone.de, Germany's largest job board. Returns job title, company, company logo, location, contract type, work schedule, labels, remote flags and full job descriptions. Keyword and location search, radius, date and contract filters, deduplication and start URLs.

Pricing

from $0.64 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

4

Bookmarked

75

Total users

19

Monthly active users

4 days ago

Last modified

Share

Stepstone.de Scraper — Germany Job Listings

stepstone-de-scraper

Extract structured job listings from stepstone.de — Germany's largest job board with 200,000+ listings. No API key required.


Why this scraper?

Search by job title, skill, or keyword. Filter by city, region, or Bundesland with configurable radius.

📋 Rich structured output

Every listing includes title, company, company logo, location, contract type, work schedule, and full job description (HTML, plain text, and Markdown). Salary is included where the employer publishes it.

🏷️ Labels & remote flags

Returns Stepstone's own structured metadata per job: job badges (Quick Apply, No Cover Letter), remote/hybrid flag, and a cross-platform job UUID for matching listings across boards.

📅 Age filtering & deduplication

Filter by days since posting. Skip reposts with cross-run deduplication (90-day window) — ideal for daily incremental feeds.

🔗 startUrls support

Paste any Stepstone.de search results page or direct job URL to scrape specific results without re-entering filters.


Input parameters

ParameterTypeDefaultDescription
searchQuerystring"Software Engineer"Job title, keyword, or skill to search for. Examples: "Software Engineer", "Data Analyst", "Ingenieur". Leave empty to browse all listings. Use searchQueries below to run multiple searches in one run.
searchQueriesarray(empty)Run multiple keyword searches in a single actor run. Each item can be a plain string ("Software Engineer") or an object {"query": "Ingenieur", "location": "München"}. Results from all queries are combined. Takes precedence over Search keywords above when provided.
locationstring"Berlin"City, region, or Bundesland to filter by. Examples: "Berlin", "München", "Bayern". Leave empty to search all of Germany.
radiusinteger40Search radius in kilometres around the specified location. Set to 0 for exact location match.
sortBystring"relevance"Sort results by relevance (default Stepstone ranking) or date (newest listings first).
contractTypestring"FULL_TIME"Filter by employment type. Leave empty for all types.
workFromHomestring(empty)Filter by remote work availability. Leave empty for all listings.
daysOldinteger(empty)Only return listings published within the last N days. Leave blank for all listings. Use 1 for today, 7 for the past week.
maxResultsinteger100Maximum number of job listings to return. Set to 0 for no limit. Default is 100 — increase for production runs.
fetchDetailsbooleanfalseON: fetches full job description, salary, company info, and all details. OFF: returns basic listing info only (faster, lower cost).
skipRepostsbooleanfalseSkip listings already seen in previous runs. Uses a 90-day deduplication window stored in Key-Value Store. Ideal for daily incremental feeds — only new listings are returned.
startUrlsarray(empty)Paste specific Stepstone.de search result URLs or job detail page URLs here. When provided, the search query and location filters above are ignored. Useful for pre-filtered searches or bookmarked pages.

Output schema

Always present

FieldTypeDescription
urlstringFull URL of the job listing
jobIdstringStepstone numeric job ID extracted from URL
sourcestringAlways stepstone.de
languagestringAlways de
titlestringJob title
companystringEmployer name
companyUrlstringStepstone company profile URL
companyIdnumberStepstone internal company ID
citystringJob location city
locationstringLocation display string
countrystringAlways DE
contractTypestringEmployment type (FULL_TIME, PART_TIME, CONTRACT, INTERNSHIP)
workSchedulestringWork schedule label
salarystringRaw salary string, when the employer publishes one (often null)
salaryMinnumberMinimum salary, when published (often null)
salaryMaxnumberMaximum salary, when published (often null)
salaryTypestringSalary period (HOUR, MONTH, YEAR), when published
salaryCurrencystringEUR when a salary is present
publishDatestringISO date the listing was posted (YYYY-MM-DD)
publishDateISOstringFull ISO 8601 datetime
daysOldnumberDays since the listing was posted
labelsarrayJob badges e.g. [{"label":"Anschreiben nicht erforderlich","type":"NO_COVER_LETTER"}]
workFromHomestringRemote work flag: "0"=no, "2"=yes/hybrid
postCodestringPostal code of job location (published on a minority of listings)
harmonisedIdstringCross-platform job UUID (e.g. "cd30f8ea-4c6e-4106-9757-ddc74e8e7d1a")
isSponsoredbooleanWhether the listing is a sponsored/paid placement
isTopJobbooleanWhether the listing is marked as a Top Job
isHighlightedbooleanWhether the listing is visually highlighted
textSnippetstringShort HTML snippet shown in search results
isRepostbooleanWhether this listing was seen in a previous run
contentHashstringMD5 hash for downstream deduplication
scrapedAtstringISO 8601 timestamp of when the data was scraped

With fetchDetails: true (additional fields)

FieldTypeDescription
descriptionstringFull job description as HTML
descriptionTextstringFull description as plain text
descriptionMarkdownstringFull description as Markdown
expiryDatestringListing expiry date (ISO date)
summarystringFirst 200 characters of the description

Example record

{
"url": "https://www.stepstone.de/stellenangebote--Software-Engineer-Berlin-Acme-GmbH--12345-inline.html",
"jobId": "12345",
"source": "stepstone.de",
"language": "de",
"title": "Senior Software Engineer (m/w/d)",
"company": "Acme GmbH",
"companyUrl": "https://www.stepstone.de/cmp/de/acme-gmbh-12345/jobs",
"companyId": 12345,
"city": "Berlin",
"country": "DE",
"contractType": "FULL_TIME",
"salary": null,
"salaryMin": null,
"salaryMax": null,
"publishDate": "2026-06-10",
"labels": [{"label": "Anschreiben nicht erforderlich", "type": "NO_COVER_LETTER"}],
"workFromHome": "2",
"harmonisedId": "cd30f8ea-4c6e-4106-9757-ddc74e8e7d1a",
"isSponsored": false,
"isTopJob": false,
"scrapedAt": "2026-06-14T12:00:00.000Z"
}

Examples

Software engineers in Berlin

{
"searchQuery": "Software Engineer",
"location": "Berlin",
"maxResults": 100
}

Safety roles with skills filter (nationwide)

{
"searchQuery": "Functional Safety Manager",
"maxResults": 50,
"fetchDetails": true
}

Recent roles in Munich with full descriptions

{
"searchQuery": "Produktmanager",
"location": "München",
"daysOld": 14,
"maxResults": 100,
"fetchDetails": true
}

Daily incremental feed — new listings only

{
"searchQuery": "Softwareentwickler",
"location": "Hamburg",
"daysOld": 1,
"skipReposts": true,
"maxResults": 1000
}

💰 Pricing

$0.8 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.

ResultsCost
100~$0.08
1,000~$0.8
10,000~$8
100,000~$80

Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Use the Max results cap in the input to control your spend exactly.


Performance

  • ~25 jobs per list page, no browser required
  • fetchDetails: false: ~50–100 jobs/minute
  • fetchDetails: true: ~5–10 jobs/minute (one extra request per job)
  • Memory: 512 MB

Technical details

  • Source: stepstone.de — Germany's largest job board
  • Memory: 512 MB
  • Repost storage: KeyValueStore stepstone-de-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request

Known limitations

  • Salary is published by very few employers on Stepstone.de, so salary, salaryMin and salaryMax are null on most listings. When an employer publishes a range, it is captured.
  • postCode is provided on a minority of listings and is null otherwise.
  • Job descriptions require fetchDetails: true, which fetches each listing's detail page.

Other scrapers in our Jobs — Germany, Austria & Switzerland collection:


Run it on a schedule

This actor is built for repeat use. Set it to run daily, weekly, or hourly, and the data keeps flowing without you touching it.

  • Schedule runs — open the actor, go to Schedules, and pick a cadence. Each run only charges you for the results it returns.
  • Connect it to your stack — push results straight to Google Sheets, Slack, a webhook, or your database using Apify Integrations. No glue code needed.
  • Pull results via API — every run writes a clean dataset you can fetch with one API call, ready for whatever you build on top of it.

Set it once and it runs on its own.


Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl