FINN.no Scraper — Property, Jobs, Cars & Torget
Pricing
from $2.00 / 1,000 results
FINN.no Scraper — Property, Jobs, Cars & Torget
Scrape FINN.no, Norway's largest marketplace: property (sale, rent, plots), job ads, cars and Torget classifieds in one actor. Price, m2, energy label, coordinates, agent phones — or employer, deadline, contacts — or VIN, mileage, full car specs. No proxy needed.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
17
Total users
16
Monthly active users
5 days ago
Last modified
Categories
Share
FINN.no Scraper — Norway Property, Jobs, Cars & Torget
Turn any FINN.no search into clean, structured data. FINN is Norway's largest marketplace, and this actor covers four of its verticals in one run: property listings (for sale, rentals, new-builds, holiday homes, plots), job ads, cars & vehicles, and Torget classifieds. Paste any FINN search or ad URL, or build a search from filters, and get one flat row per listing.
| Input | Row(s) emitted |
|---|---|
…/realestate/homes/search.html?location=0.20061 | One property row per listing on every page |
…/realestate/lettings/search.html?… | One property row per rental, with deposit and furnishing |
…/realestate/homes/ad.html?finnkode=473282564 | One fully detailed property row |
…/job/search?q=utvikler | One job row per ad on every page |
…/job/ad/472810559 | One fully detailed job row |
…/mobility/search/car?variant=0.817 | One car row per vehicle on every page |
…/mobility/item/441416549 | One fully detailed car row |
…/recommerce/forsale/search?q=sykkel | One torget row per classified ad |
…/recommerce/forsale/item/473315083 | One fully detailed torget row |
| Filter builder (locations, price, area, keyword…) | Same as the matching search URL |
Pure HTTP. No browser, no third-party bypass service, and no proxy needed — FINN serves datacenter IPs without a bot challenge, so proxy traffic costs you nothing.
✨ Why use this scraper?
- Four verticals, one actor — Norwegian property, jobs, vehicles and classifieds from a single run and a single bill, instead of stitching four scrapers together.
- Reads FINN's own data layer — property rows come from the same structured payload FINN's website consumes, so you get exact numbers (
7 490 000 NOK,59.93029 / 10.71958) rather than scraped-and-reparsed strings. - Contact details included — property ads carry the agent's or private seller's phone numbers; job ads carry the named contact person plus their phone and the apply URL.
- Full vehicle records — car ads return FINN's complete spec table: registration number, VIN, owner count, next EU inspection date, CO₂, power, towing capacity, boot volume and colour, alongside price excluding the re-registration fee.
- Rental-aware — lettings rows add deposit, what the rent includes, furnishing level and whether pets are allowed, not just the monthly figure.
- 50 listings per page — property searches paginate in 50s, so large sweeps finish fast.
- Verified filters only — every filter in the input was checked against FINN's live result counts. Filters FINN doesn't honour are not offered, so a search never silently ignores what you asked for.
- JSON, CSV, Excel or API — pipe straight into your sheet, BI tool or pipeline. Billed per listing.
🎯 Use cases
| You are a… | Use it to… |
|---|---|
| Property analyst | Track asking prices, price per m², energy labels and days-on-market across Norwegian counties |
| Estate agency | Monitor competitor listings and viewing schedules in your area |
| Proptech / portal | Seed a Norwegian property dataset with coordinates, photos and full descriptions |
| Recruiter / job board | Track live Norwegian vacancies by keyword, employer, industry and deadline |
| Lead generation | Reach listing agents and hiring contacts through the phone numbers published on the ads |
| Investor / researcher | Compare rent vs sale economics per neighbourhood using deposit, shared cost and collective debt |
| Car dealer / valuation | Track used-vehicle asking prices by make, model, year and mileage, with full spec records |
| Resale / arbitrage | Watch Torget classifieds for underpriced items by keyword and price band |
📥 Supported inputs
- Property search URLs —
https://www.finn.no/realestate/{homes|lettings|newbuildings|leisure-sale|plots}/search.html?…with any filters you set on the site. - Property ad URLs —
https://www.finn.no/realestate/homes/ad.html?finnkode={id}. Always fully detailed. - Job search URLs —
https://www.finn.no/job/search?q=…. See the FAQ aboutlocationin job URLs. - Job ad URLs —
https://www.finn.no/job/ad/{id}. Always fully detailed. - Car search / ad URLs —
https://www.finn.no/mobility/search/car?…andhttps://www.finn.no/mobility/item/{id}. - Torget search / ad URLs —
https://www.finn.no/recommerce/forsale/search?q=…andhttps://www.finn.no/recommerce/forsale/item/{id}. - Filter builder — counties by name (
Oslo,Vestland, …) or FINN codes, plus price, area, bedrooms, property type, ownership type, energy label, car price/year/mileage, and Torget price band.
⚙️ How it works

- Classify every pasted URL into vertical × search/ad, and build extra search URLs from your filters.
- Paginate each search — property through FINN's structured data feed (50 listings per page); jobs, cars and Torget through their results pages (~50 cards per page).
- Enrich each listing from its own ad page when Scrape detail pages is on.
- Export one row per listing — JSON, CSV, Excel or API.
⚙️ Input parameters
| Field | Type | Default | What it does |
|---|---|---|---|
startUrls | array | [] | FINN search / ad URLs, auto-classified across all four verticals |
vertical | string | realestate | Which vertical the filter builder targets |
section | string | homes | homes, lettings, newbuildings, leisure-sale, plots |
locations | array | ["Oslo"] | County names or FINN codes (0.20061, 1.22042.20166) |
searchQuery | string | — | Free-text property keyword |
priceFrom / priceTo | integer | — | Price range in NOK (monthly rent for lettings) |
areaFrom / areaTo | integer | — | Usable internal area in m² |
minBedrooms | integer | — | Minimum bedrooms |
propertyTypes | array | all | 1 Enebolig · 2 Tomannsbolig · 3 Leilighet · 4 Rekkehus · 6 Garasje · 9 Industri · 11 Gårdsbruk · 18 Andre · 20 Bygård |
ownershipTypes | array | all | 1 Obligasjon · 2 Aksje · 3 Selveier · 4 Andel · 255 Annet |
energyLabels | array | any | 1 = A … 7 = G |
privateSellerOnly | boolean | false | Only ads posted without an agency |
publishedToday | boolean | false | Only ads first published today |
jobQuery | string | — | Free-text job keyword |
jobOccupations / jobIndustries | array | all | FINN occupation= / industry= codes |
jobLocationContains | string | — | Narrows job rows by location text after parsing |
carQuery | string | — | Free-text vehicle keyword |
carPriceFrom / carPriceTo | integer | — | Vehicle price range in NOK |
carYearFrom / carYearTo | integer | — | Model-year range |
carMileageTo | integer | — | Max odometer reading in km |
torgetQuery | string | — | Free-text classifieds keyword |
torgetPriceFrom / torgetPriceTo | integer | — | Classifieds price range in NOK |
scrapeDetails | boolean | false | Fetch each ad's own page for the full payload |
maxItems | integer | 1000 | Hard cap on rows for the whole run |
maxItemsPerSearch | integer | 1000 | Cap per search |
maxConcurrency | integer | 6 | Parallel HTTP requests (1–20) |
maxRequestRetries | integer | 8 | Retry budget on transient 403/429/5xx |
proxy | object | none | Optional override; not needed |
📊 Output overview
Each dataset record is one listing. rowType tells the four shapes apart: property carries price, area, rooms and agent details; job carries employer, deadline and hiring contacts; car carries the vehicle spec record; torget carries the classified ad. Columns belonging to one vertical are absent on the others.
📦 Output samples
rowType: "property" (a rental, with detail mode on)
{"rowType": "property","finnkode": "467925455","heading": "Moderne leilighet | Internett og hvitevarer inkludert","url": "https://www.finn.no/realestate/lettings/ad.html?finnkode=467925455","section": "lettings","price": { "amount": 25300, "currency": "NOK" },"deposit": { "amount": 75900, "currency": "NOK" },"rentIncludes": "Internett, hvitevarer, bod","furnishing": "Umøblert","animalsAllowed": false,"propertyType": "Leilighet","areaFrom": 64,"bedrooms": 3,"address": "Hausmanns gate 19 B, Oslo","localArea": "Sentrum","coordinates": { "latitude": 59.9166, "longitude": 10.7563 },"contactPhones": ["98192618"],"facilities": ["Balkong/Terrasse", "Garasje/P-plass", "Moderne", "Sentralt"],"imageUrls": ["https://images.finncdn.no/dynamic/default/…"],"detailScraped": true,"scrapedAt": "2026-08-17T13:03:58.512Z"}
rowType: "job" (with detail mode on)
{"rowType": "job","adId": "469164249","title": "Utvikler kryptoforsering","url": "https://www.finn.no/job/ad/469164249","employer": "Etterretningstjenesten","location": "Lutvannsveien 60, 0676 Oslo","deadline": "18.08.2026","employmentType": "Fast","sector": "Offentlig","industry": "IT","jobTitleRole": "Utvikling","keywords": ["kryptologi", "utvikling", "sikkerhet"],"contactNames": ["HR"],"contactPhones": ["23 09 43 29"],"applyUrl": "https://www.finn.no/job-apply/469164249/job/apply","publishedAt": "2026-07-07T07:41:34.000Z","detailScraped": true,"scrapedAt": "2026-08-17T13:05:12.004Z"}
rowType: "car" (with detail mode on)
{"rowType": "car","adId": "441416549","title": "Volkswagen Tiguan","variant": "2,0 TDI 140hk 4M BMT","url": "https://www.finn.no/mobility/item/441416549","price": { "amount": 117995, "currency": "NOK" },"priceExclRegistration": { "amount": 116000, "currency": "NOK" },"registrationFee": { "amount": 1995, "currency": "NOK" },"make": "Volkswagen","model": "Tiguan","year": 2014,"mileageKm": 162000,"fuel": "Diesel","transmission": "Automat","drivetrain": "Firehjulsdrift","bodyType": "SUV/Offroad","powerHp": 140,"co2GramsPerKm": 153,"towingCapacityKg": 2200,"seats": 5,"colour": "Hvit","firstRegistered": "30.05.2014","nextInspection": "14.06.2027","owners": 4,"registrationNumber": "CV72758","vin": "WVGZZZ5NZEW613699","location": "Horten","sellerType": "Privat","detailScraped": true}
rowType: "torget" (with detail mode on)
{"rowType": "torget","adId": "473315083","title": "TREK El-sykkel","url": "https://www.finn.no/recommerce/forsale/item/473315083","price": { "amount": 16000, "currency": "NOK" },"brand": "Trek","cardAttribute": "Trek","condition": "Used","category": "Sport og friluftsliv > Sykkelsport > Sykler","location": "Biri","postedLabel": "2 dg.","description": "Svært lite og pent brukt, Borch Powerpack batteri el motor.","detailScraped": true}
🗂 Key output fields
Property
| Field | Description |
|---|---|
finnkode | FINN ad id, e.g. 473282564 |
heading / url | Listing headline and canonical ad URL |
price / totalPrice | Asking price and total incl. costs (monthly rent for lettings) |
sharedCost / collectiveDebt / taxValue | Felleskostnader, collective debt and tax assessment value |
deposit / rentIncludes / furnishing / animalsAllowed | Rental-only economics and terms |
propertyType / ownershipType | Leilighet, Enebolig… / Selveier, Andel… |
areaFrom / areaTo / plotArea | Usable internal area and plot size in m² |
bedrooms / rooms / floor / constructionYear | Layout and age |
energyLabel | Energy class A–G |
address / localArea / coordinates | Street address, neighbourhood, lat/lon |
agencyName / contactPhones / contactNames | Listing agent or private seller |
facilities / imageUrls / viewings | Amenities, photos, scheduled open-house slots |
description | Full ad copy (detail mode) |
Job
| Field | Description |
|---|---|
adId / title / url | FINN ad id, job title, canonical URL |
employer / employerLogo | Hiring company |
location | Workplace address |
deadline | Application deadline, or Snarest (ASAP) |
employmentType / positions / sector | Fast/Vikariat…, number of positions, private/public |
industry / jobTitleRole / keywords | FINN's own taxonomy plus ad keywords |
contactNames / contactPhones / applyUrl | Named hiring contacts and where to apply |
publishedAt | When the ad went live (ISO) |
description | Full ad text (detail mode) |
Car
| Field | Description |
|---|---|
adId / title / variant | FINN ad id, model name, and the trim/engine line |
price / priceExclRegistration / registrationFee | Asking price, and the Norwegian split of price vs re-registration fee |
make / model / year / bodyType | Vehicle identity |
mileageKm / fuel / transmission / drivetrain | Core running gear |
powerHp / engineLitres / co2GramsPerKm / weightKg / towingCapacityKg | Performance and capacity |
seats / doors / bootLitres / colour | Body details |
firstRegistered / nextInspection / owners | History and upcoming EU inspection |
registrationNumber / vin | Plate and chassis number as published on the ad |
location / sellerType / paidPlacement | Where it is, private vs dealer, promoted slot |
Torget
| Field | Description |
|---|---|
adId / title / url | FINN ad id, headline, canonical URL |
price | Asking price in NOK |
brand | Brand from the ad's structured data — only set when detail mode ran |
cardAttribute | The chip FINN prints on the results card; category-dependent (brand on bikes, storage size on phones), so reported verbatim |
condition / category | New / Used, plus the full category path |
location / postedLabel / paidPlacement | Town, ad age as printed, promoted slot |
❓ FAQ
Do I need a proxy or an account? No. FINN serves datacenter IPs without a bot challenge, so the actor runs direct and you pay no proxy traffic. The proxy input exists only if you specifically want your own egress.
Why does my job URL with a location filter return nothing? FINN renders location-filtered job results in the browser, so the page a scraper receives is genuinely empty — no code can read rows that were never sent. Every location code format was tested; all return zero server-rendered cards. Use jobLocationContains instead: it fetches the unfiltered search and keeps only the rows whose location matches, and filtered-out rows are never billed.
Why is there no bedroom filter on job searches, or a sort option? Only filters verified against FINN's live result counts are exposed. Anything FINN silently ignores was left out on purpose, so a run never quietly returns something other than what you asked for.
What does Scrape detail pages add? Property: full description, energy label, construction year, floor, shared cost, collective debt, tax value, facilities, every photo, viewing times and contact phones. Jobs: full ad text, employment type, deadline, sector, industry, keywords, contact people and the apply URL. It roughly doubles the requests. Ad URLs you paste are always fully detailed.
A run failed saying FINN returned server errors — what now? FINN's search routes fail independently of one another; we've observed /realestate/homes/search.html returning 500 for everyone while lettings, ads and jobs stayed healthy. That's FINN, not a block, and no proxy changes it. Try another section or run again shortly.
Why is brand empty on Torget rows? It comes from the ad's own structured data, which only the detail page carries — turn on Scrape detail pages to fill it. The card chip is reported separately as cardAttribute because FINN puts different things there per category (a brand on bikes, storage size on phones), and calling that a brand would be wrong.
Which locations does it cover? All of Norway. Use county names (Oslo, Vestland, Trøndelag, …) or paste a municipality code such as 1.22042.20166 from any finn.no search URL.
What format is the output? JSON, CSV, Excel or via API — one row per listing.
💬 Support
Found a missing field or a page that won't parse? Open an issue on the actor's Issues tab with the input you used — fixes usually ship within a day or two.
🛠 Additional services
Need FINN's other verticals (cars, boats, Torget classifieds), a custom field, or a scheduled feed into your database? Reach out via the Issues tab.
🔎 Explore more scrapers
Browse the full portfolio of property and job-board scrapers on the Apify Store — including Rightmove, OnTheMarket, Hemnet, Daft.ie, Funda and Jobindex.
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/finn-no-scraper).
Purpose: scrape FINN.no — Norway's largest marketplace — into one flat row per listing, across four verticals: property (sale, lettings, new-builds, leisure, plots), jobs, cars & vehicles, and Torget classifieds. Property and job rows include contact phone numbers; car rows include the full spec record.
Minimal input:
{ "vertical": "realestate", "section": "lettings", "locations": ["Oslo"], "maxItems": 20 }
Output: rows are discriminated by rowType. property — finnkode, heading, url, section, price {amount, currency}, totalPrice, sharedCost, collectiveDebt, taxValue, deposit, rentIncludes, furnishing, animalsAllowed, propertyType, ownershipType, areaFrom, areaTo, plotArea, bedrooms, rooms, floor, constructionYear, energyLabel, address, localArea, coordinates {latitude, longitude}, agencyName, contactPhones, contactNames, imageUrls, viewings, facilities, publishedAt, description, detailScraped. job — adId, title, url, employer, employerLogo, location, deadline, publishedAt, employmentType, positions, sector, jobTitleRole, industry, keywords, contactNames, contactPhones, applyUrl, description, detailScraped. car — adId, title, variant, url, price, priceExclRegistration, registrationFee, make, model, year, mileageKm, fuel, transmission, drivetrain, bodyType, powerHp, engineLitres, co2GramsPerKm, weightKg, towingCapacityKg, seats, doors, bootLitres, colour, firstRegistered, nextInspection, owners, registrationNumber, vin, salesForm, location, sellerType, paidPlacement, imageUrls, description, detailScraped. torget — adId, title, url, price, brand, cardAttribute, condition, category, location, postedLabel, paidPlacement, imageUrls, description, detailScraped.
Behaviors an agent should know:
- Always set
maxItems— a single county search can exceed 5,000 property listings (50 per page). startUrlsand the filter builder are additive; the builder only fires when at least one of its fields is set, so pasted URLs are never joined by a phantom search.scrapeDetails: truefetches one extra request per row and is what populates description, energy label, contacts and the apply URL.- Job searches cannot be location-filtered server-side; pass
jobLocationContainsand expect fewer rows than pages fetched. Dropped rows are not billed. - Car and Torget rows only get their full payload with
scrapeDetails: true; without itbrand,vin, the spec table and descriptions stay null. - Property
sectionmust match the URLs you paste —homesandlettingsreturn different price semantics (priceis monthly rent for lettings). - Billing: one
resultevent per emitted row. Blocked, failed and filtered-out requests are never billed. - No proxy is required; passing one is an explicit override.
⚠️ Disclaimer
This scraper is an independent tool and is not affiliated with, endorsed by, or sponsored by FINN.no, Schibsted, or any of their subsidiaries. All trademarks, service marks and trade names are the property of their respective owners.
It collects only publicly available listing data from FINN.no. It does not access private accounts, bypass authentication, or collect personal data beyond the contact details advertisers themselves publish on public ads. You are responsible for using the scraped data in compliance with FINN's terms, Norwegian and EU law (including GDPR), and any applicable regulations. Use it for legitimate research, aggregation and analysis.
SEO Keywords
FINN.no scraper, finn no scraper, FINN cars scraper, Norway used car data, bruktbil scraper, FINN Torget scraper, Norwegian classifieds data, Norway property scraper, Norwegian real estate data, scrape FINN eiendom, FINN bolig til salgs, Norway rental listings API, leiebolig scraper, Oslo property data, Norwegian housing market data, FINN jobb scraper, Norway jobs scraper, Norwegian job listings API, ledige stillinger data, Schibsted marketplace scraper, finnkode scraper, Norway real estate API, property price data Norway, estate agent leads Norway, Apify FINN.