StepStone Sweden Scraper
Pricing
from $1.49 / 1,000 results
StepStone Sweden Scraper
Scrape job listings from StepStone Sweden (stepstone.se). Filter by keyword, city, and date. Full descriptions in HTML, text & Markdown. Repost detection included. $1.49/1,000 results.
Pricing
from $1.49 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share

Extract structured job listings from StepStone Sweden (stepstone.se), Sweden's specialist job board for managers and professionals. Filter by keyword, city, and age — full descriptions, repost detection, and scheduled feed mode included. No API key required.
Why this scraper?
⚡ No browser, no proxy required
Pure HTTP extraction from StepStone Sweden's server-rendered pages. Runs on 512 MB — fast, lightweight, and cost-efficient.
🇸🇪 Full Swedish job market coverage
Access thousands of active listings across all Swedish cities — Stockholm, Göteborg, Malmö, Uppsala, and beyond.
📄 Three description formats
Every job detail page delivers the full vacancy text in HTML, plain text, and Markdown — ready for any downstream pipeline.
🔄 Cross-run repost detection
The built-in deduplication cache (90-day memory) flags reposts with isRepost: true and tracks the original publish date — so scheduled feeds never contain duplicates.
🗓️ Flexible filtering
Filter by keyword, city, and maximum age in days. Combine daysOld: 1 with skipReposts: true for a clean daily feed of genuinely new listings.
🔗 Direct URL support
Supply any StepStone Sweden search URL or individual job URL via startUrls — bypasses the search logic entirely and scrapes exactly what you need.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "" | Keyword(s) to search for. Example: "software developer", "sjuksköterska", "chef". Leave empty to browse all listings. |
location | string | "" | City or region. Example: "Stockholm", "Göteborg", "Malmö". Leave empty for all of Sweden. |
maxResults | integer | 100 | Maximum number of job listings to return. |
fetchDetails | boolean | true | Fetch each job's detail page for full description, salary, and apply URL. Disable for faster list-only runs. |
skipReposts | boolean | false | Skip jobs already seen in previous runs. Combine with daysOld: 1 for clean daily feeds. |
daysOld | integer | 0 | Only return jobs posted within the last N days. 0 = no age filter. |
startUrls | array | [] | Direct StepStone Sweden URLs to scrape (search pages or job detail pages). Overrides keyword/location search. |
Output schema
Always present
| Field | Type | Description |
|---|---|---|
url | string | Full URL of the job listing page |
jobId | string | Unique job identifier extracted from URL |
source | string | Always "stepstone.se" |
language | string | Always "sv" (Swedish) |
country | string | Always "SE" |
title | string|null | Job title as listed |
company | string|null | Hiring organisation name |
companyUrl | string|null | Company website (when available) |
companyLogoUrl | string|null | Company logo image URL (when available via JSON data) |
city | string|null | City of the vacancy |
location | string|null | Full location string (may include region) |
publishDate | string|null | Human-readable publish date in Swedish format |
publishDateISO | string|null | Publish date in ISO 8601 format (YYYY-MM-DD) |
daysOld | integer|null | Number of days since the listing was published |
isRepost | boolean | true if this job was seen in a previous run |
originalPublishDate | string|null | First publish date when isRepost is true |
originalUrl | string|null | Original URL when isRepost is true |
contentHash | string | MD5 fingerprint of description content (first 16 chars) |
summary | string|null | Short description snippet from the list page |
scrapedAt | string | ISO 8601 timestamp of when this item was scraped |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
contractType | string|null | Employment type (e.g., "FULL_TIME", "PART_TIME") |
workSchedule | string|null | Work schedule when published by the employer |
salaryMin | number|null | Minimum salary (null if not published by employer) |
salaryMax | number|null | Maximum salary (null if not published by employer) |
salaryPeriod | string|null | Salary period (e.g., "YEAR", "MONTH") |
salaryCurrency | string|null | Currency code — typically "SEK" |
applyUrl | string|null | Direct application URL when available |
expiryDate | string|null | Listing expiry date when published (YYYY-MM-DD) |
descriptionHtml | string|null | Full job description as raw HTML |
descriptionText | string|null | Full job description as plain text (tags stripped) |
descriptionMarkdown | string|null | Full job description converted to Markdown |
Example output record
{"url": "https://www.stepstone.se/jobb/senior-software-engineer-spotify-stockholm-7824391","jobId": "7824391","source": "stepstone.se","language": "sv","country": "SE","title": "Senior Software Engineer","company": "Spotify Technology S.A.","companyUrl": "https://www.spotify.com/","companyLogoUrl": "https://cdn.stepstone.se/logo-spotify.gif","city": "Stockholm","location": "Stockholm","contractType": "FULL_TIME","workSchedule": null,"salaryMin": null,"salaryMax": null,"salaryPeriod": null,"salaryCurrency": "SEK","applyUrl": "https://www.stepstone.se/jobb/senior-software-engineer-spotify-stockholm-7824391/apply","publishDate": "2 maj 2026","publishDateISO": "2026-05-02","daysOld": 1,"expiryDate": "2026-06-01","descriptionHtml": "<h2>About the role</h2><p>We are looking for a Senior Software Engineer...</p>","descriptionText": "About the role We are looking for a Senior Software Engineer...","descriptionMarkdown": "## About the role\n\nWe are looking for a Senior Software Engineer...","contentHash": "a3f8c912e04b7d1a","summary": "Vi söker en erfaren mjukvaruingenjör till vårt backend-team...","isRepost": false,"originalPublishDate": null,"originalUrl": null,"scrapedAt": "2026-05-03T11:42:00.000Z"}
Examples
Search for IT jobs in Stockholm:
{"searchQuery": "software developer","location": "Stockholm","maxResults": 200,"fetchDetails": true,"daysOld": 30}
Search for nursing roles across all of Sweden:
{"searchQuery": "sjuksköterska","location": "","maxResults": 500,"fetchDetails": true,"daysOld": 14,"skipReposts": false}
Scrape directly from a saved search URL:
{"startUrls": [{ "url": "https://www.stepstone.se/lediga-jobb-i-hela-sverige/data-it/" },{ "url": "https://www.stepstone.se/lediga-jobb-i-goteborg/" }],"maxResults": 100,"fetchDetails": true}
Daily feed — new listings only (for scheduling):
{"searchQuery": "chef","location": "Sverige","maxResults": 1000,"fetchDetails": true,"daysOld": 1,"skipReposts": true}
💰 Pricing
$1.49 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$1.49 |
| 10,000 | ~$14.90 |
| 100,000 | ~$149.00 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Use the Max results cap in the input to control your spend exactly.
Performance
| Run size | Approx. time | Memory |
|---|---|---|
| 100 jobs (with details) | ~3–5 min | 512 MB |
| 500 jobs (with details) | ~15–25 min | 512 MB |
| 1,000 jobs (list only) | ~5–10 min | 512 MB |
| 10,000 jobs (list only) | ~45–90 min | 512 MB |
Known limitations
- Salary data: Rarely published by Swedish employers —
salaryMin/salaryMaxare oftennull - Apply URL: StepStone Sweden uses application flows via their platform; direct external apply links are not always available
- Historical listings: The scraper retrieves only currently active listings — expired jobs are not accessible
Technical details
- Source: stepstone.se — Sweden's specialist job board for managers and professionals (Schibsted group)
- Architecture (v3.0.0): JSON-HTML — extracts from Next.js
__NEXT_DATA__JSON as primary source; falls back to/_next/data/{buildId}/*.jsonAPI for paginated requests; CSS selectors used only as last resort. JSON-LD on detail pages. - Memory: 512 MB
- Repost storage: KeyValueStore
stepstone-se-job-dedup, 90-day TTL - Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request
Additional services
Need a custom actor, additional filters, scheduled runs, or integration support?.nl](mailto:info@unfencedgroup.nl) — we build on request.
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl