StepStone Jobs Scraper avatar

StepStone Jobs Scraper

Pricing

from $0.95 / 1,000 item extracteds

Go to Apify Store
StepStone Jobs Scraper

StepStone Jobs Scraper

Scrape StepStone jobs by keyword, location, or URL. Export titles, companies, locations, descriptions, salary signals, and hiring metadata.

Pricing

from $0.95 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Fetch Cat

Fetch Cat

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

4

Monthly active users

18 days ago

Last modified

Features

Limited permissions

Share

StepStone Jobs Scraper collects public StepStone Germany job listings by keyword, location or StepStone URL. Export job titles, employers, descriptions and available salary signals for recruiting research, employer lead lists and labor-market analysis. Optional fields depend on what the public listing provides.

Quick start

  1. Enter a job keyword and location, or provide a StepStone search or job URL.
  2. Start with a small limit, then click Start.
  3. Open the dataset to inspect and export your results.
{
"query": "software engineer",
"location": "Berlin",
"maxItems": 10
}

Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.

Ready-to-run examples

Choose an example to start with a small, preconfigured input.

What you get

  • Job titles, companies, locations and source job URLs.
  • Descriptions, employment types, posting dates and salary information when available.
  • Requirements detected from description headings and common skill keywords matched in the text.
  • Source query, location, URL and extraction timestamp for traceability.
  • Saved partial results and a progress checkpoint for bounded workloads.

Who is it for?

  • Recruiters: review employers hiring for a role or city.
  • Sales teams: build employer research lists for staffing and HR services.
  • Analysts: compare public hiring activity across roles and locations.
  • Automation teams: pass structured job records to spreadsheets or reporting systems.

Input settings

InputTypeDescription
querystringJob title, keyword, skill, or role.
locationstringCity, region, or country.
startUrlsarrayStepStone search or job detail URLs.
maxItemsintegerMaximum number of job listings to save.
radiusintegerSearch radius in kilometers.
postedWithinstringOptional posting age filter.
maxPagesintegerMaximum search pages to inspect.
detailConcurrencyintegerConcurrent job details (1–8, default 8). Lower it for a constrained custom proxy.
runBudgetSecondsintegerWork-admission budget (120–840, default 540). Keep the platform timeout at least 60 seconds higher.
proxyConfigurationobjectDirect traffic by default (useApifyProxy: false). Switch to German residential (RESIDENTIAL / DE) only when StepStone blocks a particular search.

Provide a keyword, a location, or at least one valid StepStone URL. URL inputs are processed in addition to a keyword/location search. Clear the keyword and location when you want only URL inputs. No input field is globally required because these are alternatives.

Example URL recipe:

{
"startUrls": [{"url": "https://www.stepstone.de/jobs/software-engineer/in-berlin"}],
"maxItems": 10
}

The radius and recency controls are passed to generated searches. They do not rewrite supplied URLs, and StepStone may ignore unsupported filters.

Output data

FieldDescription
titleJob title shown on StepStone.
companyHiring company or organization.
locationJob location when available.
jobUrlCanonical StepStone job URL.
postedAtPosting date when available.
validThroughExpiration date when available.
employmentTypeFull-time, part-time, contract, or similar signal.
salarySalary text or structured salary signal when available.
descriptionJob description text.
requirementsRequirements or profile text when detected.
skillsCommon skill keywords detected in the posting.
companyLogoCompany logo URL when available.
sourceQueryKeyword used for the search.
sourceLocationLocation used for the search.
sourceUrlSearch or detail URL where the listing was found.
scrapedAtTimestamp of extraction.

The following is a shape-only illustration, not a newly scraped listing:

{
"title": "Example role",
"company": null,
"location": null,
"jobUrl": "https://www.stepstone.de/stellenangebote/example.html",
"salary": null,
"description": null,
"skills": [],
"sourceQuery": "software engineer",
"sourceLocation": "Berlin"
}

Missing optional values remain null or empty. Descriptions are capped at 5,000 characters. Skills are keyword matches, not an exhaustive or independently verified skills taxonomy.

Download your results

Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.

See Apify's download and export guide for the available formats and field options.

Pricing

This Actor uses pay-per-event pricing. The start event is charged once after the input has a usable search or URL. That charge can apply even when no jobs are saved.

The item event is charged per saved job record. Run summaries and checkpoints are not dataset items. Compute, storage and any selected proxy usage may also incur platform charges.

See the live Pricing tab for current rates and discounts.

Tips for best results

  • Start with ten jobs. Check whether the role and location match your research.
  • Use focused searches. Several specific queries are easier to review than one broad search.
  • Deduplicate by job URL. Different searches can overlap.
  • Keep time for shutdown. Set the platform timeout at least 60 seconds above the work budget.
  • Inspect partial output. Saved rows remain useful when a limit stops collection.

Limits and caveats

This scraper targets public pages on stepstone.de, not private accounts or other national StepStone sites. It is not affiliated with StepStone. Site changes and access restrictions can reduce the number of returned jobs. maxItems is an upper bound, not a promise of that many records.

Salary and dates are available only when published. Requirements are detected heuristically. There is no guaranteed sorting, completeness or verified remote-work filter.

A successfully loaded search with no matching links can finish empty. The current implementation can fail when navigation fails or discovered details produce no usable rows. A successful empty result does not prove that a blocked route works.

Automation and integrations

Save your settings for next time

Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.

Run on a schedule

Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.

Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.

Send results to your other tools

Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.

For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.

API usage

Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.

The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.

For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~stepstone-jobs-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"query":"software engineer","location":"Berlin","maxItems":10}'

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/stepstone-jobs-scraper').call({
query: 'software engineer', location: 'Berlin', maxItems: 10
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/stepstone-jobs-scraper').call(run_input={
'query': 'software engineer', 'location': 'Berlin', 'maxItems': 10
})
print(client.dataset(run['defaultDatasetId']).list_items().items)

MCP and AI agents

You can ask your AI assistant to collect data with StepStone Jobs Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.

Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.

Easier setup with an Apify plugin

If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.

Use Apify AI in Console

Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's StepStone Jobs Scraper. You can describe the data you want and ask questions about the results.

Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.

Choose your assistant

Connect just this scraper

To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/stepstone-jobs-scraper"
}
}
}

Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.

Use Apify's general server

Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use StepStone Jobs Scraper by Fetch Cat, or give it the identifier fetch_cat/stepstone-jobs-scraper.

Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.

Example requests

  • "Find ten software engineering jobs in Berlin and make a table of employers and job links."
  • "Collect data analyst listings in Munich and summarize the skill keywords in the returned descriptions."
  • "Get the jobs from this public StepStone search URL and prepare a spreadsheet-ready list of titles and companies."

Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.

Pay with x402

If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.

Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.

Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.

Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.

Other ways for agents to pay

Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.

Progress and partial results

Open RUN_SUMMARY in the run's key-value store to see saved jobs, failures and whether a limit stopped collection. RUN_CHECKPOINT records pending job URLs. Use those URLs for a follow-up input if needed. The checkpoint is not an automatic resume service.

Already saved rows remain available when the work budget ends. A broad run may report a partial outcome rather than a complete search.

FAQ

Can I export StepStone jobs to CSV?

Yes. Export the run dataset as CSV, Excel or JSON, or retrieve it through the API.

Is this an official StepStone API?

No. It collects supported public job pages and returns structured records. It cannot access private account data.

Why did I get fewer jobs than requested?

The query may have fewer public results. Access restrictions, time limits and unavailable details can also reduce output. Review the run summary and try a focused search.

Why are salaries or requirements missing?

Not every listing publishes a salary. Requirements depend on recognizable headings in the description and may be null.

What if a search is blocked?

Try a small input first. The input form supports explicit proxy settings when needed. There is no automatic paid-proxy fallback. See the live Pricing tab before selecting additional platform services.

Can an AI assistant run it?

Yes, through Apify's hosted MCP server or API with a bounded input. The assistant must read the returned dataset and should follow an existing run rather than launch duplicates.

  • LinkedIn Jobs Scraper — Collect public LinkedIn job listings and available details from search or known job URLs.
  • Ashby Jobs Scraper — Collect public Ashby board openings and available compensation metadata, with optional descriptions.
  • ATS Jobs Scraper — Collect normalized public job-board openings from supported applicant-tracking systems for supplied employers.
  • Dice Jobs Scraper — Collect public Dice job listings and optional details by keyword, location or search URL.
  • Remote.com Jobs Scraper — Collect public Remote.com job listings with available compensation and application links.

Support and feedback

For custom additions or integrations, email hello@fetchcat.dev.

Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.

Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.

Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. Your feedback means a lot to us.

Made with care for curious people, AI agents and the possibilities in data. ♥