FINN.no Scraper — Property, Jobs, Cars & Torget avatar

FINN.no Scraper — Property, Jobs, Cars & Torget

Pricing

from $2.00 / 1,000 results

Go to Apify Store
FINN.no Scraper — Property, Jobs, Cars & Torget

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

5.0

(1)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

17

Monthly active users

a day ago

Last modified

Share

FINN.no Scraper — Norway Property, Jobs, Cars & Torget

FINN.no Scraper

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.

InputRow(s) emitted
…/realestate/homes/search.html?location=0.20061One 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=473282564One fully detailed property row
…/job/search?q=utviklerOne job row per ad on every page
…/job/ad/472810559One fully detailed job row
…/mobility/search/car?variant=0.817One car row per vehicle on every page
…/mobility/item/441416549One fully detailed car row
…/recommerce/forsale/search?q=sykkelOne torget row per classified ad
…/recommerce/forsale/item/473315083One 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. EV ads add battery capacity in kWh, WLTP range and km per kWh.
  • The dealer, on every row — each car ad carries its seller's whole info card: name, organisation number with the brreg link, years on FINN, street address with postcode, website, authorised marques, opening hours and coordinates. No second request, no separate dealer table to join.
  • Seller phone numbers on cars — the number behind FINN's "Se telefonnummer" button, fetched without a login and billed only when FINN actually publishes one.
  • Whole markets, not the first 2,450 ads — FINN caps any one search at 50 pages and then silently re-serves page 1. Turn on Split car searches by price and the actor measures the market against FINN's own count, slices it into price bands that fit, and halves any band that is still too big.
  • Says so when it is short — every run compares FINN's reported count with what it delivered, band by band, and writes the verdict to the COMPLETENESS record and the run's status message. Past your threshold the run ends as FAILED instead of passing a partial dataset off as a full one.
  • 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 analystTrack asking prices, price per m², energy labels and days-on-market across Norwegian counties
Estate agencyMonitor competitor listings and viewing schedules in your area
Proptech / portalSeed a Norwegian property dataset with coordinates, photos and full descriptions
Recruiter / job boardTrack live Norwegian vacancies by keyword, employer, industry and deadline
Lead generationReach listing agents and hiring contacts through the phone numbers published on the ads
Investor / researcherCompare rent vs sale economics per neighbourhood using deposit, shared cost and collective debt
Car dealer / valuationTrack used-vehicle asking prices by make, model, year and mileage, with full spec records
Resale / arbitrageWatch Torget classifieds for underpriced items by keyword and price band

📥 Supported inputs

  • Property search URLshttps://www.finn.no/realestate/{homes|lettings|newbuildings|leisure-sale|plots}/search.html?… with any filters you set on the site.
  • Property ad URLshttps://www.finn.no/realestate/homes/ad.html?finnkode={id}. Always fully detailed.
  • Job search URLshttps://www.finn.no/job/search?q=…. See the FAQ about location in job URLs.
  • Job ad URLshttps://www.finn.no/job/ad/{id}. Always fully detailed.
  • Car search / ad URLshttps://www.finn.no/mobility/search/car?… and https://www.finn.no/mobility/item/{id}.
  • Torget search / ad URLshttps://www.finn.no/recommerce/forsale/search?q=… and https://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

How the FINN.no Scraper works

  1. Classify every pasted URL into vertical × search/ad, and build extra search URLs from your filters.
  2. Plan car searches bigger than a single search can serve: probe FINN's result count per price band, halve any band still over the ceiling, and confirm the bands add up to the whole market.
  3. Paginate each search — property through FINN's structured data feed (50 listings per page); jobs, cars and Torget through their results pages (~50 per page). Car pages are read from the JSON the page ships to its own front end, so seller id, VIN, plate, trim and coordinates arrive without opening a single ad.
  4. Enrich each listing from its own ad page when Scrape detail pages is on — for cars that adds the equipment list, battery figures, condition report and the dealer's info card, plus the phone number when Get seller phone numbers is on.
  5. Check what FINN reported against what was delivered, per band, and fail the run if the gap is bigger than your threshold.
  6. Export one row per listing — JSON, CSV, Excel or API.

⚙️ Input parameters

FieldTypeDefaultWhat it does
startUrlsarray[]FINN search / ad URLs, auto-classified across all four verticals
verticalstringrealestateWhich vertical the filter builder targets
sectionstringhomeshomes, lettings, newbuildings, leisure-sale, plots
locationsarray["Oslo"]County names or FINN codes (0.20061, 1.22042.20166)
searchQuerystringFree-text property keyword
priceFrom / priceTointegerPrice range in NOK (monthly rent for lettings)
areaFrom / areaTointegerUsable internal area in m²
minBedroomsintegerMinimum bedrooms
propertyTypesarrayall1 Enebolig · 2 Tomannsbolig · 3 Leilighet · 4 Rekkehus · 6 Garasje · 9 Industri · 11 Gårdsbruk · 18 Andre · 20 Bygård
ownershipTypesarrayall1 Obligasjon · 2 Aksje · 3 Selveier · 4 Andel · 255 Annet
energyLabelsarrayany1 = A … 7 = G
privateSellerOnlybooleanfalseOnly ads posted without an agency
publishedTodaybooleanfalseOnly ads first published today
jobQuerystringFree-text job keyword
jobOccupations / jobIndustriesarrayallFINN occupation= / industry= codes
jobLocationContainsstringNarrows job rows by location text after parsing
carQuerystringFree-text vehicle keyword
carPriceFrom / carPriceTointegerVehicle price range in NOK
carYearFrom / carYearTointegerModel-year range
carMileageTointegerMax odometer reading in km
splitByPricebooleantrueSlice car searches into price bands so none hits FINN's 50-page wall
priceBandsarray[]Optional starting band edges in NOK; oversized bands are still halved automatically
scrapePhonebooleanfalseFetch the number behind each car ad's "Se telefonnummer" button
failOnIncompletebooleantrueEnd the run as FAILED when the shortfall exceeds the threshold below
completenessTolerancePercentinteger1Relative half of the threshold, as a percentage of FINN's reported count
completenessToleranceAbsoluteinteger25Absolute floor of the threshold, in ads; the larger of the two wins
torgetQuerystringFree-text classifieds keyword
torgetPriceFrom / torgetPriceTointegerClassifieds price range in NOK
scrapeDetailsbooleanfalseFetch each ad's own page for the full payload
maxItemsinteger1000Hard cap on rows for the whole run
maxItemsPerSearchinteger1000Cap per search
maxConcurrencyinteger6Parallel HTTP requests (1–20)
maxRequestRetriesinteger8Retry budget on transient 403/429/5xx
proxyobjectnoneOptional 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 and phone numbers on — an EV from a dealer, trimmed for length)

{
"rowType": "car",
"adId": "475907845",
"title": "Volkswagen e-Golf VII",
"variant": "100KW/300WLTP/1eier/SKINN/R.KAMERA/GARANTI+++",
"url": "https://www.finn.no/mobility/item/475907845",
"price": { "amount": 149000, "currency": "NOK" },
"priceExclRegistration": { "amount": 144468, "currency": "NOK" },
"registrationFee": { "amount": 4532, "currency": "NOK" },
"make": "Volkswagen",
"model": "e-Golf VII",
"modelSpecification": "100KW/300WLTP/1eier/SKINN/R.KAMERA/GARANTI+++",
"year": 2019,
"mileageKm": 68000,
"fuel": "El",
"transmission": "Automat",
"batteryCapacityKwh": 35,
"drivingRangeKm": 300,
"rangePerKwh": 8.6,
"firstRegistered": "2019-06-06",
"registrationNumber": "EK64027",
"vin": "WVWZZZAUZKW912345",
"regno": "EK64027",
"chassisNumber": "WVWZZZAUZKW912345",
"orgId": "1638891527",
"organisationName": "RSA BIL Oslo",
"dealerSegment": "Merkeforhandler",
"dealerGroupId": "bd91111c-c942-3eaa-a43e-f60bc654aca2",
"coordinates": { "latitude": 59.91124, "longitude": 10.8232, "accuracy": 9 },
"timestamp": 1788877301000,
"publishedAt": "2026-09-08T14:21:41.000Z",
"equipment": ["Indium Grey Metallic", "Blokkeringsfritt bremsesystem (ABS)", "Autonom nødbremsing (AEB)", "…40 in total"],
"conditionReport": {
"available": true,
"url": "https://cdn.drive.no/documents/9651c91d-…/7f4a9d50-6fa4-46b8-95a9-ccaa7e42a690.pdf"
},
"phone": "94 01 90 67",
"dealer": {
"orgId": "1638891527",
"name": "RSA BIL Oslo",
"orgNumber": "915518389",
"orgNumberUrl": "https://virksomhet.brreg.no/nb/oppslag/enheter/915518389",
"yearsOnFinn": "5+ år på FINN",
"street": "Nils Hansens vei 4",
"zipCode": "0667",
"city": "Oslo",
"country": "NO",
"coordinates": { "latitude": 59.91124, "longitude": 10.8232, "accuracy": null },
"website": "http://rsabil.no/index.php/forhandlere/oslo",
"email": "tore.fjellheim@rsabil.no",
"phone": "23 24 20 40",
"authorizedBrands": ["MAXUS", "ISUZU", "KGM", "BYD", "SUZUKI", "JAC"],
"openingHours": [
{ "day": "Mandag", "hours": "09:00 - 16:30" },
{ "day": "Lørdag", "hours": "10:00 - 14:00" },
{ "day": "Søndag", "hours": "Stengt" }
],
"memberAssociations": ["Medlem av Norges Bilbransjeforbund"],
"dealerPageUrl": "https://www.finn.no/mobility/dealer/1638891527/rsa-bil-oslo"
},
"imageUrls": ["https://images.finncdn.no/dynamic/1600w/item/475907845/…"],
"searchMatchCount": 1038,
"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

FieldDescription
finnkodeFINN ad id, e.g. 473282564
heading / urlListing headline and canonical ad URL
price / totalPriceAsking price and total incl. costs (monthly rent for lettings)
sharedCost / collectiveDebt / taxValueFelleskostnader, collective debt and tax assessment value
deposit / rentIncludes / furnishing / animalsAllowedRental-only economics and terms
propertyType / ownershipTypeLeilighet, Enebolig… / Selveier, Andel…
areaFrom / areaTo / plotAreaUsable internal area and plot size in m²
bedrooms / rooms / floor / constructionYearLayout and age
energyLabelEnergy class A–G
address / localArea / coordinatesStreet address, neighbourhood, lat/lon
agencyName / contactPhones / contactNamesListing agent or private seller
facilities / imageUrls / viewingsAmenities, photos, scheduled open-house slots
descriptionFull ad copy (detail mode)

Job

FieldDescription
adId / title / urlFINN ad id, job title, canonical URL
employer / employerLogoHiring company
locationWorkplace address
deadlineApplication deadline, or Snarest (ASAP)
employmentType / positions / sectorFast/Vikariat…, number of positions, private/public
industry / jobTitleRole / keywordsFINN's own taxonomy plus ad keywords
contactNames / contactPhones / applyUrlNamed hiring contacts and where to apply
publishedAtWhen the ad went live (ISO)
descriptionFull ad text (detail mode)

Car

FieldDescription
adId / title / variantFINN ad id, model name, and the trim/engine line
price / priceExclRegistration / registrationFeeAsking price, and the Norwegian split of price vs re-registration fee
make / model / year / bodyTypeVehicle identity
mileageKm / fuel / transmission / drivetrainCore running gear
powerHp / engineLitres / co2GramsPerKm / weightKg / towingCapacityKgPerformance and capacity
seats / doors / bootLitres / colourBody details
firstRegistered / nextInspection / ownersHistory and upcoming EU inspection
registrationNumber / vinPlate and chassis number as published on the ad
regno / chassisNumberThe same two values under FINN's own field names
location / sellerType / paidPlacementWhere it is, private vs dealer, promoted slot
batteryCapacityKwh / drivingRangeKm / rangePerKwhEV pack size in kWh, WLTP range in km, declared km per kWh
equipmentFactory options and fitted extras (Utstyr), verbatim (detail mode)
conditionReport{ available, url } — whether a Tilstandsrapport is attached and its PDF. Two thirds of the PDFs sit on the dealer's own platform rather than FINN's CDN
servicePlanFollowed / rightToExchangeFINN asks every dealer both, so they are answered on effectively every ad — the condition signals that are there when a Tilstandsrapport is not
warrantyMonths / warrantyDistanceKm / warrantyTypeRemaining warranty and what kind: Nybilgaranti, Bruktbilgaranti, Resterende nybilgaranti
certifiedProgramme / certifiedProgrammeUrlManufacturer certified-used programme, e.g. BMW Premium Selection, Volvo Selekt, Porsche Approved
interiorColourInterior trim and colour as the ad describes it
orgId / organisationName / dealerSegment / dealerGroupIdSeller id, name, Merkeforhandler vs Annet bilutsalg, and the group id that ties a chain's branches together — each its own field, never merged into a label
modelSpecificationTrim as FINN files it, e.g. Cooper SE Experience
coordinates{ latitude, longitude, accuracy } — FINN's own precision grade
timestamp / publishedAtPublish time as epoch milliseconds and as ISO
phoneThe number behind "Se telefonnummer" (needs scrapePhone)
dealerThe seller's whole info card: name, orgNumber + orgNumberUrl, yearsOnFinn, street / zipCode / city / country, coordinates, website, email, phone, authorizedBrands, openingHours, memberAssociations, logoUrl, dealerPageUrl
searchMatchCountWhat FINN reported for the search this row came from, when it was fetched
imageUrlsEvery photo at FINN's largest rendition (/dynamic/1600w/)

Torget

FieldDescription
adId / title / urlFINN ad id, headline, canonical URL
priceAsking price in NOK
brandBrand from the ad's structured data — only set when detail mode ran
cardAttributeThe chip FINN prints on the results card; category-dependent (brand on bikes, storage size on phones), so reported verbatim
condition / categoryNew / Used, plus the full category path
location / postedLabel / paidPlacementTown, ad age as printed, promoted slot

❓ FAQ

How do I get a whole market when FINN only serves 50 pages? Leave Split car searches by price on. The actor reads FINN's own result count, slices the search into price_from/price_to bands that fit under the wall, and halves any band still too big — so the ladder keeps working as the market grows. Bands are inclusive on both ends, so they share no ad and leave no gap, and their counts add back up to the unfiltered total. A search that already fits is never split, and a URL where you pinned your own price range is left alone.

How often are the car fields actually populated? Measured over the whole Norwegian EV dealer market (17,445 ads, September 2026): phone 99%, WLTP range 93%, equipment list 91%, battery kWh 69%, dealer block 100% with the organisation number on every one, dealer website 89%, opening hours 67%. Where a field is empty it is empty on FINN too — the seller never entered it.

What if an ad has no condition report? Only about a quarter of dealer EV ads carry a Tilstandsrapport, because FINN prints that row only when the dealer uploads one. The other condition signals are far better populated: servicePlanFollowed and rightToExchange are answered on effectively every ad, warrantyType on 94%, and a manufacturer certified-used programme on 10%. Across a full band every single ad carried at least one of them. Of the condition-report PDFs that do exist, two thirds link to the dealer's own platform rather than FINN's CDN, so the URL is not always a finn.no address.

How do I know the dataset is complete? Every car run records what FINN reported against what it delivered, band by band, and writes it to the COMPLETENESS record in the run's key-value store plus the run's status message. Past your threshold — by default 1% or 25 ads, whichever is larger — the run ends as FAILED. The threshold exists because the count moves while a run is in flight: ads are posted and withdrawn by the minute, and on a 2,000-ad band 1% is only 20 ads. Runs you cut short with your own row limits are exempt, and delivering more rows than reported never fails, since rows are deduplicated by ad id.

How much memory and concurrency does a full car sweep need? A whole-market run with detail pages and phone numbers peaks around 1.7 GB at maxConcurrency: 15, so give it 4 GB — 2 GB leaves no headroom for a market that keeps growing. Smaller runs and the other three verticals are comfortable at 1 GB. Raise concurrency and memory together; raising one alone just moves the bottleneck.

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, the seller's whole dealer card, and optionally the phone number behind FINN's reveal button.

Minimal input:

{ "vertical": "realestate", "section": "lettings", "locations": ["Oslo"], "maxItems": 20 }

Output: rows are discriminated by rowType. propertyfinnkode, 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. jobadId, title, url, employer, employerLogo, location, deadline, publishedAt, employmentType, positions, sector, jobTitleRole, industry, keywords, contactNames, contactPhones, applyUrl, description, detailScraped. caradId, 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, batteryCapacityKwh, drivingRangeKm, rangePerKwh, orgId, organisationName, dealerSegment, dealerGroupId, chassisNumber, regno, modelSpecification, coordinates {latitude, longitude, accuracy}, timestamp, publishedAt, equipment, conditionReport {available, url}, warrantyMonths, warrantyDistanceKm, warrantyType, servicePlanFollowed, rightToExchange, certifiedProgramme, certifiedProgrammeUrl, interiorColour, dealer {orgId, name, orgNumber, orgNumberUrl, yearsOnFinn, street, zipCode, city, country, coordinates, website, email, phone, authorizedBrands, openingHours, memberAssociations, logoUrl, dealerPageUrl}, phone, searchMatchCount, imageUrls, description, detailScraped. torgetadId, 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).
  • startUrls and 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: true fetches 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 jobLocationContains and expect fewer rows than pages fetched. Dropped rows are not billed.
  • Car rows get seller id, name, dealer segment, VIN, plate, trim, coordinates, WLTP range and every photo from the search results alone — no scrapeDetails needed. scrapeDetails: true adds the equipment list, battery capacity, condition report, warranty, description and the dealer card. Torget rows need scrapeDetails: true for brand, condition, category and descriptions.
  • scrapePhone: true returns phone on car rows. It needs the ad page, so it turns on car detail fetching by itself.
  • A car search bigger than ~2,450 ads cannot be served whole by FINN — it caps at 50 pages and then silently re-serves page 1. splitByPrice (on by default) slices it into price bands measured against FINN's own count. Pass priceBands to seed the ladder; oversized bands are halved regardless.
  • Read the COMPLETENESS key-value record for reported-vs-delivered per band. With failOnIncomplete (on by default) a shortfall past max(completenessTolerancePercent% , completenessToleranceAbsolute) ends the run as FAILED, so a partial dataset is never reported as a success.
  • Property section must match the URLs you paste — homes and lettings return different price semantics (price is monthly rent for lettings).
  • Billing: one result event per emitted row, plus one phone event per car row where FINN actually returned a number. Blocked, failed and filtered-out requests are never billed, and neither are ads that publish no phone number.
  • 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.