Stepstone Scraper | All-In-One | $2.5/ 1K
Pricing
$2.49 / 1,000 results
Stepstone Scraper | All-In-One | $2.5/ 1K
Extract job postings and hiring company details at scale from Stepstone .de, .at, .be, & .nl. Use direct URLs or build searches with filters for location, salary, & more. Get clean, structured job data Ideal for market research and job aggregation.
Pricing
$2.49 / 1,000 results
Rating
3.1
(3)
Developer
Fatih Tahta
Actor stats
10
Bookmarked
188
Total users
40
Monthly active users
14 hours
Issues response
4 days ago
Last modified
Categories
Share
StepStone Scraper
Slug: fatihtahta/stepstone-scraper-fast-reliable-4-1k
Overview
StepStone Scraper collects structured job listing data from StepStone, including core fields such as listing ID, URL, title, company details, location, posting metadata, and compensation-related fields when available. It supports both direct URL-based collection and keyword-based discovery with practical filters to narrow results by market and hiring criteria. The actor is designed for StepStone country domains including stepstone.de, stepstone.be, stepstone.at, and stepstone.nl, making it useful for cross-market hiring analysis and regional trend tracking. By automating collection into a consistent JSON output, it reduces manual research time and improves repeatability for recurring workflows. Teams can run it on demand or on a schedule to maintain fresh, analysis-ready datasets.
Why Use This Actor
- Market research & analytics: Analyze hiring trends, role volumes, location patterns, and posting freshness across countries or time windows.
- Product & content teams: Validate content opportunities and career-topic priorities using real job demand signals (titles, skills context, and employer activity).
- Developers & data engineering pipelines: Feed normalized listing records into BI dashboards, warehousing jobs, and enrichment workflows with minimal transformation.
- Lead generation & enrichment teams: Build targeted prospect lists by role, location, and company attributes to support outreach and account research.
- Monitoring & competitive tracking: Track shifts in hiring activity for specific employers, keywords, or markets through recurring scheduled runs.
Input Parameters
Provide any combination of URLs, queries, and filters to match your collection goals.
| Parameter | Type | Description | Default |
|---|---|---|---|
startUrls | array[string] | StepStone search-result or job-detail URLs to collect directly. Use multiple URLs to combine known pages in one run. | – |
domain | string | Country domain used for keyword-generated searches. Allowed values: stepstone.de, stepstone.at, stepstone.be, stepstone.nl. | stepstone.de |
queries | array[string] | Search keywords such as job titles, skills, departments, industries, or employer names. | – |
location | string | Optional location text (city/region/area) for keyword searches, such as Berlin, Vienna, Brussels, or Amsterdam. | – |
distanceFromSource | string | Search radius around the source location for keyword searches. Allowed values: 5, 10, 20, 30, 40, 50, 75, 100 (km). | 30 |
workRemote | array[string] | Optional remote-work filter for keyword searches. Allowed values: PARTIALLY_REMOTE_HYBRID, FULLY_REMOTE_ONLY. | [] |
ApplicationType | array[string] | Optional application method filter for keyword searches. Allowed values: EXTERNAL (apply on company website), INTERNAL (quick application). | [] |
listingLanguage | array[string] | Optional language filter for keyword searches. Allowed values: GERMAN, ENGLISH. | [] |
WorkingHours | array[string] | Optional working-hours filter for keyword searches. Allowed values: FULL_TIME, PART_TIME. | [] |
employmentType | array[string] | Optional employment-type filter for keyword searches. Allowed values: PERMANENT_POSITION, APPRENTICESHIP_STUDIES, FIXED_TERM_CONTRACT, ENTRY_LEVEL_TRAINEE, TEMPORARY_AGENCY_WORK, STUDENT_JOB_WORKING_STUDENT, INTERNSHIP, FREELANCE_PROJECT_BASED, BACHELORS_MASTERS_DIPLOMA_THESIS, PHD_POSTDOCTORAL_QUALIFICATION. | [] |
experience | array[string] | Optional experience-level filter for keyword searches. Allowed values: EXPERIENCE_REQUIRED, NO_EXPERIENCE_NEEDED, MANAGEMENT_EXPERIENCE_REQUIRED. | [] |
publishedDate | string | Optional recency window for keyword searches. Allowed values: "" (no filter), 24Hours, 7Days. | "" |
limit | integer | Maximum listings to store per query (minimum: 1). | 50000 |
Example Input
{"domain": "stepstone.de","queries": ["data analyst", "business intelligence"],"location": "Berlin","distanceFromSource": "30","workRemote": ["PARTIALLY_REMOTE_HYBRID"],"listingLanguage": ["GERMAN"],"publishedDate": "7Days","limit": 250}
Output
6.1 Output destination
The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.
6.2 Record envelope (all items)
Every record includes these core fields:
- id (number|string, required): Stable StepStone listing identifier. In rare fallback cases, a hashed string identifier is generated.
- title (string, optional)
- seed_type (string, optional)
- source (object, required)
- scraped_at (string, required)
- id_source (string, required):
nativewhen StepStone provided the ID directly,fallbackwhen a deterministic fallback ID was generated.
Recommended idempotency key: id.
Use this key for deduplication and upserts when the same listing appears across multiple inputs or repeated runs.
6.3 Examples
Example: enriched job listing record
{"id": 13691391,"title": "Project Engineer IP Central Services & Security (w/m/d)","seed_type": "url","source": {"url": "https://www.stepstone.de/stellenangebote--Project-Engineer-IP-Central-Services-Security-w-m-d-Berlin-50Hertz-Transmission-GmbH--13691391-inline.html?rltr=2_2_25_seorl_m_1_0_0_0_0_0","source_url": "https://www.stepstone.de/jobs/engineer/in-berlin?radius=30&searchOrigin=membersarea&whereType=autosuggest","seed_value": "https://www.stepstone.de/jobs/engineer/in-berlin?radius=30&searchOrigin=membersarea&whereType=autosuggest"},"scraped_at": "2026-03-13T08:29:38.137232+00:00","id_source": "native","company_details": {"company_id": 80342,"company_name": "50Hertz Transmission GmbH","company_profile_url": "https://www.stepstone.de/cmp/de/50hertz-transmission-gmbh-80342/jobs","company_logo_url": "https://www.stepstone.de/upload_DE/logo/D/logo50Hertz-Transmission-GmbH-80342DE-1910081639.gif","is_anonymous_company": false,"company_website": "https://www.karriere.50hertz.com","company_address": "Heidestraße 2, Berlin","company_size": "1001-5000","company_founded": 2010,"company_jobs_count": 55,"company_industries": ["Energie- und Wasserversorgung & Entsorgung"],"company_sectors": [{"id": 13000,"name": "Energie- und Wasserversorgung & Entsorgung"}],"company_rating": {"surveysCount": 53,"overallRatingAvg": 4.86575},"company_benefits": ["Leistungsgerechte Entlohnung","Flexible Arbeitszeiten","Homeoffice"]},"posting_details": {"published_at": "2026-03-12T10:03:06.67Z","section": "main","has_future_posting": false,"contract_type": "Feste Anstellung","work_type": "Homeoffice möglich, Vollzeit","online_status": "Online"},"workplace_details": {"job_location": "Berlin","remote_work_type": "2","work_arrangement": "Hybrid"},"listing_metadata": {"labels": [{"label": "Anschreiben nicht erforderlich","type": "NO_COVER_LETTER"}],"top_labels": [],"skills": [],"position_metadata": {"positionOnPage": 2,"positionAbsolute": 2},"harmonized_id": "7010B7E5-43DB-4F17-8998-5A5ED53F2439","is_highlighted": false,"is_sponsored": false,"is_top_job": false,"is_partner_traffic": false},"partner_details": {"partnership": {"isPartnershipJob": false,"showPartnershipLabel": false,"isBackfilled": false,"sourceSiteFriendlyName": "","isCrossPosted": false}},"content_details": {"job_snippet_html": "Know-how-Transfer zu den IP Operation <strong>Engineers,</strong> Unterstützung bei betrieblichen Aufgaben und Sonderkonfigurationen,","job_snippet_cleaned": "Know-how-Transfer zu den IP Operation Engineers, Unterstützung bei betrieblichen Aufgaben und Sonderkonfigurationen,","detail_sections": [{"name": "description","title": "Hier treibe ich den Ausbau und die Vernetzung moderner Kommunikationsinfrastrukturen voran – von Rechenzentrum bis Büro.","is_collapsible": false,"should_title_be_displayed": true,"content_html": "<p><strong>Das macht diesen Job für mich interessant:</strong> ...</p>","content_text": "Das macht diesen Job für mich interessant: ...","paragraphs": ["Das macht diesen Job für mich interessant: ..."],"bullet_points": ["Durchführung aller Planungs-, Konfigurations- und Netzintegrationsaufgaben ..."]},{"name": "additionalInformation","title": "Ansprechpartner*in","is_collapsible": false,"should_title_be_displayed": true,"content_html": "<p><strong>Eduard Weissbrot</strong> ...</p>","content_text": "Eduard Weissbrot ...","paragraphs": ["Eduard Weissbrot ..."],"links": [{"text": "E-Mail schreiben","url": "https://api.relaxx.center/r/d91316cf795441d1bd1795e2c271e874?mpid=1479113&pid=2542797&prid=1095325&tid=30"}]}],"full_description": "Das macht diesen Job für mich interessant: Die Elia Group betreibt IT-Infrastrukturen an hunderten Standorten in Belgien und Deutschland ..."},"detail_page": {"page_context": {"language": "de","listing_badges": ["Sei einer der ersten Bewerber","Anschreiben nicht erforderlich"],"resolved_url": "https://www.stepstone.de/stellenangebote--Project-Engineer-IP-Central-Services-Security-w-m-d-Berlin-50Hertz-Transmission-GmbH--13691391-inline.html?rltr=2_2_25_seorl_m_1_0_0_0_0_0"},"applying_details": {"listing_id": 13691391,"listing_global_id": "7010b7e5-43db-4f17-8998-5a5ed53f2439","applying_url": "https://www.stepstone.de/job/7010b7e5-43db-4f17-8998-5a5ed53f2439/application/external?locale=de_DE"},"content_sections": {"sections": [{"section_key": "description","title": "Hier treibe ich den Ausbau und die Vernetzung moderner Kommunikationsinfrastrukturen voran – von Rechenzentrum bis Büro.","html": "<p><strong>Das macht diesen Job für mich interessant:</strong> ...</p>","text": "Das macht diesen Job für mich interessant: ...","paragraphs": ["Das macht diesen Job für mich interessant: ..."],"bullet_points": ["Durchführung aller Planungs-, Konfigurations- und Netzintegrationsaufgaben ..."]},{"section_key": "additionalInformation","title": "Ansprechpartner*in","html": "<p><strong>Eduard Weissbrot</strong> ...</p>","text": "Eduard Weissbrot ...","paragraphs": ["Eduard Weissbrot ..."],"links": [{"text": "E-Mail schreiben","url": "https://api.relaxx.center/r/d91316cf795441d1bd1795e2c271e874?mpid=1479113&pid=2542797&prid=1095325&tid=30"}]}]},"company_profile_details": {"videos": [{"url": "https://www.youtube.com/watch?v=cIgWAAFpsYo","provider": "youtubecom"}],"images": [{"url": "https://www.stepstone.de/upload_de/offers/htmlfiles/x2/80342/images/b9af6b05-8b15-4462-bf37-267cc567656a.jpeg","type": "CompanyPassportImage"}],"profile_sections": [{"title": "About Us","html": "<p>50Hertz, das sind rund 2.500 Menschen ...</p>","text": "50Hertz, das sind rund 2.500 Menschen ...","paragraphs": ["50Hertz, das sind rund 2.500 Menschen ..."]}]},"media_details": {"hero_images": [{"desktop": "https://image-proxy.stepstone.com/live/image.jpg?...","mobile": "https://image-proxy.stepstone.com/live/image.jpg?..."}],"company_hero_image_url": "https://www.stepstone.de/upload_de/offers/htmlfiles/x2/80342/images/c172371e-439c-4c03-83fd-7a50d252d58e.jpeg","images": [{"url": "https://www.stepstone.de/upload_de/offers/htmlfiles/x2/80342/images/other-image.jpeg"}],"videos": [{"url": "https://www.youtube.com/embed/NgObOoHowyg","provider": "youtubecom"}]},"diagnostics": {"company_passport_enabled": true,"lvp": {"job_id": "13691391","lpp": 2.5471975923197085,"lpp_day0": 10.71705630576637,"lpp_mod": 2.5471975923197085,"lpp_day0_mod": 10.71705630576637,"lvp": 5.0612633010289185,"lvp_day0": 2.0911043592381695,"lvp_mod": 6.073515961234702,"lvp_day0_mod": 2.5093252310858034,"brand_id": "stepstonede"}}},"compensation_details": {"detail_salary": {"isPredicted": true,"min": 60000,"max": 85000,"period": "Jahr","currency": "€","currencyIso": "EUR","locale": "de-DE"}}}
Field reference
Top-level fields
- id (number|string, required): Stable StepStone listing identifier.
- title (string, optional): Listing title.
- seed_type (string, optional): Input origin category such as
urlorquery. - source.url (string, optional): Listing URL.
- source.source_url (string, optional): Search-result or detail page URL that led to discovery.
- source.seed_value (string, optional): Original input value that produced the record.
- scraped_at (string, required): UTC timestamp indicating when the record was produced.
- id_source (string, required):
nativewhen StepStone provided the listing ID directly,fallbackwhen a deterministic fallback ID was created.
company_details
- company_details.company_id (number, optional): Company identifier.
- company_details.company_name (string, optional): Company display name.
- company_details.company_profile_url (string, optional): Company profile URL.
- company_details.company_logo_url (string, optional): Company logo URL.
- company_details.is_anonymous_company (boolean, optional): Whether the company is anonymized.
- company_details.company_website (string, optional): Company website promoted from the detail page.
- company_details.company_address (string, optional): Company address promoted from the detail page.
- company_details.company_size (string, optional): Company employee-band label.
- company_details.company_founded (number, optional): Company founding year.
- company_details.company_jobs_count (number, optional): Number of jobs shown for the company.
- company_details.company_industries (array[string], optional): Company industries.
- company_details.company_sectors (array[object], optional): Company sectors.
- company_details.company_sectors[].id (number, optional): Sector identifier.
- company_details.company_sectors[].name (string, optional): Sector name.
- company_details.company_rating (object, optional): Company rating summary.
- company_details.company_rating.surveysCount (number, optional): Number of survey/rating entries.
- company_details.company_rating.overallRatingAvg (number, optional): Average rating score.
- company_details.company_benefits (array[string], optional): Deduplicated company benefits.
posting_details
- posting_details.published_at (string, optional): Listing publish timestamp.
- posting_details.section (string, optional): Listing section label.
- posting_details.has_future_posting (boolean, optional): Indicates future-dated posting state.
- posting_details.publish_from_date (string, optional): Scheduled publish start date when exposed by StepStone.
- posting_details.publish_to_date (string, optional): Scheduled publish end date when exposed by StepStone.
- posting_details.period_posted_date (string, optional): Relative recency label when exposed by StepStone.
- posting_details.contract_type (string, optional): Contract type promoted from the detail page.
- posting_details.work_type (string, optional): Work-type label promoted from the detail page.
- posting_details.online_status (string, optional): Online/offline availability label from the detail page.
workplace_details
- workplace_details.job_location (string, optional): Job location text.
- workplace_details.postal_code (string, optional): Postal code when provided.
- workplace_details.remote_work_type (string, optional): Remote-work indicator (
"0"on-site,"1"fully remote,"2"hybrid). - workplace_details.work_arrangement (string, optional): Human-readable remote arrangement derived from
remote_work_type("On-site","Fully Remote","Hybrid"). - workplace_details.travel_time (string|number, optional): Travel-time label/value when provided.
- workplace_details.unified_travel_time (object, optional): Structured travel-time payload when provided.
listing_metadata
- listing_metadata.labels (array[object], optional): Listing labels when provided.
- listing_metadata.labels[].label (string, optional): Label text.
- listing_metadata.labels[].type (string, optional): Label category code.
- listing_metadata.top_labels (array[string], optional): Featured listing labels.
- listing_metadata.skills (array[string], optional): Listed skills.
- listing_metadata.position_metadata (object, optional): Listing placement metadata.
- listing_metadata.position_metadata.positionOnPage (number, optional): Position index on page.
- listing_metadata.position_metadata.positionAbsolute (number, optional): Absolute position across results.
- listing_metadata.harmonized_id (string, optional): Harmonized listing identifier.
- listing_metadata.job_posting_sequence (number, optional): StepStone job-posting sequence value.
- listing_metadata.fingerprint_count (number, optional): Fingerprint count when provided.
- listing_metadata.is_highlighted (boolean, optional): Highlight flag.
- listing_metadata.is_sponsored (boolean, optional): Sponsored flag.
- listing_metadata.is_top_job (boolean, optional): Top-job flag.
- listing_metadata.is_partner_traffic (boolean, optional): Partner-traffic flag.
partner_details
- partner_details.partnership (object, optional): Partnership metadata.
- partner_details.partnership.isPartnershipJob (boolean, optional): Partnership-job flag.
- partner_details.partnership.showPartnershipLabel (boolean, optional): Partnership label visibility.
- partner_details.partnership.isBackfilled (boolean, optional): Backfilled listing flag.
- partner_details.partnership.sourceSiteFriendlyName (string, optional): Partner source label.
- partner_details.partnership.isCrossPosted (boolean, optional): Cross-posted flag.
content_details
- content_details.job_snippet_html (string, optional): Listing snippet in HTML.
- content_details.job_snippet_cleaned (string, optional): Plain-text snippet cleaned from HTML formatting.
- content_details.detail_sections (array[object], optional): Full normalized detail sections promoted from the detail page.
- content_details.detail_sections[].name (string, optional): Internal section key.
- content_details.detail_sections[].title (string, optional): Section title.
- content_details.detail_sections[].is_collapsible (boolean, optional): Whether the section is collapsible.
- content_details.detail_sections[].should_title_be_displayed (boolean, optional): Whether the title should be displayed.
- content_details.detail_sections[].content_html (string, optional): Raw section HTML.
- content_details.detail_sections[].content_text (string, optional): Plain-text section content.
- content_details.detail_sections[].paragraphs (array[string], optional): Paragraphs extracted from the section.
- content_details.detail_sections[].bullet_points (array[string], optional): Bullet points extracted from the section.
- content_details.detail_sections[].links (array[object], optional): Links extracted from the section.
- content_details.detail_sections[].links[].text (string, optional): Link text.
- content_details.detail_sections[].links[].url (string, optional): Absolute link URL.
- content_details.full_description (string, optional): Plain-text description derived from the
descriptiondetail section.
detail_page
- detail_page.page_context (object, optional): Detail page context metadata.
- detail_page.page_context.language (string, optional): Listing language.
- detail_page.page_context.listing_badges (array[string], optional): Badges displayed on the detail page.
- detail_page.page_context.is_offline (boolean, optional): Offline state when exposed by StepStone.
- detail_page.page_context.resolved_url (string, optional): Final resolved detail URL after redirects.
- detail_page.applying_details (object, optional): Application metadata.
- detail_page.applying_details.listing_id (number, optional): Native listing ID.
- detail_page.applying_details.listing_global_id (string, optional): Global listing identifier used in the apply URL.
- detail_page.applying_details.applying_url (string, optional): External application URL derived from the global listing ID.
- detail_page.content_sections.sections (array[object], optional): Public detail-page sections.
- detail_page.content_sections.sections[].section_key (string, optional): Public section key.
- detail_page.content_sections.sections[].title (string, optional): Section title.
- detail_page.content_sections.sections[].html (string, optional): Raw section HTML.
- detail_page.content_sections.sections[].text (string, optional): Plain-text section content.
- detail_page.content_sections.sections[].paragraphs (array[string], optional): Paragraphs extracted from the section.
- detail_page.content_sections.sections[].bullet_points (array[string], optional): Bullet points extracted from the section.
- detail_page.content_sections.sections[].links (array[object], optional): Links extracted from the section.
- detail_page.content_sections.sections[].links[].text (string, optional): Link text.
- detail_page.content_sections.sections[].links[].url (string, optional): Absolute link URL.
- detail_page.company_profile_details (object, optional): Company passport content visible on the detail page.
- detail_page.company_profile_details.videos (array[object], optional): Company profile videos.
- detail_page.company_profile_details.videos[].url (string, optional): Video URL.
- detail_page.company_profile_details.videos[].provider (string, optional): Video provider label.
- detail_page.company_profile_details.images (array[object|string], optional): Company profile images.
- detail_page.company_profile_details.profile_sections (array[object], optional): Company profile sections.
- detail_page.company_profile_details.profile_sections[].title (string, optional): Profile section title.
- detail_page.company_profile_details.profile_sections[].html (string, optional): Raw profile section HTML.
- detail_page.company_profile_details.profile_sections[].text (string, optional): Plain-text profile section content.
- detail_page.company_profile_details.profile_sections[].paragraphs (array[string], optional): Paragraphs extracted from the profile section.
- detail_page.media_details (object, optional): Detail-page media metadata.
- detail_page.media_details.hero_images (array[object], optional): Hero images displayed on the listing page.
- detail_page.media_details.hero_images[].desktop (string, optional): Desktop hero image URL.
- detail_page.media_details.hero_images[].mobile (string, optional): Mobile hero image URL.
- detail_page.media_details.company_hero_image_url (string, optional): Company hero image URL from the company passport.
- detail_page.media_details.images (array[object], optional): Additional multimedia images when provided.
- detail_page.media_details.videos (array[object], optional): Additional multimedia videos when provided.
- detail_page.diagnostics (object, optional): Diagnostic metadata exposed by StepStone.
- detail_page.diagnostics.company_passport_enabled (boolean, optional): Whether company passport content is enabled for the listing.
- detail_page.diagnostics.lvp (object, optional): StepStone diagnostic scoring payload.
- detail_page.diagnostics.lvp.job_id (string, optional): Listing ID inside the diagnostic payload.
- detail_page.diagnostics.lvp.lpp (number, optional): Diagnostic
lppscore. - detail_page.diagnostics.lvp.lpp_day0 (number, optional): Diagnostic
lpp_day0score. - detail_page.diagnostics.lvp.lpp_mod (number, optional): Diagnostic
lpp_modscore. - detail_page.diagnostics.lvp.lpp_day0_mod (number, optional): Diagnostic
lpp_day0_modscore. - detail_page.diagnostics.lvp.lvp (number, optional): Diagnostic
lvpscore. - detail_page.diagnostics.lvp.lvp_day0 (number, optional): Diagnostic
lvp_day0score. - detail_page.diagnostics.lvp.lvp_mod (number, optional): Diagnostic
lvp_modscore. - detail_page.diagnostics.lvp.lvp_day0_mod (number, optional): Diagnostic
lvp_day0_modscore. - detail_page.diagnostics.lvp.brand_id (string, optional): StepStone brand identifier.
compensation_details
- compensation_details.salary_text (string, optional): Salary text as displayed in search results.
- compensation_details.salary_range (object, optional): Structured salary range from search results.
- compensation_details.salary_range.min (number|null, optional): Minimum salary value.
- compensation_details.salary_range.max (number|null, optional): Maximum salary value.
- compensation_details.salary_range.currency (string|null, optional): Salary currency.
- compensation_details.salary_range.period (string|null, optional): Salary period.
- compensation_details.salary_range.salaryAvailable (boolean, optional): Salary availability flag.
- compensation_details.salary_range.salaryType (string|null, optional): Salary type label.
- compensation_details.cv_to_job_score (number, optional): StepStone CV-to-job score when exposed in result items.
- compensation_details.detail_salary (object, optional): Detail-page salary block or predicted salary payload.
- compensation_details.detail_salary.isPredicted (boolean, optional): Whether the detail salary is predicted.
- compensation_details.detail_salary.min (number, optional): Minimum salary value.
- compensation_details.detail_salary.max (number, optional): Maximum salary value.
- compensation_details.detail_salary.period (string, optional): Salary period label.
- compensation_details.detail_salary.currency (string, optional): Salary currency symbol.
- compensation_details.detail_salary.currencyIso (string, optional): ISO currency code.
- compensation_details.detail_salary.locale (string, optional): Locale attached to the salary payload.
Additional notes
- Some records may also include additional_details (object) when StepStone returns extra structured fields that are not yet promoted into one of the documented groups above.
Data guarantees & handling
- Best-effort extraction: fields may vary by region/session/availability/UI experiments.
- Optional fields: null-check in downstream code.
- Deduplication: recommend
id.
How to Run on Apify
- Open the actor in Apify Console.
- Configure your search parameters (for example keywords, domain, location, and optional filters).
- Set the maximum number of outputs to collect.
- Click Start and wait for the run to finish.
- Download results in JSON, CSV, Excel, or other supported formats.
Scheduling & Automation
Recurring Hiring Intelligence
StepStone listings change fast — new roles appear daily, salary fields update, and companies rotate campaigns. For serious market tracking, one-off runs are not enough.
This actor is designed for recurring, structured hiring monitoring across:
- Specific employers (e.g., monitor hiring spikes)
- Cities or regions (Berlin vs Vienna vs Amsterdam)
- Skill clusters (e.g., Data Analyst + Python)
- Remote/hybrid shifts
- Language segmentation (German vs English postings)
- Recency windows (24h / 7 days)
Typical automation setups:
- Daily runs (24Hours filter) → Capture newly published listings only
- Weekly runs (7Days filter) → Trend tracking & reporting snapshots
- Employer monitoring → Detect volume changes for specific companies
- Remote-work tracking → Measure hybrid vs fully remote adoption
How to Schedule
- Open the actor in Apify Console
- Configure a stable input (queries, domain, filters)
- Navigate to Schedules
- Create a recurring schedule (daily / weekly / cron)
- Keep
publishedDateset to24Hoursor7Daysfor delta-style monitoring
Production Automation Patterns
This actor is commonly used in structured pipelines:
-
Webhook → ETL → Data Warehouse Push new listings into Snowflake, BigQuery, Postgres, or S3.
-
Webhook → Enrichment → CRM Enrich company records or trigger sales research flows.
-
Scheduled Run → BI Dashboard Refresh Power hiring trend dashboards segmented by country or city.
-
Delta Monitoring Actor already deduplicates all of the data. But if you are doing it across a database, Use
idas an idempotency key to safely upsert listings without duplication.
Because listing IDs are stable, recurring runs are safe for incremental ingestion.
Performance
This actor is optimized for structured listing extraction at scale across StepStone country domains.
Typical runtime expectations:
- < 1,000 listings: ~2–3 minutes
- 1,000–5,000 listings: ~5–15 minutes
- 5,000+ listings: ~15–30 minutes
Performance depends primarily on:
- Number of queries
- Country domain used
- Result pagination depth
- Whether detailed pages are fetched via search discovery
For large recurring jobs:
- Segment queries by country for predictable throughput
- Use 24 hour trailing filter for daily delta monitoring
Compliance & Ethics
Intended Use
This actor collects publicly available job listing metadata from StepStone country domains:
- stepstone.de
- stepstone.at
- stepstone.be
- stepstone.nl
It is designed for:
- Labor market research
- Hiring trend analysis
- Competitive employer monitoring
- Salary transparency analysis
- Structured job data enrichment
Best Practices
- Use collected data in accordance with applicable laws, regulations, and the target site’s terms.
- Respect individual privacy and personal information.
- Use data responsibly and avoid disruptive or excessive collection.
- Do not use this actor for spamming, harassment, or other harmful purposes.
- Follow relevant data protection requirements where applicable (e.g., GDPR, CCPA).
Support
For help, use the actor page Issues section in Apify Console. When reporting a problem, include the input used (redacted), the run ID, a short expected-vs-actual behavior summary, and an optional small output sample to speed up troubleshooting.