FINN.no Scraper | Norway Real Estate Sale Rent avatar

FINN.no Scraper | Norway Real Estate Sale Rent

Pricing

from $3.00 / 1,000 results

Go to Apify Store
FINN.no Scraper | Norway Real Estate Sale Rent

FINN.no Scraper | Norway Real Estate Sale Rent

Scrape FINN.no Eiendom homes for sale, rent, leisure, plots & projects. Extract NOK prices, bedrooms, size, addresses, agents & URLs — FINN API alternative.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

6 days ago

Last modified

Share

What does FINN.no Scraper do?

Scrape FINN.no Eiendom (Norway real estate) listings — homes for sale, rentals, leisure/holiday homes, plots, commercial, new buildings, and planned projects — then export structured data as Excel, CSV, or JSON.

Architecture: this Apify Actor is a thin client. Scraping runs on the finn-no Cloud Run worker over HTTPS + API key.

Worker URL is config, not code: the Actor reads WORKER_BASE_URL from Actor environment variables (plus optional per-run workerBaseUrl). If you migrate the worker to a new host, update WORKER_BASE_URL (and WORKER_AUTH if the API key changes) in Apify Console — no Actor code change required. Set WORKER_PROVIDES_PROXY=1 when the worker supplies its own PROXY_URL instead of Apify RESIDENTIAL.

This Actor is a practical FINN.no API alternative for market research, investor comps, rental screening, agency monitoring, and lead lists. Enter a Norwegian location such as oslo or a FINN location code (0.20061), choose a channel, and get listing rows with prices (NOK), bedrooms, size (m²), addresses, photos, and direct listing URLs from finn.no.

  • Pull Norwegian homes for sale, lettings, leisure, plots, commercial, new buildings, abroad, and planned listings
  • Filter by price, area, bedrooms, property type, ownership, construction year, and more
  • Optionally enrich detail pages (viewings, facilities, gallery, neighborhood, ownership history, broker office)
  • Export to Excel / CSV / JSON, or connect Make, n8n, Zapier, Python, or Apify API / MCP
  • Pay per event — Actor start + each Dataset listing; users also pay Apify platform usage for the run

What FINN listing data can you extract?

Data pointDescription
Title / addressListing headline and location text
Finnkode / listing IDStable FINN identifier
Price (NOK)Asking / rent display when shown
Bedrooms & area (m²)Size signals from SERP or detail
Property & ownership typee.g. Leilighet, Selveier, Andel
Channelsale, rent, leisure, plot, …
Listing URL & main imageDirect FINN link + hero photo
Gallery / facilities / viewingsWhen enrichDetails is enabled
Agent / officeBroker name and office URL when available
Neighborhood / ownership historyOptional enrich endpoints

Every Dataset row includes country = NO, authority / source = finn.no.


Why scrape FINN.no?

FINN.no is Norway’s largest classifieds marketplace for housing. Scraping public Eiendom listings helps you:

  • Build Oslo / Bergen / Trondheim market datasets for comps and pricing research
  • Monitor new listings and planned / project supply with schedules
  • Track rentals vs sale dynamics by location and property type
  • Enrich CRM / investor workflows with addresses, URLs, and broker contacts
  • Benchmark leisure, plot, and commercial inventory without manual browsing

More Actors like this

Looking for another property portal, or a scraper outside real estate? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for FINN.no Eiendom sale / rent / leisure / plot / commercial search and detail pages.

Similar real estate Actors

Prefer another specialized scraper?

Jobs & Freelance

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


How to scrape FINN.no (no code required)

  1. Create a free Apify account
  2. Open FINN.no Scraper
  3. Set location (e.g. oslo) and channel (e.g. sale)
  4. Optionally enable enrichDetails or other enrich flags
  5. Click Start and download results from the Dataset tab (JSON, CSV, Excel, …)

Start with maxResults: 5–10 to verify the market, then scale up.


How much does it cost to scrape FINN.no?

This Actor uses pay-per-event pricing. You are charged for:

EventPrice
Actor Start (apify-actor-start)$0.005 per start
Result (apify-default-dataset-item)$3.00 / 1,000 listings ($0.003 each)

Platform usage costs are paid by the user — in addition to event prices above, you also pay Apify compute/proxy usage generated by the run.

Example cost estimates

Listings collectedApprox. event cost*
100~$0.31
1,000~$3.01
10,000~$30.01

*Assumes one Actor start at default memory billing for start events, plus $0.003 per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one).

Free Apify trial credit can cover a small test run — try maxResults: 5 first.

Free Apify plan limits (set by this Actor's developer)

LimitFree Apify planPaid Apify plan
Runs of this Actor10 runs totalUnlimited
Results per run (maxResults)Up to 1,000Up to 2,000

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error. Paying Apify users are not subject to the run cap.


Input

Open the Input tab for the full form. Common fields:

FieldDescription
locationCity slug (oslo) or FINN code (0.20061). For abroad, omit Norwegian location (Oslo empties that SERP).
channelsale, rent, projects, leisure, leisure_plots, plot, commercial, abroad, planned, office
maxResults / maxPagesCap results and SERP pages (fetchAllPages for larger crawls)
priceFrom / priceTo, areaFrom / areaTo, minBedroomsSERP filters
propertyType / ownershipTypeFINN enum values or labels (e.g. Leilighet, Selveier)
enrichDetailsOpen listing detail pages for pricing, viewings, facilities, images
enrichNeighborhood / enrichOwnershipHistory / enrichAreaProfile / enrichOfficeOptional side endpoints
detailUrls / officeUrlScrape specific ads or broker profiles (office is detail-only)
incrementalSkip listingIds already stored in named KV finn-seen-finnkodes

Input example

{
"location": "oslo",
"channel": "sale",
"maxResults": 25,
"maxPages": 1,
"enrichDetails": true,
"enrichNeighborhood": true
}

Leisure / plots:

{
"location": "oslo",
"channel": "leisure",
"maxResults": 20,
"maxPages": 1
}

Homes abroad (do not pass a Norwegian location):

{
"channel": "abroad",
"maxResults": 20,
"maxPages": 1
}

Output sample

Results are written to the default Dataset. Preview fields include name, type, status, country, authority, plus FINN-specific columns.

[
{
"listingId": "469777706",
"finnkode": "469777706",
"name": "SOFIENBERG | 2-roms selveie | Sjenerøs takhøyde",
"type": "listing",
"status": "active",
"country": "NO",
"authority": "finn.no",
"channel": "sale",
"listingUrl": "https://www.finn.no/realestate/homes/ad.html?finnkode=469777706",
"address": "Sars' gate 22, Oslo",
"priceDisplay": "3 900 000 kr",
"bedrooms": 1,
"areaSqm": 34.0,
"imageUrl": "https://images.finncdn.no/dynamic/480w/...",
"contentDepth": "guest_preview",
"scrapedAt": "2026-07-23T10:00:56.917Z"
}
]

With enrichDetails enabled you may also see viewings, facilities, imageUrls, agent/office fields, and an enrichment object (e.g. neighborhood).


Lead & contact fields

Every Dataset row carries the full lead/clue key set so records are outreach-ready. Broker sale detail pages expose complete contact data; private rent listings expose none (see Honest limitations). The keys follow the mission lead schema (phones / emails / address / geo / person / org / web / leadSource / leadReveal / leadAbsences).

FieldTypeMeaning on FINN.noSource surface
phones[{value, type, e164?}]Broker mobile/landline. value/e164 are the E.164 tel: href from the shadow-DOM hydration JSON (contacts[].phone[].phoneAsLink, prefix +47…); type from contacts[].phone[].type (e.g. MOBILEmobile). Sample: +4791865393 (mobile).Sale/Rent Detail (broker)
emails[{value, type}]Broker work email, plain text from contacts[].email (not rendered as mailto:). Sample: Maren.Hauge@dnbeiendom.no (work).Sale/Rent Detail (broker)
address{street, unit, locality, region, postalCode, country, full}Property address. unit = 门牌 (house number, e.g. 19A), split from streetAddress; locality = postalName; country = countryCode (NO); full = DOM [data-testid=object-address] text. Sample: Varen 19A, 4070 Randaberg.Detail (flight serialized data + DOM); SRP cards give area-level only
geo{lat, lng}Coordinates from inline flight serialized data, in addition to (not instead of) the street address. Sample: 59.0019, 5.6248.Detail
person{name, role}Broker contact name + title from contacts[0].name / contacts[0].title. Sample: Maren Terese Hauge / Senior Eiendomsmegler.Detail (broker)
org{name, id}Brokerage from companyProfile.orgName + companyProfile.orgId. Sample: DNB Eiendom AS (id -3). Note: some org.id values are negative sentinels as emitted by FINN.Detail (broker)
web{website, socials[]}website = companyProfile.homepageUrl; socials = Instagram links found in the shadow DOM. socials is usually empty unless the broker links Instagram. Sample website: https://dnbeiendom.no….Detail (broker)
leadSourceenumdetail for broker sale/rent detail items; search for SERP card rows (which carry only area-level address + broker name).All surfaces
leadRevealenumvisible — all broker contact data is already present in the SSR HTML (shadow-DOM hydration JSON + flight data + DOM). FINN has no "show phone/email" click-reveal controls.Detail (broker)
leadAbsencesobject/mapPer-subfield reason when a lead is null. For private rent listings: phones=闸门锁, emails=闸门锁 (contact form only), person=本站无, org=本站无. Empty {} for broker sale items where all leads are populated.Detail

A null lead value is always paired with a matching leadAbsences reason (本站无 / 闸门锁 / 未验证) — the key is never silently omitted.


Reveal cost

FINN.no exposes broker contact information without any click-reveal or XHR-after-click step. The phone (tel: href), email, agent name, and brokerage are embedded in the detail page's server-rendered HTML (shadow-DOM hydration JSON + flight serialized data), so leadReveal = visible.

  • No extra page opens beyond the detail fetch itself — there is no separate agent/shop/contact page to load.
  • No reveal click and no post-click XHR — nothing to trigger, so no added latency, proxy, or rate-limit cost for revealing contacts.
  • The only cost is enrichDetails=true, which opens one detail page per listing (a single HTTP fetch per ad). This adds time proportional to the number of listings but incurs no additional reveal-specific proxy or anti-bot overhead. FINN runs on curl_cffi HTTP (no browser); PerimeterX is passive and does not gate guest access.

Honest limitations

These reflect what the FINN.no site actually exposes (verified during research and cloud smoke):

  • SRP/search cards are lead-thin. Search result cards show only an area-level address (city) and the broker name/logo — no phones, emails, person, or web on the card. Full leads require the detail page (enrichDetails=true).
  • Private rent listings have no direct contacts. Listings without a broker (REALESTATECOMPANYPROFILEPODLET-ISOLATED absent) expose no phone and no email — contact is via FINN's "Send melding" contact form (闸门锁). leadAbsences records phones/emails=闸门锁 and person/org=本站无. The Actor does not submit the contact form.
  • web.socials is usually empty. Social links appear only when a broker links an Instagram profile in the shadow DOM; most brokers do not.
  • address.region is not separately populated. FINN flight data provides postalName (used as locality) and postalCode but not a distinct region field.
  • office surface is 未验证. Broker/company profile pages via orgId were not verified during this mission and are not asserted as a lead source.
  • Rent detail (broker) person/org 未验证. For broker-listed rent detail pages, person/org were not confirmed in this mission's smoke; the broker sale path is the verified lead source.

Do not infer contacts that FINN does not publish: where a lead is absent, the item says so in leadAbsences rather than fabricating a value.


Channels (FINN Eiendom)

ChannelFINN verticalNotes
salehomesHomes for sale
rentlettingsHomes for rent
projectsnewbuildingsNew building projects
leisureleisuresaleHoliday / leisure homes
leisure_plotsleisureplotsLeisure plots
plotplotsLand / plots
commercialbusinesssaleCommercial for sale
abroadabroadHomes abroad — omit Norwegian location
plannedhomes (filtered)Planned / coming-soon style listing URLs
officeBroker/company profile via officeUrl or detailUrls

Tips for better FINN scrapes

  • Prefer RESIDENTIAL Norway proxy settings in the UI when offered; the managed worker also uses NO residential egress
  • Use city slugs (oslo, bergen) or FINN location codes from /v1/categories
  • Enable enrichDetails only when you need viewings, galleries, or deeper pricing — it costs more time per listing
  • Use incremental=true for recurring schedules so already-seen finnkodes are skipped across runs
  • For abroad, leave location empty / default — Norwegian codes return an empty SERP

Only scrape publicly available listing data and only if you have a legitimate reason. Personal data that appears in public ads may be protected by GDPR and similar laws. Review FINN’s terms and your own compliance obligations before large-scale collection. This tool is intended for ethical use of public information — do not automate contact forms or bypass login-gated content.


FAQ

Can I use this as a FINN.no API?

Yes — run the Actor via the Apify Console, CLI (apify call), Schedules, or HTTP API, then download the Dataset or stream items into your stack. There is no official public FINN “listings dump” API for this use case; this Actor is a structured data alternative.

Does it scrape listing detail pages?

Yes, when enrichDetails (and optional enrich flags) are enabled. Otherwise you get SERP / card-level fields only.

What formats can I export?

Apify Dataset downloads support JSON, JSONL, CSV, Excel, XML, and HTML. You can also pull results through the Apify API, Integrations, or webhooks.

How do I scrape only specific FINN ads?

Paste one or more https://www.finn.no/realestate/.../ad.html?finnkode=... URLs into detailUrls.

Why did my free-plan run stop after 10 runs?

Free Apify plan users get 10 runs of this Actor and up to 1,000 results per run. These limits are set by the Actor developer (not Apify). When you hit the run cap, the run finishes with a clear status message — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.


Support

Open the Issues tab on this Actor page with sample input, run ID, and expected vs actual results. Feature requests for extra filters or fields are welcome.

Looking for other Nordic or European property sources? Browse more real-estate scrapers from the same publisher on Apify Store for multi-market workflows.


All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss