StepStone Germany Jobs Scraper avatar

StepStone Germany Jobs Scraper

Pricing

from $0.72 / 1,000 item extracteds

Go to Apify Store
StepStone Germany Jobs Scraper

StepStone Germany Jobs Scraper

Export StepStone Germany job listings by keyword and location or results URL. Collect vacancy IDs, titles, employers, locations, snippets and displayed card metadata for recurring recruiting snapshots.

Pricing

from $0.72 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Export StepStone Germany jobs as structured listing-card records for recurring recruiting snapshots and hiring analysis. Search by keyword and location, or supply StepStone.de results URLs. Get job IDs, titles, employers, locations, snippets, posting timestamps and available card metadata without opening every job detail page.

This Actor collects a bounded snapshot. It does not harvest contact details, enrich full descriptions, apply for jobs, or compare snapshots automatically.

Who is it for?

  • Recruiting operations teams collecting vacancies for a role and city.
  • Hiring analysts comparing employer activity across repeatable searches.
  • Data engineers moving public job listings into spreadsheets or a warehouse.

Why use this Actor?

Stable source job IDs support joins between your own scheduled snapshots. Each record retains its results-page URL, source section and collection timestamp so you can audit where it appeared. Listing snippets provide useful context without the cost of fetching every detail page.

Salary estimates remain identified as estimates. Missing metadata is null rather than guessed. Jobs are deduplicated across pages and search URLs within a run.

Getting started

  1. Enter a keyword such as software engineer.
  2. Optionally enter a German city such as Berlin.
  3. Set maxItems to your desired global record cap.
  4. Run the Actor and open the Job listings dataset view.
  5. Download JSON, CSV or Excel using Apify's dataset export tools.
{
"keyword": "software engineer",
"location": "Berlin",
"maxItems": 10,
"maxPages": 10
}

Search StepStone Germany jobs by results URL

Copy an HTTPS StepStone.de /jobs results URL. Its source filters and starting page are preserved. Clear keyword and location before using URL mode; mixing both input routes is rejected rather than silently ignoring filters.

{
"startUrls": [
{ "url": "https://www.stepstone.de/jobs/pflege/in-hamburg" }
],
"maxItems": 25,
"maxPages": 3
}

Only German StepStone results pages are supported. Job-detail, company-profile, other-country and arbitrary website URLs are not accepted.

Input parameters

FieldMeaning
keywordRequired in search mode. Job title, skill or employer sent through StepStone's search URL. Leading/trailing spaces are removed, text is lowercased and spaces become hyphens.
locationOptional city or postcode in search mode. StepStone controls radius, remote and multi-location inclusion.
startUrlsUp to 10 results URLs, processed in order. Mutually exclusive with keyword/location.
maxItemsGlobal unique-job cap, default 100, range 1–2500. Zero/unlimited is not supported.
maxPagesGlobal results-page cap, default 10, range 1–100, across all URLs.

StepStone's relevance engine controls matching. A keyword is not an exact phrase, title-only or whole-field filter. A location is not an exact location post-filter. The source may return semantic, regional, recommended or multi-location cards, even for a query with no exact matches. Inspect section and your downstream relevance rules when exact matching matters.

Extracted data

FieldMeaning
jobIdStable StepStone identifier, represented as a string.
title, employerPlain-text title and displayed employer.
locationSource location text, potentially multiple places.
jobUrlJob URL with tracking query removed.
snippetListing-card text, not a full job description.
datePostedSource timestamp when supplied.
sectionSource result category such as main, semantic or regional.
labelsAvailable card labels; empty array if absent.
isSponsoredSource sponsorship flag when available.
workFromHomeRaw source code string, such as "2" or "0"; not a human-readable label or interpreted remote-work status.
salaryMin, salaryMaxAvailable source salary bounds, not calculated by this Actor.
salaryCurrency, salaryPeriod, salaryTypeSource salary qualifiers. Predicted means an estimate, not confirmed employer pay.
searchUrl, scrapedAtResults-page provenance and UTC snapshot time.

Optional values are null when absent. Card availability varies by query and listing. Salary, remote-work and label fields are not guaranteed on every record.

Output example

A representative listing returned during testing (optional metadata shortened):

{
"jobId": "13817131",
"title": "Software Engineer Public Sector (all genders)",
"employer": "msg systems ag",
"location": "Berlin, Chemnitz, Dresden, Düsseldorf, Essen, Frankfurt am Main, Hamburg, Hannover",
"jobUrl": "https://www.stepstone.de/stellenangebote--Software-Engineer-Public-Sector-all-genders-Berlin-Chemnitz-Dresden-Duesseldorf-Essen-Frankfurt-am-Main-Hamburg-Hannover-msg-systems-ag--13817131-inline.html",
"section": "main",
"salaryMin": 46000,
"salaryMax": 74000,
"salaryCurrency": "EUR",
"salaryPeriod": "Annually",
"salaryType": "Predicted",
"searchUrl": "https://www.stepstone.de/jobs/software-engineer/in-berlin"
}

How much does it cost to export StepStone Germany jobs?

Billing uses one start event per valid run plus one item event per unique saved listing. No item events are charged for duplicates, rejected cards or empty pages. Card metadata is included with its listing; there are no separate salary or snippet charges.

At BRONZE, the run fee is $0.005 and listings cost $0.0012 each. Examples: 10 listings cost $0.017; 100 cost $0.125; 1,000 cost $1.205. These are Actor event charges, not a claim about other services in your Apify account.

Plan tierPer listing
FREE$0.00138
BRONZE$0.0012
SILVER$0.000936
GOLD$0.00072
PLATINUM$0.00072
DIAMOND$0.00072

The start fee is $0.005 at every tier. A valid empty search still incurs the start charge. A failed run may have already saved and charged earlier pages. Use Apify's maximum-charge setting as an additional billing limit; it can stop collection before the requested item count.

Pagination, limits and failure behavior

The Actor follows source next-page links serially and stops at source exhaustion, the global page cap, the global unique-item cap, or the billing cap. Results URLs keep their starting page. Earlier URLs can use the whole run budget before later URLs are visited.

The dataset is a snapshot, not guaranteed complete coverage of all StepStone vacancies. Listings can move, disappear or appear on several pages while a run is in progress. Deduplication is within a run; repeats across scheduled runs are intentional.

HTTP/1 structured listing retrieval is used without paid proxy fallback. Transient network errors, rate limits and server errors receive at most three attempts. Permanent denial, a challenge page or missing structured results fails honestly rather than returning false empty success. There is no guarantee against future source changes. Runtime timeout can leave partial output.

Integrations

Use Apify schedules to repeat a fixed search, then join on jobId and compare your stored snapshots. A vacancy absent from one bounded snapshot is not proof it closed; search ranking and limits also affect visibility.

Send dataset exports to Google Sheets, Make, Zapier or your own warehouse. A practical recruiting pipeline stores jobId, employer, location, section and scrapedAt, filters relevance downstream, and retains the full dataset outside an AI prompt.

API usage

Start an asynchronous run and retain its returned run ID and storage IDs. Keep your Apify token in an environment variable, not in shared scripts or URLs.

curl -X POST \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"keyword":"software engineer","location":"Berlin","maxItems":10}' \
'https://api.apify.com/v2/acts/automation-lab~stepstone-germany-job-listings/runs'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/stepstone-germany-job-listings').call({
keyword: 'software engineer', location: 'Berlin', maxItems: 10,
});
if (run.status !== 'SUCCEEDED') throw new Error(`Run ${run.id}: ${run.status}`);
const page = await client.dataset(run.defaultDatasetId).listItems({ limit: 10 });
console.log(page.items);
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/stepstone-germany-job-listings').call(
run_input={'keyword': 'software engineer', 'location': 'Berlin', 'maxItems': 10})
if run['status'] != 'SUCCEEDED':
raise RuntimeError(f"Run {run['id']}: {run['status']}")
page = client.dataset(run['defaultDatasetId']).list_items(limit=10)
print(page.items)

MCP integration

Select a stable Actor subset rather than an unqualified tool catalog:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/stepstone-germany-job-listings"

Claude Desktop, Cursor, and VS Code

Equivalent editor/desktop configuration for clients supporting remote HTTP servers:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/stepstone-germany-job-listings"
}
}
}

Authenticate through your client's supported Apify flow. Discover actual tool names and argument schemas with scoped tools/list. Actor selection also adds run/data helpers; it does not expose exactly one tool. Tool availability depends on account access and publication state.

Example prompt: “Collect 10 software engineer listing cards in Berlin, then show titles, employers, locations and source sections. Do not fetch full descriptions.”

For an authorized invocation, start once and retain its run ID/status/storage IDs. call-actor waits at most 45 seconds (waitSecs, default 30), so a reply may be metadata rather than rows. For a nonterminal run, follow that same ID with get-actor-run using bounded backoff (2, 4, 8 seconds, capped at 10) and a 120-second overall deadline. Set the client timeout above the chosen server wait plus transport margin. On client timeout, recover the known run, not a new invocation; if the ID is unknown, report uncertainty. At the deadline report pending and stop. Report terminal failures honestly, with any rows marked partial.

After success, use get-dataset-items with the returned defaultDatasetId, explicit offsets, limits and fields. Example consumer budget: 20 source rows per page, at most 100 rows and 64 KiB serialized UTF-8 across pages admitted to model context, whichever comes first. Enforce bytes host-side before injection; omit or summarize oversized rows with disclosure. If your client cannot intercept oversized replies, do not claim a hard byte ceiling. Prefer untransformed JSON, track source offsets rather than transformed counts, and report returned rows, next offset and truncation. Keep full exports in storage. This is a consumer context budget, not a reduction of Actor collection limits. No universal token-saving guarantee is made.

Legality, responsible use and diagnostics

Use publicly available job data responsibly, respect applicable law and source terms, and avoid unnecessary collection or redistribution. This Actor is independent of StepStone and is not an official StepStone API. Public availability is not legal advice or permission for every use. It does not collect applicant data or employer contact details.

Failed operations send sanitized diagnostic input, exceptions and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL queries are removed. Reports are retained for 30 days. Do not put sensitive information in job-search inputs. No runtime AI provider is called; source snippets and estimates are not enriched by this Actor. Run input, datasets and logs follow your Apify account's retention settings; delete them through Apify storage controls. The Actor keeps no global cache or persistent cross-run session. For help, use the Actor's Apify Issues tab and include a run ID rather than secrets.

FAQ and troubleshooting

Why do some results not exactly match my keyword or city? StepStone expands relevance and can include nearby, semantic or multi-location vacancies. Inspect section and implement your own downstream exact-match rule if needed.

Why did a nonsense query still return jobs? The source can offer suggested vacancies instead of an empty page. This Actor exports the source's cards, not a fabricated zero-result answer.

Why are salary fields null or marked Predicted? Many cards omit salary. Predicted values are source estimates and should not be represented as employer-confirmed compensation.

Can I get full descriptions or contacts? No. This product is listing-only, and does not open detail pages for enrichment.

Why did a run fail with missing state or HTTP denial? The source may have changed its layout or blocked access. Do not assume an empty dataset proves no jobs exist. Share the run ID with support; avoid blind repeated runs.

Can I monitor changes? Schedule snapshots using Apify, then compare datasets in your own pipeline. Built-in alerts, history and change detection are not provided.

For complementary German vacancy corpora, consider Arbeitsagentur Jobs Scraper and XING Jobs Scraper. They collect different sources; their records are not substitutes for StepStone listings.