FINN.no Job Scraper avatar

FINN.no Job Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
FINN.no Job Scraper

FINN.no Job Scraper

[💰 $1.00 / 1K] Extract job listings from FINN.no, Norway's largest classifieds and job marketplace. Search by keyword and county, filter by occupation, employment type, contract, remote work and sector, and get titles, employers, locations, salaries, deadlines and full descriptions.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

3

Monthly active users

a month ago

Last modified

Share

Pull job listings from FINN.no — Norway's dominant classifieds and job marketplace — at scale, with employer names, locations down to the county (fylke), published pay ranges, application deadlines, contact persons, and full Norwegian job descriptions in one clean row per posting. Filter by 16 counties, 13 occupation categories, working hours, contract type, remote work, sector, and work language. Built for Norwegian recruiters, HR-tech platforms, labor-market analysts, and relocation services who need structured finn.no/job data without copy-pasting ads one page at a time.

Why This Scraper?

  • All 16 Norwegian counties (fylke) — from Oslo and Akershus to Troms, Finnmark, and Svalbard. Each row's county matches the job's listed location, and multi-site ads list every place they hire in (workLocations).
  • 13 occupation categories (yrkeskategori) — narrow to Nursing, Healthcare staff, Engineering, Skilled trades, Teaching, Childcare, Logistics, Management, and more without crafting search links by hand.
  • Six precision filters in one actor — full-time vs. part-time, four contract types (permanent, temporary, engagement/project, summer/seasonal), partial or fully remote, private vs. public sector, work language (Norwegian or English), and management-roles-only (leder, direktør, fagleder). Most filters are also stamped on every matching row (for example Heltid, Offentlig, Engelsk), so fast runs stay labeled.
  • Full job descriptions and named contacts — opt-in detail enrichment adds each ad's full description (text and HTML), street address, contact person with title, company website, industry, contract type, hours, home-office policy, work languages, and FINN's own job-function categories.
  • Structured pay ranges — minimum and maximum pay in NOK, per year or per hour, plus the employer's own pay note, whenever the ad publishes a salary. positions shows how many seats the employer is hiring for.
  • Deadlines you can act on — every ad with a fixed closing date carries it, and an Apply ASAP flag (deadlineAsap) marks ads that say "Snarest" instead of a date.
  • "Posted today" and newest-first sorting — surface fresh listings the moment they hit finn.no, or leave the keyword box empty to list every job that matches your filters.
  • Up to ~2,500 jobs per search — follows FINN.no's own ceiling, with exact result limits up to 50; combine county and occupation facets to push total coverage far beyond that.
  • Direct FINN.no URL replay — paste any filtered finn.no/job search you built in the browser and the scraper honors those exact filters, with automatic de-duplication across overlapping keyword searches.

Use Cases

Recruitment & Talent Sourcing

  • Build candidate-outreach lists from named contact persons on every detail-enriched ad
  • Track competitor job postings by employer across counties
  • Monitor newly posted roles in a single occupation category daily
  • Map open-position counts to gauge which employers are hiring at volume

Labor Market Research

  • Measure hiring demand by county, occupation, and sector over time
  • Compare full-time vs. part-time and permanent vs. temporary mix across regions
  • Track salary signals and remote-work adoption across Norwegian industries
  • Quantify public-sector vs. private-sector hiring activity

Competitive Hiring Intelligence

  • Watch a rival employer's open roles, job functions, and deadlines
  • Benchmark your job-ad volume against sector peers
  • Detect expansion signals from sudden spikes in a company's postings
  • Identify which roles competitors recruit for in English vs. Norwegian

Relocation & Immigration Services

  • Surface English-language roles for international candidates relocating to Norway
  • Filter remote-eligible positions for clients working from abroad
  • Map opportunities by county to advise on where to settle
  • Pull application deadlines so clients never miss a closing date

Aggregators & Data Products

  • Feed a job board or vertical search engine with fresh Norwegian listings
  • Enrich an existing CRM with employer, location, and contact data
  • Power salary-benchmarking and hiring-trend dashboards
  • Build alerting systems for new postings in target categories

Getting Started

The fastest way to start — one keyword, default limit:

{
"searchQueries": ["utvikler"],
"maxResults": 50
}

The most useful combination — narrow by region, category, and freshness:

{
"searchQueries": ["sykepleier"],
"counties": ["Oslo", "Akershus"],
"occupations": ["Sykepleier"],
"employmentExtent": "fulltime",
"sortBy": "published",
"maxResults": 500
}

Advanced Multi-Filter Run

Most options populated for deep, targeted research — permanent, full-time, English-speaking engineering and management roles on the west coast, with full details:

{
"searchQueries": ["prosjektleder", "ingeniør"],
"counties": ["Vestland", "Rogaland"],
"occupations": ["Ingeniør", "Ledelse"],
"employmentExtent": "fulltime",
"contractType": "permanent",
"sector": "private",
"workLanguage": "english",
"sortBy": "published",
"fetchJobDetails": true,
"maxResults": 500
}

Already dialed in a search on finn.no? Paste the URL as-is (this one lists developer jobs in Oslo):

{
"startUrls": ["https://www.finn.no/job/search?q=utvikler&location=1.20001.20061"],
"maxResults": 200
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchQueriesarray[] (form prefilled with utvikler)Job titles or keywords. Each keyword runs a separate search; results are merged and de-duplicated. Up to 50 keywords. Leave empty to list all jobs that match your filters.
startUrlsarray[]Full FINN.no job-search URLs. Filters baked into each URL are scraped exactly as-is (the filters below apply to keyword searches only). Up to 50 URLs.
maxResultsinteger100Max jobs per search keyword or URL. Limits of 50 or less are exact; larger limits can run slightly over (by less than 2%). Set to 0 for all available.

Filters

ParameterTypeDefaultDescription
countiesarray[]One or more of 16 Norwegian counties (Oslo, Akershus, Vestland, Rogaland, Trøndelag, Innlandet, Agder, Østfold, Buskerud, Vestfold, Nordland, Møre og Romsdal, Telemark, Troms, Finnmark, Svalbard). Empty = all of Norway.
occupationsarray[]One or more of 13 categories, entered by their Norwegian name: Barnehage (childcare), Butikkansatt (retail), Helsepersonell (healthcare staff), Håndverker (skilled trades), Ingeniør (engineering), Kontor og administrasjon (office & administration), Kundeservice (customer service), Ledelse (management), Logistikk og lager (logistics & warehouse), Mat og servering (food & hospitality), Omsorg og sosialt arbeid (care & social work), Sykepleier (nursing), Undervisning og pedagogikk (teaching & education).
employmentExtentstring"" (Any)Working hours: fulltime (heltid) or parttime (deltid).
contractTypestring"" (Any)Contract: permanent (fast), temporary (vikariat), engagement (engasjement + prosjekt), or seasonal (sommer/sesong).
remoteWorkstring"" (Any)Remote arrangement: partial (delvis hjemmekontor) or full (kun hjemmekontor).
sectorstring"" (Any)Employer sector: private (privat) or public (offentlig).
workLanguagestring"" (Any)Working language: norwegian (norsk) or english (engelsk).
managerRolebooleanfalseOnly return management / leadership positions (leder, direktør, fagleder).
postedTodaybooleanfalseOnly return jobs posted in the last 24 hours (Nye i dag), counted from when the run starts, so runs scheduled once a day don't overlap.

Sorting & Detail

ParameterTypeDefaultDescription
sortBystring"relevant"relevant (Most relevant) or published (Newest first).
fetchJobDetailsbooleanfalseTurn on to fetch the full description, street address, contact person, company website, industry, and each ad's own contract type, hours, sector, work languages, home-office policy and job-function categories from its detail page. Off by default for fast scans; enable it whenever you need descriptions or contacts.

Output

Each job is one flat row. Fast runs already include the title, employer, logo, location, county, all work locations, coordinates, position title, open positions, pay range (when listed), published date, deadline, and the Apply ASAP flag. Contract type, hours, sector, work language, home office, and occupation category are also filled on fast runs whenever your filter pins a single value (one occupation category; a permanent, temporary, or seasonal contract; or any hours, sector, language, or home-office choice). Turn on fetchJobDetails to add the description, street address, contact person, company website, and industry, plus each ad's own contract type, hours, sector, work languages, home-office policy, and job-function categories.

{
"adId": "477251093",
"title": "Senior backend-utvikler til voksende produktteam",
"employer": "Nordlys Teknologi AS",
"companyUrl": "https://www.nordlysteknologi.no/",
"logoUrl": "https://images.finncdn.no/dynamic/default/jobs/company-profile/logo/nordlys.jpg",
"location": "Oslo - Sentrum",
"county": "Oslo",
"workLocations": [
{ "place": "Oslo", "municipality": "Sentrum", "county": "Oslo", "country": "Norge" },
{ "place": "Bergen", "municipality": "Bergen", "county": "Vestland", "country": "Norge" }
],
"address": { "street": "Storgata 1", "postcode": "0155", "city": "Oslo", "country": "NO" },
"coordinates": { "lat": 59.9139, "lng": 10.7522 },
"sector": "Privat",
"industry": "IT",
"occupations": ["Utvikler (generell)", "Full stack utvikler"],
"jobFunction": "Senior backend-utvikler",
"employmentType": "Fast",
"extent": "Heltid",
"managerRole": null,
"remoteWork": "Delvis hjemmekontor",
"positions": 2,
"salary": "650 000 – 810 000 NOK per year",
"salaryMin": 650000,
"salaryMax": 810000,
"salaryPeriod": "year",
"salaryNote": "Pensjon og forsikring i tillegg.",
"workLanguages": ["Norsk", "Engelsk"],
"published": "2026-09-23T11:37:14Z",
"deadline": "2026-10-11",
"deadlineAsap": false,
"contactName": "Kari Nordmann",
"contactTitle": "Teamleder",
"descriptionText": "Vi søker en erfaren backend-utvikler...",
"descriptionHtml": "<p>Vi søker en erfaren backend-utvikler...</p>",
"labels": ["Enkel søknad"],
"url": "https://www.finn.no/job/ad/477251093",
"searchQuery": "utvikler",
"scrapedAt": "2026-09-26T14:07:49.588017Z"
}

Core Fields

FieldTypeDescription
adIdstringFINN.no ad identifier (finnkode).
titlestringJob ad headline as posted.
jobFunctionstringPosition title the employer lists (for example "Senior backend-utvikler").
employmentTypestringContract type in FINN's words: Fast, Vikariat, Engasjement, Prosjekt, Sommer/Sesong, and others. Filled on detail runs, and on fast runs filtered to permanent, temporary, or seasonal contracts.
extentstringHeltid (full-time) or Deltid (part-time). Filled on detail runs and on fast runs using the full-time / part-time filter.
managerRolebooleantrue on every row of a Management Roles Only run; empty otherwise.
remoteWorkstringHome-office policy as the ad states it: Ingen hjemmekontor, Delvis hjemmekontor, or Kun hjemmekontor. Filled on detail runs when the ad names a policy, and on fast runs using the remote-work filter.
positionsnumberNumber of open seats for the role.
occupationsarrayFINN's job-function categories in Norwegian (for example Ingeniør, Prosjektledelse, Ledelse). Detail runs list every category on the ad; fast runs fill it when you filter by exactly one occupation category.
urlstringLink to the live job ad on FINN.no.

Salary

Salary fields are filled only when the employer publishes pay on the ad; otherwise they are empty.

FieldTypeDescription
salarystringPay range as text, for example "650 000 – 810 000 NOK per year" or "244 – 248 NOK per hour".
salaryMinnumberLowest listed pay in NOK.
salaryMaxnumberHighest listed pay in NOK (empty when only one figure is given).
salaryPeriodstringyear or hour.
salaryNotestringThe employer's own note about pay and benefits, when given.

Company

FieldTypeDescription
employerstringEmployer / company name.
companyUrlstringCompany website, when listed (detail runs).
logoUrlstringEmployer logo image URL.
sectorstringPrivat (private), Offentlig (public), or Organisasjoner (non-profit). Filled on detail runs and on fast runs using the sector filter.
industrystringIndustries (bransje) the employer lists, comma-separated (detail runs).

Location

FieldTypeDescription
locationstringWork location as displayed on the ad (place, municipality, or "Oslo - district").
countystringNorwegian county (fylke) of the listed location.
workLocationsarrayEvery place the ad hires in, each as { place, municipality, county, country }. Multi-site ads list several.
addressobjectStreet address as { street, postcode, city, country } (detail runs). street is empty when the ad gives only a postcode and city.
coordinatesobject{ lat, lng } geographic coordinates.

Job Details

FieldTypeDescription
descriptionTextstringFull job description as plain text (detail runs).
descriptionHtmlstringFull job description with original HTML formatting (detail runs).
deadlinestringApplication deadline (ISO 8601), when the ad has a fixed closing date.
deadlineAsapbooleantrue when the ad says "Snarest" (apply as soon as possible) instead of a fixed date. On ads where the employer set both "Snarest" and a date, fast runs can miss the flag — turn on fetchJobDetails to catch them.
contactNamestringNamed contact person for the role (detail runs).
contactTitlestringContact person's job title, when listed (detail runs).
workLanguagesarrayWorking languages: ["Norsk"], ["Engelsk"], or both. Filled on detail runs when the ad names them, and on fast runs using the work-language filter.
labelsarrayBadges shown on the listing: "Enkel søknad" (easy apply) and "Siste frist" (closing soon).

Metadata

FieldTypeDescription
publishedstringPublication date and time (ISO 8601).
searchQuerystringThe keyword or pasted URL that surfaced this row; empty for an all-jobs search with no keyword.
scrapedAtstringWhen the row was collected (ISO 8601).

Tips for Best Results

  • Break the ~2,500-per-search ceiling by faceting — FINN.no caps any single search at roughly 2,500 ads. Split a broad keyword across counties or occupation categories and merge the runs to collect far more.
  • Turn on fetchJobDetails for descriptions and contacts — full descriptions, street addresses, named contact persons, company websites, and industry only appear when detail enrichment is enabled. Deadlines, pay ranges, and locations are already on fast runs, so leave it off for quick volume scans.
  • Replay browser searches with startUrls — dial in the exact filters you want on finn.no, copy the URL, and paste it. The scraper honors every filter baked into the URL (the form filters are not added on top), which is handy for niche facets not exposed as inputs.
  • Use sortBy: "published" with postedToday for daily monitors — newest-first ordering plus the "posted today" filter gives you a clean feed of fresh listings for alerting workflows.
  • Target English-language roles for international hiring — set workLanguage to english to surface jobs aimed at non-Norwegian speakers, ideal for relocation and global-talent use cases.
  • Combine sector and managerRole for executive search — public or private sector plus management-roles-only narrows straight to leadership openings.
  • Leave keywords empty to list every matching job — with an empty keyword box, the filters alone decide the results (for example every public-sector job posted today). Several keywords in one run merge and de-duplicate automatically, so synonyms like "utvikler" and "developer" won't double-count.

Pricing

From $1.00 per 1,000 results — predictable pay-per-result pricing that gets cheaper as you reach higher Apify loyalty tiers.

ResultsNo discountBronzeSilverGold
100$0.12$0.113$0.1065$0.10
1,000$1.20$1.13$1.065$1.00
10,000$12.00$11.30$10.65$10.00
100,000$120.00$113.00$106.50$100.00

Until October 11, 2026, every plan pays the flat Gold price of $1.00 per 1,000 results. The No discount, Bronze, and Silver prices above take effect on October 11, 2026; Gold stays at $1.00.

A "result" is one job row returned to your dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new job listings
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access

This scraper collects publicly available job listings from FINN.no for legitimate purposes such as recruitment, labor-market research, and business analysis. You are responsible for using the collected data in compliance with FINN.no's terms of service, applicable data-protection laws (including Norwegian and EU/EEA GDPR rules), and any restrictions on personal data. Do not use contact details for unsolicited bulk outreach that violates anti-spam regulations. Always respect the rights of data subjects and use the data ethically and responsibly.