Arbetsförmedlingen Jobs Scraper – Swedish Public Job Ads
Pricing
from $1.50 / 1,000 result items
Arbetsförmedlingen Jobs Scraper – Swedish Public Job Ads
Extract Swedish public job ads from the official Arbetsförmedlingen JobTech API by keyword, municipality, region, occupation and employment type: employer, workplace, occupation, hours, salary type, posting and closing date. No contact details. JSON, CSV or Excel.
Pricing
from $1.50 / 1,000 result items
Rating
0.0
(0)
Developer
Yusuke Suda
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Arbetsförmedlingen Jobs Scraper — Swedish public job ads
Extract Swedish public job ads from the official Arbetsförmedlingen JobTech API by keyword, municipality, region, occupation and employment type: employer, workplace, occupation, hours, salary type, posting and closing date. No contact details.
Three rows from a real run
| Title | Employer | Workplace | Occupation | Published |
|---|---|---|---|---|
| Rekondchef till ledande aktör inom fordonsbranschen | Aura Personal AB | Strängnäs, Södermanlands län | Bilrekonditionerare | 2026-10-21 |
| Kundmottagare sökes till däcksäsong i Stockholm | Aura Personal AB | Stockholm, Stockholms län | Kundmottagare/Arbetsledare bilverkstad | 2026-10-21 |
| Kundmottagare sökes i Stockholm | Aura Personal AB | Stockholm, Stockholms län | Kundmottagare/Arbetsledare bilverkstad | 2026-10-21 |
The default run (no filter, maxItems: 100) on 21 October 2026 returned 100 ads in 11 seconds and costs $0.15 at $1.50 per 1,000 results. The API held 42,204 ads that day.
Arbetsförmedlingen, the Swedish Public Employment Service, publishes the ads of Platsbanken through its open JobTech JobSearch API. This Actor asks that API, not the website: no page is scraped and no key is needed. Places, occupations and employment types can be given by name; the Actor looks them up in the JobTech taxonomy.
Press Start. The defaults return the first 100 ads the API serves for all of Sweden (newest first when no keyword is given).
What a row looks like
{"id": "31623537","title": "Rekondchef till ledande aktör inom fordonsbranschen","employer_name": "Aura Personal AB","employer_website": "https://www.aurapersonal.se","workplace_city": "Strängnäs","workplace_municipality": "Strängnäs","workplace_region": "Södermanlands län","workplace_country": "Sverige","occupation": "Bilrekonditionerare","occupation_group": "Bilrekonditionerare, fönsterputsare m.fl.","occupation_field": "Sanering och renhållning","employment_type": "Vanlig anställning","working_hours": "Heltid","duration": "Tills vidare","salary_type": "Fast månads- vecko- eller timlön","salary_description": "","number_of_vacancies": 1,"published_at": "2026-10-21","application_deadline": "2026-11-20","remote": null,"url": "https://arbetsformedlingen.se/platsbanken/annonser/31623537","source_url": "https://arbetsformedlingen.se/platsbanken/annonser/31623537"}
No contact details are kept: the API returns each ad's contact persons, e-mail addresses and phone numbers, the ad text and the workplace street address, and the Actor drops them before anything is stored. The employer's name goes through the catalogue's person-name rule: where it is a person's own name (a sole trader), it is left empty and employer_name_withheld is true (0 of 100 in the example run).
Every row also carries employer_name_withheld, source_site and scraped_at.
| Field | What it holds | How often it is filled (example run, 100 rows) |
|---|---|---|
id, title | The ad's id at Arbetsförmedlingen; its headline | Always |
employer_name | Employer (organisation); empty where it is a person's own name | Always |
employer_website | Employer's website where the ad gives one | Always |
workplace_city, workplace_municipality, workplace_region, workplace_country | Where the job is | Always |
occupation, occupation_group, occupation_field | Occupation, its SSYK group and field (JobTech taxonomy) | Always |
employment_type | e.g. Vanlig anställning, Vikariat, Behovsanställning | Always |
working_hours | Heltid / Deltid | 94 of 100 |
duration | How long the job lasts | 94 of 100 |
salary_type | How pay is set (fixed, commission, …) | Always |
salary_description | Pay as the employer describes it | 0 of 100 |
number_of_vacancies | Places to fill | Always |
published_at, application_deadline | Day published; closing day | Always |
remote | true when the ad marks remote work (or remote was asked for) | 0 of 100 |
url, source_url | The ad on Platsbanken (both the same page) | Always |
Input
| Field | What it does |
|---|---|
keyword | Free text, searched in the headline, the ad text and the employer name, e.g. sjuksköterska, lärare, developer. |
municipality | A municipality by name or code, e.g. Stockholm, Göteborg, 0180. |
region | A region (län) by name or code, e.g. Stockholm (Stockholms län), Skåne, 01. |
country | A country by Swedish name or ISO code, e.g. Norge, NO (ads for work abroad). |
occupationField, occupationGroup | As the JobTech taxonomy names them, e.g. Data/IT, Grundskollärare. |
employmentType | e.g. Vanlig anställning, Vikariat, Behovsanställning. |
publishedAfter | Only ads published on or after this day. |
remote | Only ads the API marks as likely to allow remote work (it matches phrases in the ad). |
maxItems | Stop after this many ads (2,000 at most). |
A name the taxonomy does not know returns no rows and says so in the run's status.
How it works
The Actor sends one search to the API and reads its results 100 at a time, waiting a second between pages; a "too many requests" answer is retried after a pause. The API serves the first 2,100 ads of any search, so a run returns 2,000 at most: narrow a broad search by place, occupation or date to reach the rest.
Pricing
$1.50 per 1,000 results (event result-item), no start fee. Set a maximum charge per run in the run options to cap it.
Good to know
- The data is what the API serves on the day of the run.
- Questions or a missing field: open an issue on this Actor.