Finn.no $0.8💰 URL | Keyword | Deep Search Scraper
Pricing
from $0.80 / 1,000 results
Finn.no $0.8💰 URL | Keyword | Deep Search Scraper
From $0.8/1K. Scrape active Finn.no ads via search builder or URL. Returns 30+ fields per ad, including full HTML description, employer details, deadline, contacts, languages, sector, industries, keywords, and apply URL.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
AbotAPI
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Finn.no Jobs Scraper
Scrape every active job ad on Finn.no, Norway's largest classifieds portal, in two clicks. Two input modes (Search builder, URL paste), 30+ structured fields per ad including the full HTML description, employer details, deadline, contact persons, working languages, sector, industries, keywords, and the apply URL. Fast and free-tier-friendly: runs on the Apify default proxy with no extra setup.
Why This Scraper?
- 30+ fields per ad, not just the SERP card. Pulls the structured JSON-LD JobPosting plus rendered detail-page metadata (sector, industries, contact persons, keywords, apply URL).
- Two input modes that both work for individual ads or full searches: build by keyword, location, employment type, industry, occupation, sector, working language, and posted-since; or paste any finn.no/job URL (including a single /job/ad/
- Designed for free-tier usage: default proxy is the Apify Datacenter pool, available on every plan. Three-tier preflight ladder demotes to no-group, then no-proxy, if the chosen tier fails.
- Per-search budget cap so multi-keyword runs return a fair share from each search; client-side de-duplication across pages and searches via finnkode.
- ~50 ads per SERP page, 2 to 5 ads per second sustained, low memory (256 MB default).
- Skip sponsored placements ("Betalt plassering") with a single checkbox if you only want organic results.
Data You Get
Sample shape: values are illustrative placeholders, not from a live ad.
| Field | Example |
|---|---|
id | "460000000" |
idInt | 460000000 |
url | "https://www.finn.no/job/ad/460000000" |
title | "Sample Job Title" |
subtitle | "Sample Subtitle Headline" |
employer | "Sample Employer AS" |
employerUrl | "http://www.example.com/" |
employerHomepage | "http://www.example.com/" |
employerLogo | "https://images.finncdn.no/dynamic/default/0000/0/0/000000_0000000000.png" |
streetAddress | "Sample Street 1" |
postalCode | "0000" |
city | "Oslo" |
addressCountry | "NO" |
locationDisplay | "Oslo" |
locationLink | "https://www.finn.no/job/search?location=1.20001.20061" |
latitude | 59.9000 |
longitude | 10.7000 |
datePosted | "2026-01-01" |
datePostedEpochMs | 1735689600000 |
relativePosted | "2 dager siden" |
applicationDeadline | "2026-02-01" |
applicationDeadlineEpochMs | 1738368000000 |
applicationDeadlineRaw | "01.02.2026" |
lastModified | "2026-01-01T09:00:00.000Z" |
lastModifiedEpochMs | 1735722000000 |
employmentForm | "Fast" |
employmentType | ["FULL_TIME"] |
employmentTypeRequested | "fulltime" |
sector | "Privat" |
industries | ["Sample Industry A", "Sample Industry B"] |
jobFunction | "Sample Function" |
internalJobTitle | "Sample Internal Title" |
workingLanguages | ["Norsk", "Engelsk"] |
contactPersons | [{ "name": "Jane Doe", "phones": ["+4700000000"], "emails": ["jane@example.com"] }] |
keywords | ["sample", "keyword", "tags"] |
applyUrl | "https://example.com/apply/000" |
descriptionHtml | "<p>Full HTML ad description goes here.</p>" |
descriptionText | "Full ad description as plain text goes here." |
breadcrumb | ["FINN", "Jobb", "Søk", "Oslo"] |
sponsored | false |
scrapedAt | "2026-01-01T00:00:00.000Z" |
How to Use
1) Search by keyword + location
{"mode": "search","queries": ["developer"],"location": "1.20001.20061","employmentType": "fulltime","maxPages": 5,"maxListings": 200,"fetchDetails": true}
2) Search multiple keywords with industry filter
{"mode": "search","queries": ["sykepleier", "lege", "fysioterapeut"],"employmentType": "fulltime","industry": "9","publishedSince": "7","sortBy": "published_desc","maxPages": 3,"maxListings": 150}
3) Search English-language management roles
{"mode": "search","queries": ["product manager"],"employmentType": "management","workLanguage": "english","sector": "private","skipSponsored": true,"maxPages": 2}
4) URL mode (paste any Finn.no URL, including a single ad)
{"mode": "url","urls": ["https://www.finn.no/job/search?q=developer&extent=3947&location=1.20001.20061","https://www.finn.no/job/search?extent=3942&location=0.22030","https://www.finn.no/job/ad/460000000"],"maxPages": 5,"maxListings": 250,"fetchDetails": true}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | enum | search | search (use builder fields) or url (paste URLs). |
queries | array of strings | ["developer"] | One search per keyword. Empty = browse without keyword filter. |
location | string | empty | Finn.no hierarchical location code (e.g. 1.20001.20061 for Oslo, 1.20001.20015 for Vestland). Pick a filter on finn.no/job and copy from ?location=. |
employmentType | enum | fulltime | any / fulltime (Heltid, extent=3947) / parttime (Deltid, extent=3942) / management (Lederstillinger, manager_role=6702). |
industry | string | empty | Finn.no industry code from ?industry=. |
occupation | string | empty | Finn.no occupation/job-function code from ?occupation=. |
sector | enum | any | any / private / public. |
workLanguage | enum | any | any / norwegian / english / swedish / danish / other. |
publishedSince | enum | any | any / 1 / 3 / 7 / 14 / 30 (days). |
sortBy | enum | default | default (relevance), published_desc (newest), deadline_asc (closest deadline). |
skipSponsored | bool | false | Drop "Betalt plassering" cards (paid placements). |
urls | array of strings | example URL | URL mode only. Each URL is paged forward independently. |
maxPages | int | 2 | Max SERP pages per search (or per pasted URL). |
maxListings | int | 0 | Cap across all searches. 0 = no cap. |
fetchDetails | bool | true | Also fetch each ad's detail page for the full HTML description, deadline, sector, industries, contact persons, keywords, apply URL. |
proxy | object | Apify Datacenter | Free-tier-friendly default. For higher volume or Norway-pinned routing, set groups: ["RESIDENTIAL"], country: "NO". |
Output Example
Sample shape: values are illustrative placeholders, not from a live ad.
{"id": "460000000","idInt": 460000000,"url": "https://www.finn.no/job/ad/460000000","title": "Sample Job Title","subtitle": "Sample Subtitle Headline","employer": "Sample Employer AS","employerUrl": "http://www.example.com/","employerHomepage": "http://www.example.com/","employerLogo": "https://images.finncdn.no/dynamic/default/0000/0/0/000000_0000000000.png","streetAddress": "Sample Street 1","postalCode": "0000","city": "Oslo","addressCountry": "NO","locationDisplay": "Oslo","locationLink": "https://www.finn.no/job/search?location=1.20001.20061","latitude": 59.9,"longitude": 10.7,"datePosted": "2026-01-01","datePostedEpochMs": 1735689600000,"relativePosted": "2 dager siden","applicationDeadline": "2026-02-01","applicationDeadlineEpochMs": 1738368000000,"applicationDeadlineRaw": "01.02.2026","lastModified": "2026-01-01T09:00:00.000Z","lastModifiedEpochMs": 1735722000000,"employmentForm": "Fast","employmentType": ["FULL_TIME"],"employmentTypeRequested": "fulltime","sector": "Privat","industries": ["Sample Industry A", "Sample Industry B"],"jobFunction": "Sample Function","internalJobTitle": "Sample Internal Title","workingLanguages": ["Norsk", "Engelsk"],"contactPersons": [{ "name": "Jane Doe", "phones": ["+4700000000"], "emails": ["jane@example.com"] }],"keywords": ["sample", "keyword", "tags"],"applyUrl": "https://example.com/apply/000","descriptionHtml": "<p>Full HTML ad description goes here.</p>","descriptionText": "Full ad description as plain text goes here.","breadcrumb": ["FINN", "Jobb", "Søk", "Oslo"],"sponsored": false,"scrapedAt": "2026-01-01T00:00:00.000Z"}
Plan Requirement
This scraper runs on every Apify plan: the default useApifyProxy: true config uses the shared Datacenter pool that is available on Free and paid tiers alike. For larger runs, or if you see throttling, switch the proxy field to { useApifyProxy: true, apifyProxyGroups: ["RESIDENTIAL"], apifyProxyCountry: "NO" } (Apify Starter or higher). You can also paste your own proxy URLs in the proxy field.