nav.no APInav.no ↗
Search and retrieve job listings from Norway's official NAV job board. Filter by county, sector, remote options, and more. Full job details via UUID.
curl -X GET 'https://api.parse.bot/scraper/ab1a4dc6-c874-4fb4-b6b6-4be87c791e61/search_jobs?q=engineer&from=0&size=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for job listings with optional query and various filters. Returns paginated results with aggregations (facets). Pagination is controlled via 'from' offset parameter.
| Param | Type | Description |
|---|---|---|
| q | string | Search query term (e.g. 'engineer', 'sykepleier'). Omitting returns all listings. |
| from | integer | Pagination offset (number of results to skip). |
| size | integer | Number of results per page. |
| sort | string | Sort order (e.g. 'published', 'relevant'). |
| extent | string | Filter by extent (e.g. 'Heltid', 'Deltid'). |
| remote | string | Filter by remote options (e.g. 'Hybridkontor', 'Hjemmekontor ikke mulig', 'Ikke oppgitt'). |
| sector | string | Filter by sector (e.g. 'Privat', 'Offentlig'). |
| counties | string | Filter by county (e.g. 'OSLO', 'VESTLAND', 'AKERSHUS'). |
| published | string | Filter by publication date (e.g. 'now-3d', 'now-7d'). |
| municipals | string | Filter by municipality (e.g. 'OSLO', 'BERGEN', 'TRONDHEIM'). |
| engagementType | string | Filter by engagement type (e.g. 'Fast', 'Vikariat', 'Engasjement', 'Prosjekt'). |
{
"type": "object",
"fields": {
"hits": "object containing total count and array of job listing hits",
"took": "integer, query time in milliseconds",
"total": "object with value (integer count) and relation (string)"
},
"sample": {
"data": {
"hits": {
"hits": [
{
"_id": "34849d7e-f9df-4f80-89c2-9095628bf513",
"_score": 23.23,
"_source": {
"uuid": "34849d7e-f9df-4f80-89c2-9095628bf513",
"title": "Laboratory engineer",
"published": "2026-05-06T23:57:00.831068616+02:00",
"businessName": "Oslo universitetssykehus HF",
"locationList": [
{
"city": "OSLO",
"county": "OSLO"
}
]
}
}
],
"total": {
"value": 410,
"relation": "eq"
},
"max_score": 23.23
},
"took": 65,
"total": {
"value": 410,
"relation": "eq"
}
},
"status": "success"
}
}About the nav.no API
The NAV.no API provides access to job listings from Norway's official labour and welfare administration job board, arbeidsplassen.no, through 3 endpoints. Use search_jobs to query and filter the full listing index, get_job_detail to pull structured metadata and full description text for a specific listing by UUID, and get_facets to retrieve all valid filter values with counts before building a query.
Searching Job Listings
The search_jobs endpoint accepts a free-text q parameter alongside filters for counties (e.g. OSLO, VESTLAND), sector (Privat, Offentlig), extent (Heltid, Deltid), and remote options such as Hybridkontor. Results are paginated using from as an offset and size for page length. Each call returns a hits object with a total.value count and an array of matching listings, plus a took field indicating server query time in milliseconds. Sorting is controlled via the sort parameter, supporting values like published or relevant.
Job Detail and Facets
get_job_detail takes a listing uuid — available from search_jobs results as _id — and returns four top-level fields: uuid, metadata (structured data including title, employer, locationList, and properties), description (the full plain-text job description), and page_details (key-value pairs such as Stillingstittel, Type ansettelse, and Sektor). It also returns a similar_jobs array of related listings with their own uuid, title, and url.
Exploring Filter Options
get_facets requires no parameters and returns an aggregations object covering categories like extent, sector, counties, remote, engagementType, and published, each with bucket counts. This makes it straightforward to discover which filter values actually have active listings before constructing a search_jobs call — useful for populating dropdowns or validating filter inputs programmatically.
- Aggregate Norwegian job market trends by sector and county using
aggregationsbucket counts fromget_facets - Build a filtered job board for Norwegian remote or hybrid roles using the
remoteandcountiesparameters insearch_jobs - Track new public-sector (
Offentlig) listings over time by pollingsearch_jobssorted bypublished - Extract structured employer and location data from
metadata.employerandmetadata.locationListfields for workforce analytics - Power a job recommendation feature using the
similar_jobsarray returned byget_job_detail - Populate search UI dropdowns with valid, live filter values and counts from
get_facetswithout hardcoding options - Index full job description text from the
descriptionfield inget_job_detailfor NLP or keyword analysis
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does NAV have an official developer API?+
What does `get_facets` return and when should I use it?+
get_facets returns an aggregations object with bucket counts for filter categories including extent, sector, counties, remote, engagementType, and published. Use it before building a search_jobs call to confirm which filter values have active listings — the counts reflect the current state of the index.How does pagination work in `search_jobs`?+
from parameter to skip a number of results and size to control how many are returned per page. The total number of matching listings is available in hits.total.value, which lets you calculate how many pages exist.