Sweden Jobtech Jobs Scraper avatar

Sweden Jobtech Jobs Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Sweden Jobtech Jobs Scraper

Sweden Jobtech Jobs Scraper

Sweden JobTech Jobs Scraper is a Python tool designed to extract job listings, employer details, geographic locations, requirements, and posting dates from the Swedish JobTech (Arbetsförmedlingen) API. It exports structured labor market data into clean CSV or JSON formats for career analysis.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

ZeroBreak

ZeroBreak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Sweden JobTech Jobs Scraper — Collect Swedish Platsbanken Job Ads

Overview

Sweden JobTech Jobs Scraper collects publicly available job advertisements from Sweden's Platsbanken job service and saves them as structured dataset records. Search by keyword, filter by municipality concept ID, or retrieve a specific advertisement using its job ID.

The collected data includes job titles, descriptions, employers, employment types, occupations, application deadlines, and other available listing details. Export your dataset in JSON, CSV, or Excel format.

Features

  • Keyword search: Find job advertisements matching terms such as Python, Django, or software development.
  • Municipality filtering: Narrow search results using a municipality concept ID.
  • Single-ad retrieval: Retrieve a specific job advertisement using its Platsbanken ID.
  • Structured job data: Collect employer details, job descriptions, vacancy counts, and application deadlines.
  • HTML cleanup: Convert job description content into plain text.
  • Duplicate removal: Prevent duplicate records based on advertisement IDs.
  • Configurable result limits: Control the number of records saved per run, up to 1,000.
  • Multiple export formats: Download results as JSON, CSV, or Excel.

Use Cases

  • Hiring research: Find current Swedish vacancies and organize them by title, employer, and application deadline.
  • Local job lists: Collect opportunities associated with a specific municipality.
  • Individual vacancy lookup: Retrieve a particular advertisement when its Platsbanken ID is known.
  • Technology job research: Search for roles involving Python, web development, data engineering, and other skills.
  • Recruitment analysis: Compare employers, employment types, occupations, and vacancy counts.
  • Scheduled data collection: Refresh job datasets periodically to track newly available opportunities.

Input Parameters

ParameterTypeDefaultDescription
modeStringsearchSelect search to find advertisements or ad to retrieve one advertisement by ID.
queryStringpythonSearch phrase matched against job headlines, advertisement text, and employer names.
municipalityStringEmptyOptional municipality taxonomy concept ID used to filter search results.
adIdStringEmptyPlatsbanken advertisement ID required when using ad mode.
maxItemsInteger100Maximum number of dataset rows to save, including any error records. Maximum: 1,000.
timeoutSecsInteger300Overall run time limit in seconds. Records already saved are retained when the run stops.
requestTimeoutSecsInteger30Maximum time to wait for an individual request, in seconds.

Example Input

Search for Python jobs

{
"mode": "search",
"query": "python",
"municipality": "",
"adId": "",
"maxItems": 100,
"timeoutSecs": 300,
"requestTimeoutSecs": 30
}

Search within a municipality

{
"mode": "search",
"query": "python",
"municipality": "qk8Y_2b6_82D",
"maxItems": 100
}

Replace the municipality concept ID with the identifier for the area you want to search.

Retrieve a specific advertisement

{
"mode": "ad",
"adId": "31579964",
"maxItems": 1
}

Use the advertisement's Platsbanken ID in adId to retrieve a specific job listing.

What Data Does This Actor Extract?

Each collected advertisement becomes a dataset row. The actor stores the job description under jobDescription and removes HTML markup from its text fields where applicable.

Extracted Data Fields

FieldTypeDescription
relevanceNumberSearch relevance score when provided.
idStringPlatsbanken advertisement ID.
external_idString or nullExternal identifier when available.
original_idString or nullOriginal advertisement identifier when available.
labelArrayLabels associated with the advertisement.
webpage_urlStringPublic page for the job advertisement.
logo_urlStringEmployer logo location when available.
headlineStringJob advertisement headline.
application_deadlineStringApplication deadline supplied with the advertisement.
number_of_vacanciesNumberNumber of vacancies listed.
jobDescriptionObjectJob description content, including available text fields.
employment_typeObjectEmployment type concept and label.
employerObjectEmployer information, such as name, workplace, and organization number.
occupationObjectOccupation concept and label.
scrapedAtStringUTC timestamp indicating when the record was saved.

Some fields may be absent or null depending on the information available for an individual advertisement.

Example Output

{
"relevance": 1.0,
"id": "31579964",
"external_id": null,
"original_id": null,
"label": [],
"webpage_url": "JOB_LISTING_URL",
"logo_url": "EMPLOYER_LOGO_URL",
"headline": "Python Developer Team Lead",
"application_deadline": "2026-11-08T23:59:59",
"number_of_vacancies": 2,
"jobDescription": {
"text": "Vi soker en Senior Teamledare / Tech Lead",
"text_formatted": "Vi soker en Senior Teamledare / Tech Lead"
},
"employment_type": {
"concept_id": "sTu5_NBQ_udq",
"label": "Tidsbegransad anstallning"
},
"employer": {
"name": "Hykmann Global Business Solutions AB",
"workplace": "Lantmateriet",
"organization_number": "5594904012"
},
"occupation": {
"concept_id": "FC86_VDF_rqB",
"label": "Teamledare"
},
"scrapedAt": "2026-10-12T03:00:00+00:00"
}

The example demonstrates the expected record structure. Actual values depend on the selected search criteria and the information available for each advertisement.

Working with Your Dataset

Once collection is complete, you can:

  • Export records as JSON, CSV, or Excel.
  • Sort advertisements by application deadline or publication-related information when available.
  • Group vacancies by employer, occupation, or employment type.
  • Search job descriptions for relevant technologies and skills.
  • Analyze vacancies by municipality when using municipality filters.
  • Import the results into spreadsheets, recruitment workflows, or data analysis tools.

Important Notes

  • Search mode uses the query parameter to find matching advertisements.
  • The municipality parameter accepts a municipality concept ID rather than a municipality name.
  • Single-ad mode uses adId to identify the requested advertisement.
  • The default maximum is 100 records per run, with a hard maximum of 1,000.
  • Search results are collected in pages, and the actor stops when the item limit or available result range is reached.
  • Duplicate advertisements are identified using their id field.
  • Some fields may be missing because the original advertisement does not provide them.
  • Job availability, descriptions, and application deadlines can change over time.
  • Review the applicable data license before redistributing or republishing collected information.

FAQ

How many advertisements can one run collect?

The default limit is 100 records per run. You can increase maxItems to 1,000.

Can I search for jobs in a particular municipality?

Yes. Provide the appropriate municipality concept ID in the municipality parameter.

Can I retrieve just one job advertisement?

Yes. Set mode to ad and provide the advertisement ID through adId.

What happens if my search returns no matching advertisements?

The actor may produce an error record instead of job records. Check the run output and your search parameters if no advertisements are returned.

Why is the job description field called jobDescription?

The actor stores the original description content under jobDescription to maintain a compatible dataset schema and removes HTML markup from its text content.

Can I export the results to a spreadsheet?

Yes. The collected dataset supports JSON, CSV, and Excel exports.

Will every run return the same advertisements?

Not necessarily. The results depend on the search query, municipality filter, available listings, and time of collection.

Disclaimer

This is an independent tool and is not affiliated with, endorsed by, sponsored by, or officially associated with Sweden JobTech, Arbetsförmedlingen, or their respective owners. Users are responsible for ensuring that their collection, storage, redistribution, and use of collected information comply with applicable laws and licensing conditions.

Collecting information that is already public is generally legal. Scraping is not the same thing as hacking, and there is no single law that bans it. The limits are the usual ones: do not break into accounts, do not take private or confidential data, and be careful with personal data and copyrighted works. A site's terms can also restrict how you access it. Facts such as a public name, price, or rating are not the same thing as republishing someone's article or photo.

This actor collects information from public pages. It does not log in and it does not bypass access controls.

For a longer explanation, see Apify's article Is web scraping legal?.