StepStone.de Scraper - Germany's Leading Job Board avatar

StepStone.de Scraper - Germany's Leading Job Board

Pricing

from $2.50 / 1,000 job serp results

Go to Apify Store
StepStone.de Scraper - Germany's Leading Job Board

StepStone.de Scraper - Germany's Leading Job Board

Extract jobs from StepStone.de, Germany's largest job portal. Get job titles, companies, locations, descriptions, salary info & contact details. Supports search filters (location, Bundesland, employment type, experience level). Optional LLM extraction for requirements & benefits.

Pricing

from $2.50 / 1,000 job serp results

Rating

5.0

(1)

Developer

Alessandro Santamaria

Alessandro Santamaria

Maintained by Community

Actor stats

3

Bookmarked

58

Total users

15

Monthly active users

2.8 hours

Issues response

5 days ago

Last modified

Share

StepStone.de Scraper - Germany's #1 Job Portal

Professional job scraper for StepStone.de, Germany's leading job board with over 200,000+ active job postings across all 16 federal states (Bundesländer) and all major industries.

Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client — Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

Apify MCP server URL:

https://mcp.apify.com?tools=santamaria-automations/stepstone-de-scraper

Example prompt once connected:

"Use stepstone-de-scraper to scrape job listings from stepstone de. Return results as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via add-actor.

Features

  • Comprehensive Coverage: All 16 German federal states (Bayern, Berlin, Hamburg, etc.)
  • Advanced Filtering: Employment type, experience level, location radius, date posted
  • Full Job Details: Optional deep scraping for complete job descriptions
  • Structured Output: Standardized JobListing schema compatible with your data pipeline
  • Multi-Query Search: Run multiple keywords in one execution with automatic deduplication

StepStone.de Overview

StepStone is Germany's #1 job portal, connecting millions of job seekers with employers:

  • 200,000+ active job listings
  • 16 federal states (Bundesländer)
  • All industries and sectors
  • Entry-level to executive positions

Input

FieldTypeDescriptionDefault
directUrlsarrayDirect StepStone.de job URLs to scrape (skips search)-
searchQueriesstring[]One or more search keywords. Each runs as a separate search, results deduplicated.-
searchQuerystringSingle search keyword (backward compatible, use searchQueries for multiple)-
locationstringCity, region, or state name (e.g., "Berlin", "München", "Sachsen")-
radiusintegerSearch radius in km (0, 5, 10, 25, 50, 100, 150, 200)25
bundeslandstringFederal state code (BY, BE, HH, NW, etc.) — used when location is not set-
employmentTypestringFilter by type (FULL_TIME, PART_TIME, FREELANCE, INTERNSHIP, TRAINEE, TEMPORARY)-
experienceLevelstringFilter by level (ENTRY_LEVEL, PROFESSIONAL, MANAGEMENT, EXECUTIVE)-
datePostedstringDays since posted (1, 7, 30)-
sortBystringSort order: date (newest first) or relevanceDefault
maxResultsPerQueryintegerMax results per search keyword100
maxResultsintegerTotal cap across all queries (0 = unlimited)0
includeJobDetailsbooleanVisit detail pages for full datatrue

Output

Each job listing follows the standardized schema:

{
"id": "job-12345",
"title": "Senior Softwareentwickler (m/w/d)",
"company": "Tech GmbH",
"location": "Berlin",
"canton": "BE",
"salary_text": "EUR 60,000 - 80,000 per year",
"employment_type": "full-time",
"workload_min": null,
"workload_max": null,
"remote_option": "remote",
"description_snippet": "Wir suchen einen erfahrenen Softwareentwickler...",
"description_full": "Full job description...",
"requirements": [
"5+ Jahre Erfahrung mit Java/Python",
"Kenntnisse in Cloud-Technologien (AWS, Azure)",
"Teamfähigkeit und selbstständiges Arbeiten"
],
"posted_at": "2026-01-15T10:00:00Z",
"expires_at": "2026-02-15T23:59:59Z",
"source_url": "https://www.stepstone.de/jobs/...",
"source_platform": "stepstone.de",
"contact_firstname": "Maria",
"contact_lastname": "Schmidt",
"contact_salutation": "Frau",
"contact_position": "Personalreferentin",
"contact_email": "jobs@tech-gmbh.de",
"contact_phone": "+49 30 12345678",
"apply_url": "https://...",
"company_url": "https://www.stepstone.de/cmp/de/Tech-GmbH-12345/jobs.html",
"company_website": "https://www.tech-gmbh.de",
"company_job_count": 15,
"company_benefits": [
"Homeoffice möglich",
"30 Tage Urlaub",
"Betriebliche Altersvorsorge"
],
"search_query": "Softwareentwickler",
"scraped_at": "2026-01-16T12:00:00Z"
}

Usage Examples

Example 1: Software Jobs in Berlin

{
"searchQueries": ["Softwareentwickler"],
"location": "Berlin",
"radius": 25,
"employmentType": "FULL_TIME",
"maxResultsPerQuery": 100,
"includeJobDetails": true
}

Example 2: Multiple Keywords — Nursing + Caregiving in Bayern

{
"searchQueries": ["Krankenpfleger", "Altenpfleger", "Pflegefachkraft"],
"bundesland": "BY",
"employmentType": "FULL_TIME",
"datePosted": "7",
"maxResultsPerQuery": 50,
"includeJobDetails": true
}

Results are deduplicated across keywords — a job appearing for both "Krankenpfleger" and "Pflegefachkraft" is only returned once.

Example 3: Remote Marketing Jobs (Last 30 Days)

{
"searchQueries": ["Marketing Manager remote"],
"datePosted": "30",
"maxResultsPerQuery": 100,
"includeJobDetails": true
}

Example 4: Entry-Level Jobs in Hamburg

{
"searchQueries": ["Berufseinsteiger"],
"location": "Hamburg",
"experienceLevel": "ENTRY_LEVEL",
"datePosted": "7",
"maxResultsPerQuery": 50
}

Example 5: Large-Scale Multi-Keyword Scrape with Total Cap

{
"searchQueries": ["Data Scientist", "Machine Learning", "KI Engineer", "Data Analyst"],
"location": "München",
"maxResultsPerQuery": 200,
"maxResults": 500,
"includeJobDetails": true
}

Each keyword gets up to 200 results, but the total is capped at 500. The search_query field in each result shows which keyword found it.

Example 6: Direct URL Mode (Status Checking)

{
"directUrls": [
"https://www.stepstone.de/stellenangebote--Software-Engineer--12345-inline.html",
"https://www.stepstone.de/stellenangebote--Data-Scientist--67890-inline.html"
]
}

Use direct URL mode to:

  • Check if jobs are still online/active
  • Update existing job data
  • Monitor specific job postings

Location Filtering

You can filter by location in two ways:

  1. location parameter (recommended): Pass any city name, region, or state name directly (e.g., "Berlin", "München", "Sachsen", "Frankfurt am Main"). This is the most flexible option.
  2. bundesland parameter: Pass a 2-letter state code (e.g., "SN" for Sachsen). Only used when location is not set.

If both location and bundesland are provided, location takes precedence.

German Federal States (Bundesländer)

The scraper supports all 16 German states via either the location or bundesland parameter:

CodeState (German)State (English)
BYBayernBavaria
BWBaden-WürttembergBaden-Württemberg
BEBerlinBerlin
BBBrandenburgBrandenburg
HBBremenBremen
HHHamburgHamburg
HEHessenHesse
MVMecklenburg-VorpommernMecklenburg-Vorpommern
NINiedersachsenLower Saxony
NWNordrhein-WestfalenNorth Rhine-Westphalia
RPRheinland-PfalzRhineland-Palatinate
SLSaarlandSaarland
SNSachsenSaxony
STSachsen-AnhaltSaxony-Anhalt
SHSchleswig-HolsteinSchleswig-Holstein
THThüringenThuringia

Via Apify Console

  1. Go to the actor page on Apify
  2. Configure input parameters
  3. Click "Start"
  4. Download results from the Dataset tab

Via API

curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~stepstone-de-scraper/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["Softwareentwickler", "Backend Developer"],
"location": "München",
"radius": 50,
"maxResultsPerQuery": 100,
"includeJobDetails": true
}'

Data Quality

  • Validation: Schema validation on all outputs
  • Deduplication: Job IDs tracked to prevent duplicates across queries
  • Offline Detection: Flags expired/unavailable jobs
  • Date Parsing: Handles relative dates (e.g., "vor 3 Tagen")
  • Location Mapping: Automatic Bundesland detection from cities
  • Contact Extraction: Email, phone, and company website via pattern matching

Best Practices

  1. Use specific searches: Narrow queries yield better results
  2. Set reasonable limits: Start with 50-100 jobs for testing
  3. Enable job details: Full descriptions provide much richer data
  4. Monitor usage: Check your run stats for large-scale scraping

Troubleshooting

No jobs found

  • Check if your search query is too specific
  • Try broader location (e.g., state instead of city)
  • Remove filters like employment type or experience level

Jobs missing details

  • Ensure includeJobDetails: true is set
  • Check if jobs are expired (they'll be flagged as offline)

Looking for more job data? Check out our other scrapers:

Germany

Switzerland

Austria

Global

Enrich your job data

Support

For issues or questions:


Part of the Santamaria Job Scrapers Suite — Professional-grade job data for the DACH region and beyond.