NAV Norway Scraper — Job Listings from arbeidsplassen.nav.no
Pricing
from $1.20 / 1,000 result scrapeds
NAV Norway Scraper — Job Listings from arbeidsplassen.nav.no
Scrape job listings, employers, locations, and posting dates from NAV Arbeidsplassen, Norway's public employment service job board. Public API access, no login.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
NAV Norway Scraper
Extract job listings from arbeidsplassen.nav.no, the job board run by NAV — Norway's public employment service (Arbeids- og velferdsetaten) and the country's largest single source of open positions.
This Actor pulls job titles, employers, locations, posting dates, employment types, and descriptions directly from NAV's official pam-stilling-feed open-data API. No login, no cookies, no browser automation, no anti-bot workaround needed — it reads structured JSON straight from the source.
What does NAV Norway Scraper do?
Give it a Norwegian keyword (for example sykepleier, selger, or lærer) and, optionally, a municipality or county. The Actor pages through NAV's public job-ad feed, filters for active postings matching your query, fetches full ad detail for each match, and returns clean, structured records you can download as JSON, CSV, Excel, or HTML — or pull through the Apify API into your own systems.
Because it runs on the Apify platform, you also get scheduling, monitoring, and integrations (webhooks, Make, Zapier, Google Sheets) out of the box.
Why use NAV Norway Scraper?
- Largest job pool in Norway. NAV aggregates vacancies directly registered by employers plus postings imported from third-party ATS systems nationwide.
- Labour-market research. Track hiring demand by occupation, municipality, or sector over time.
- Recruitment and sourcing. Build lead lists of Norwegian companies actively hiring for a role.
- Job aggregators. Feed a niche job site or newsletter with fresh, structured Norwegian listings.
- No anti-bot headaches. NAV's feed API is public and open, so runs are fast and reliable.
- Fills the Nordic PES gap. Companion to our Arbetsförmedlingen (Sweden) scraper — together they cover the two largest Nordic public employment services.
How to scrape NAV data
- Open the Actor and go to the Input tab.
- Enter a Search Query in Norwegian (e.g.,
sykepleier,elektriker,renholder). - Optionally set a Location — a Norwegian municipality or county name (e.g.,
OSLO,BERGEN,AKERSHUS). - Set Max Results to control how many listings you want (capped at 500 per run).
- Click Start. When the run finishes, open the Output tab and download your data as JSON, CSV, Excel, or HTML.
That's it. You can also schedule the Actor to run daily and be notified of new listings.
How the data is sourced
Unlike a typical keyword-search API, arbeidsplassen.nav.no's official open-data
API (pam-stilling-feed, documented at
navikt.github.io/pam-stilling-feed)
is a paginated change feed of ad events, not a ?q=keyword search endpoint.
This Actor:
- Fetches a fresh public access token from NAV's token endpoint (rotates periodically — the Actor always grabs a current one, never a hardcoded value).
- Jumps into the feed near the present using NAV's
If-Modified-Sinceheader, then pages forward through feed events (1000 per page — the API's fixed page size, not configurable). - Filters for
status: ACTIVEads whose title matches your search query. - Fetches full detail (employer, work locations, description, employment
type) for each match, applies the location filter if set, and pushes
results until
maxResultsis reached.
This means result volume for very narrow search terms combined with a tight location filter can be lower than on a true search API — the Actor pages up to 25 feed pages (~25,000 events, comfortably covering the last week+ of NAV activity) before giving up and returning whatever it found.
Input
| Field | Type | Description |
|---|---|---|
searchQuery | string | Norwegian keyword to match against job titles. Defaults to sykepleier. |
location | string | Norwegian municipality or county name. Leave empty to search all of Norway. |
maxResults | integer | Maximum number of job listings to return (default 100, hard cap 500). |
proxyConfiguration | object | Proxy settings. Apify datacenter proxies work well since this is a public API. |
Example input
{"searchQuery": "sykepleier","location": "OSLO","maxResults": 50,"proxyConfiguration": {"useApifyProxy": true}}
Output
Each job is returned as one dataset record. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Example output item
{"id": "5682dc63-a73b-459b-ad5e-0039e171faa5","title": "Sykepleier","company": "Byåsen hjemmetjeneste, Trondheim kommune","locationRaw": "TRONDHEIM","locationParsed": {"city": "TRONDHEIM","country": "NO"},"language": "no","postedAt": "2026-07-29T00:00:00+02:00","descriptionSnippet": "Vil du være med på å skape trygghet og livskvalitet for hjemmeboende i Byåsen? Byåsen hjemmetjeneste har ledig en fast 100 prosent stilling som sykepleier med oppstart etter avtale...","url": "https://arbeidsplassen.nav.no/stillinger/stilling/5682dc63-a73b-459b-ad5e-0039e171faa5","employmentType": "Fast, Heltid","salaryRaw": null,"source": "arbeidsplassen.nav.no","scrapedAt": "2026-08-04T17:27:46.060Z"}
Data fields
| Field | Description |
|---|---|
id | NAV job ad UUID — stable identifier, used for de-duplication |
title | Job posting title |
company | Hiring employer name |
locationRaw | Work location(s) as NAV lists them (municipality/county), comma-separated |
locationParsed.city / .country | Parsed city and country code (always "NO") |
language | Detected posting language (ISO 639-1) — usually no, occasionally en |
postedAt | ISO 8601 publish date, or null if missing |
descriptionSnippet | Plain-text excerpt of the job description (300–400 chars, HTML stripped) |
url | Absolute URL to the posting on arbeidsplassen.nav.no |
employmentType | Engagement type + extent as NAV expresses it (e.g. "Fast, Heltid" = permanent, full-time) |
salaryRaw | Always null — NAV's feed schema has no salary field |
source | Always "arbeidsplassen.nav.no" |
scrapedAt | ISO 8601 collection timestamp |
How much does it cost to scrape NAV?
The Actor reads a lightweight JSON API, so runs are cheap and fast. Cost estimate: roughly one API call per result (fetched in small concurrent batches to keep runs fast) — a typical run of 100 listings finishes in a couple of minutes and uses a small amount of compute. Pricing follows this Actor's pay-per-result configuration on the Apify Store — check the pricing box on the Actor page for the current rate.
Note: usage cost only settles once a run reports status SUCCEEDED.
If you read the dataset mid-run or check cost before the run finishes, the
number you see will undercount — always check final cost after the run
has completed, not before.
Tips and advanced options
- Norwegian keywords. The board is Norwegian. Use Norwegian job titles
(
sykepleier,selger,lærer,sjåfør,renholder,butikk) for the best coverage. English terms will mostly miss, since the vast majority of postings are written in Norwegian. - Location names. Use Norwegian municipality or county names in
uppercase-style spelling as NAV itself uses (e.g.,
BERGEN,TRØNDELAG). Matching is case-insensitive and substring-based, so"oslo"also works. - Broaden if you get fewer results than expected. Because this is a feed
API rather than a true search index, very narrow query + location
combinations can return fewer matches than
maxResultswithin the Actor's page budget — try a broader keyword or drop the location filter. - Deduplication. Results are de-duplicated by ad UUID within a run.
Limitations
- This Actor searches recent feed activity (roughly the last one to two weeks of postings, depending on how quickly the feed's event volume advances), not NAV's full historical archive back to 2019.
- No salary data — NAV's own schema doesn't carry it.
- Search is a client-side title match against a change feed, not a full-text search index — see "How the data is sourced" above.
FAQ, disclaimers, and support
Is scraping NAV legal? This Actor reads NAV's own official open-data API, published for third-party consumption under NAV's terms of use. Use the data responsibly and in line with applicable terms and data-protection law. You are responsible for how you use the extracted data.
Do I need an account or API key? No. The Actor fetches a fresh public access token automatically at the start of every run. No registration, login, or cookies are required.
Why do I sometimes get fewer results than maxResults? See "Tips and
advanced options" above — this is a feed-based search, not a keyword index,
so very narrow filters can run out of matches within the Actor's page
budget.
Something's not working. Open an issue on the Actor's Issues tab with your input and the run link. Custom fields or a tailored version can also be arranged.
Related Scrapers
Looking for job data from other European public employment services? Check out our companion Actors:
- Arbeitsagentur Scraper — Germany's Federal Employment Agency
- Arbetsförmedlingen Scraper — Sweden's public employment service
- France Travail Scraper — France's public employment service
- VDAB Scraper — Flanders (Belgium) public employment service
- Le Forem Scraper — Wallonia (Belgium) public employment service
- Werk.nl Scraper — Netherlands' public employment service