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

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Scrape public StepStone job listings by keyword, location, or StepStone URL.

Use this actor to collect structured job data from StepStone for recruiting research, lead generation, hiring intelligence, and labor-market monitoring.

What does StepStone Jobs Scraper do?

StepStone Jobs Scraper extracts public job listings from StepStone search and job pages.

It can return job titles, employers, locations, job URLs, descriptions, salary signals, employment type, requirements, skills, company logos, and source metadata.

The output is ready for spreadsheets, BI tools, dashboards, enrichment pipelines, and recruiting workflows.

Who is it for?

  • ๐Ÿง‘โ€๐Ÿ’ผ Recruiters tracking hiring demand by role and city.
  • ๐Ÿ“ˆ Labor-market analysts monitoring employer activity.
  • ๐Ÿงฒ Lead-generation teams finding companies that are hiring.
  • ๐Ÿข Sales teams prospecting HR, staffing, and employer accounts.
  • ๐Ÿงช Researchers comparing job titles, locations, skills, and salaries.
  • ๐Ÿค– Automation teams feeding job data into internal systems.

Why use this actor?

  • โœ… Search StepStone by job keyword and location.
  • โœ… Process StepStone search URLs and job detail URLs.
  • โœ… Keep every row traceable to the input query and source URL.
  • โœ… Export clean structured data from the Apify dataset.
  • โœ… Limit runs with maxItems for predictable costs.
  • โœ… Use the default German residential proxy route for reliable collection when StepStone stalls direct cloud traffic.
  • โœ… Optimized job-detail collection with automatic fallback keeps larger runs fast without dropping full descriptions.
  • โœ… Inspect RUN_SUMMARY for discovered, saved, fallback, and failed-detail counts.
  • โœ… Exit cleanly with partial rows and a RUN_CHECKPOINT before long workloads reach the platform timeout.

Output fields

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.

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedPrice
startOne-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup).$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
itemCharged per item extracted.$1.8155 / 1,000$1.5787 / 1,000$1.2314 / 1,000$0.94722 / 1,000$0.63148 / 1,000$0.44203 / 1,000

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

Quick start

  1. Open the actor on Apify.
  2. Enter a job keyword such as software engineer.
  3. Enter a location such as Berlin.
  4. Set maxItems to the number of jobs you need.
  5. Run the actor.
  6. Export results from the dataset as JSON, CSV, Excel, or via API.

Ready-to-run examples

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). Leaves time to save progress and exit before a 600-second run timeout.
proxyConfigurationobjectGerman residential Apify Proxy by default. Disable it only if you accept a higher direct-blocking risk.

Input recipes

Example input

{
"query": "software engineer",
"location": "Berlin",
"maxItems": 25,
"radius": 30,
"postedWithin": "any",
"maxPages": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "DE"
}
}

Using StepStone URLs

You can also provide StepStone URLs directly.

Use search URLs when you want the actor to discover listings from a StepStone results page.

Use detail URLs when you already have specific StepStone job pages to extract.

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

Output example

{
"title": "Senior Software Engineer",
"company": "Example GmbH",
"location": "Berlin",
"jobUrl": "https://www.stepstone.de/stellenangebote/example-job.html",
"postedAt": "2026-07-01",
"validThrough": null,
"employmentType": "FULL_TIME",
"salary": null,
"description": "Build and operate modern software products...",
"requirements": "Experience with TypeScript, cloud services, and agile teams...",
"skills": ["TypeScript", "AWS"],
"companyLogo": "https://example.com/logo.png",
"sourceQuery": "software engineer",
"sourceLocation": "Berlin",
"sourceUrl": "https://www.stepstone.de/jobs/software-engineer/in-berlin",
"scrapedAt": "2026-07-04T08:00:00.000Z"
}

Run diagnostics

Every started run writes a RUN_SUMMARY JSON record to the default key-value store. It reports the final status, runtime, pages opened, search-navigation retries, jobs discovered and saved, optimized-detail and fallback counts, search/detail failures, pending jobs, and whether a runtime or maximum charge limit stopped the run. These diagnostics are separate from the paid dataset rows.

The Actor also updates RUN_CHECKPOINT after search pages and detail batches. If a broad workload reaches runBudgetSeconds, already saved rows remain available, the run exits normally with a partial summary, and the checkpoint lists pending job URLs. Keep the Actor's platform timeout at least 60 seconds above runBudgetSeconds; saved tasks use the safe 540/600-second pairing by default.

A search page that loads successfully but contains no matching job links is a valid empty result and finishes successfully with jobsSaved: 0. The Actor still fails when search navigation fails or when discovered detail pages cannot produce any usable job rows.

Tips for better results

  • ๐ŸŽฏ Use specific job titles for focused recruiting lists.
  • ๐ŸŒ Use broader locations for labor-market research.
  • ๐Ÿ”ข Start with maxItems: 10 while testing.
  • ๐Ÿงน Deduplicate downstream by jobUrl.
  • ๐Ÿ“… Schedule recurring runs to monitor new hiring activity.
  • ๐Ÿงช Test several keyword variants for the same role.

Common use cases

Recruiting intelligence

Track which employers are hiring for a specific role in Germany.

Sales prospecting

Find companies with active hiring signals for HR software, staffing, payroll, training, or relocation services.

Labor-market dashboards

Measure demand by keyword, city, company, or posting recency.

Competitive hiring analysis

Monitor how often competitors post for specific departments or skills.

Salary research

Collect salary text when it is included in public listings.

Integrations

You can connect results to:

  • Google Sheets for lightweight recruiting research.
  • Airtable for lead review workflows.
  • HubSpot or Salesforce via Make/Zapier.
  • BigQuery, Snowflake, or S3 for analytics.
  • Slack alerts for new jobs matching a saved query.
  • Internal enrichment pipelines using the Apify API.

API usage

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: 25
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

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

cURL

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

MCP integration

Use this actor from MCP-compatible assistants through Apify MCP Server.

MCP URL: https://mcp.apify.com/?tools=fetch_cat/stepstone-jobs-scraper

Claude Code example

$claude mcp add apify-stepstone-jobs --url "https://mcp.apify.com/?tools=fetch_cat/stepstone-jobs-scraper"

Claude Desktop example

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

Example MCP prompts

After connecting the MCP server, try prompts that explicitly ask your assistant to use the StepStone Jobs Scraper MCP tool. Example prompt ideas:

  • "Use the StepStone Jobs Scraper MCP tool to find 20 software engineering jobs in Berlin, then return a table with title, company, location, and URL."
  • "Use fetch_cat/stepstone-jobs-scraper to collect StepStone hiring signals for data analyst roles in Munich and summarize which employers are hiring most often."
  • "Run the StepStone Jobs Scraper MCP tool for Java developer jobs in Germany, group the results by company, and summarize the most common skills."
  • "Use the MCP scraper to monitor remote-friendly StepStone software roles and highlight any listings posted in the last week."

Scheduling

Schedule the actor daily or weekly to monitor a saved StepStone query.

Use small result limits for frequent monitoring.

Use larger result limits for monthly market snapshots.

Data quality notes

Some listings do not include salary.

Some listings do not expose structured skills.

Some listings may have broad regional locations rather than exact offices.

The actor keeps optional fields empty when StepStone does not publish that data.

FAQ and troubleshooting

Why did my run return fewer jobs than maxItems?

The query may have fewer public results, or StepStone may not expose every result page for that combination of keyword and location.

Try a broader keyword, larger radius, or broader location.

Why are salary fields empty?

Many StepStone postings do not publish salary information.

When salary is missing from the public job page, the actor leaves salary empty.

What should I do if StepStone blocks a run?

Try a smaller run first.

The default input uses German residential Apify Proxy because direct cloud connections can stall. If you disabled proxy use, restore the default RESIDENTIAL / DE configuration. Proxy traffic can add Apify platform usage charges outside this Actor's pay-per-event price.

Limits

Very broad searches can produce many duplicates across pages.

Use maxItems to cap output volume.

Large searches may finish with RUN_SUMMARY.status: "partial" when the runtime budget is reached. Consume the saved rows and use RUN_CHECKPOINT.pendingJobUrls for a follow-up run rather than increasing the platform timeout without a bound.

For production monitoring, run several specific searches instead of one extremely broad query.

Legality and ethical use

This actor extracts publicly available job listing information.

You are responsible for using the data in compliance with StepStone terms, privacy laws, and applicable regulations.

Do not use scraped data for spam, discrimination, or prohibited automated decisions.

Support

If a run fails or the output looks incomplete, open an issue on Apify and include:

  • The run ID or run URL.
  • The complete input JSON with secrets removed.
  • The expected output and actual output returned by the dataset or run summary.
  • A reproducible public URL when the problem concerns a specific StepStone search or job page.

Privacy and data handling

This Actor only requests the permissions needed to run the input you provide. It uses your input (such as URLs, search terms, identifiers, filters, and limits) only to fetch the requested public data from the relevant source site or API for this Actor, then writes results to your Apify dataset/key-value store.

Data may pass through Apify platform services and Apify Proxy during the run, and requests are sent only to the target site or public data provider required for this Actor's results. FetchCat does not send your inputs or outputs to advertising networks, data brokers, or model-training services, and does not retain run data outside Apify storage after the run except when you explicitly share run details for transient support debugging.

You are responsible for using this Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs. Review the output before storing, sharing, or combining it with other data.