Finn.no Real Estate Scraper
Pricing
from $1.00 / 1,000 listings
Finn.no Real Estate Scraper
Scrape Norwegian real-estate listings from Finn.no with search URL or filter-based discovery, optional full details and broker contact info.
Finn.no Real Estate Scraper
Pricing
from $1.00 / 1,000 listings
Scrape Norwegian real-estate listings from Finn.no with search URL or filter-based discovery, optional full details and broker contact info.
You can access the Finn.no Real Estate Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "1.0", "x-build-id": "IpfTgWYZJZeN3ayOh" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/datascrapers~finn-no-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-datascrapers-finn-no-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/datascrapers~finn-no-scraper/runs": { "post": { "operationId": "runs-sync-datascrapers-finn-no-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/datascrapers~finn-no-scraper/run-sync": { "post": { "operationId": "run-sync-datascrapers-finn-no-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "properties": { "startUrls": { "title": "Search URLs", "type": "array", "description": "Preferred input. Finn.no real-estate search page URLs (search.html with any filters already applied), e.g. https://www.finn.no/realestate/homes/search.html?location=0.20061&property_type=3. When provided, these take priority over structured filters below.", "items": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string", "title": "URL of a web page", "format": "uri" } } } }, "searchQuery": { "title": "Search Query", "type": "string", "description": "Free-text search in Finn Eiendom (q). Used when building a search from filters (or ignored when startUrls already encode the query)." }, "publishedToday": { "title": "New Today", "type": "boolean", "description": "Only listings published today (published=1 / Nye i dag).", "default": false }, "locations": { "title": "Areas / Counties", "uniqueItems": true, "type": "array", "description": "Norwegian counties or Finn location codes. Names (Oslo, Nordland, Innlandet, Finnmark, …) are mapped to Finn codes; you can also paste codes such as 0.20061.", "items": { "type": "string", "enum": [ "Oslo", "Akershus", "Østfold", "Innlandet", "Buskerud", "Vestfold", "Telemark", "Agder", "Rogaland", "Vestland", "Møre og Romsdal", "Trøndelag", "Nordland", "Troms", "Finnmark", "Svalbard" ] } }, "saleStatus": { "title": "Sale Status", "uniqueItems": true, "type": "array", "description": "Salgsstatus: for sale, sold last 3 days, or coming for sale.", "items": { "type": "string", "enum": [ "for_sale", "sold_last_3_days", "coming_for_sale" ], "enumTitles": [ "For sale (Til salgs)", "Sold last 3 days (Solgt siste 3 dager)", "Coming for sale (Kommer for salg)" ] } }, "propertyCondition": { "title": "Condition", "enum": [ "", "used", "new" ], "type": "string", "description": "Tilstand: used housing or new construction.", "default": "" }, "priceFrom": { "title": "Min Price (Prisantydning)", "minimum": 0, "type": "integer", "description": "Minimum asking price in NOK (price_from)." }, "priceTo": { "title": "Max Price (Prisantydning)", "minimum": 0, "type": "integer", "description": "Maximum asking price in NOK (price_to)." }, "totalPriceFrom": { "title": "Min Total Price", "minimum": 0, "type": "integer", "description": "Minimum total price in NOK (price_collective_from)." }, "totalPriceTo": { "title": "Max Total Price", "minimum": 0, "type": "integer", "description": "Maximum total price in NOK (price_collective_to)." }, "sharedCostFrom": { "title": "Min Shared Cost / Month", "minimum": 0, "type": "integer", "description": "Minimum common expenses per month in NOK (rent_from / fellesutgifter)." }, "sharedCostTo": { "title": "Max Shared Cost / Month", "minimum": 0, "type": "integer", "description": "Maximum common expenses per month in NOK (rent_to)." }, "areaFrom": { "title": "Min Size (m²)", "minimum": 0, "type": "integer", "description": "Minimum living area in square meters (area_from)." }, "areaTo": { "title": "Max Size (m²)", "minimum": 0, "type": "integer", "description": "Maximum living area in square meters (area_to)." }, "minBedrooms": { "title": "Minimum Bedrooms", "minimum": 1, "maximum": 5, "type": "integer", "description": "Minimum number of bedrooms (1–5 maps to Finn min_bedrooms)." }, "constructionYearFrom": { "title": "Min Year of Construction", "minimum": 1800, "maximum": 2100, "type": "integer", "description": "Earliest construction year (construction_year_from)." }, "constructionYearTo": { "title": "Max Year of Construction", "minimum": 1800, "maximum": 2100, "type": "integer", "description": "Latest construction year (construction_year_to)." }, "plotAreaFrom": { "title": "Min Plot Size (m²)", "minimum": 0, "type": "integer", "description": "Minimum plot / tomt size (plot_area_from)." }, "plotAreaTo": { "title": "Max Plot Size (m²)", "minimum": 0, "type": "integer", "description": "Maximum plot / tomt size (plot_area_to)." }, "propertyTypes": { "title": "Housing Type", "uniqueItems": true, "type": "array", "description": "Boligtype filters (apartment, detached, townhouse, semi-detached, farm, etc.).", "items": { "type": "string", "enum": [ "apartment", "detached", "townhouse", "semi-detached", "farm", "garage", "industrial", "plot", "multi-family", "other" ], "enumTitles": [ "Apartment (Leilighet)", "Detached house (Enebolig)", "Townhouse (Rekkehus)", "Semi-detached (Tomannsbolig)", "Farm / smallholding (Gårdsbruk/Småbruk)", "Garage / parking", "Production / industrial", "Plot (Tomt)", "Multi-family (Bygård)", "Other" ] } }, "ownershipTypes": { "title": "Ownership", "uniqueItems": true, "type": "array", "description": "Eierform: stock, share, bond, freeholder, other.", "items": { "type": "string", "enum": [ "stock", "share", "bond", "freeholder", "other" ], "enumTitles": [ "Stock (Aksje)", "Share (Andel)", "Bond (Obligasjon)", "Freeholder (Selveier)", "Other (Annet)" ] } }, "sellerTypes": { "title": "Private / Broker", "uniqueItems": true, "type": "array", "description": "Privat/Megler filter.", "items": { "type": "string", "enum": [ "broker", "private" ], "enumTitles": [ "Broker (Megler)", "Private seller (Privat)" ] } }, "facilities": { "title": "Facilities", "uniqueItems": true, "type": "array", "description": "Fasiliteter such as balcony, elevator, garage, view, EV charging, etc.", "items": { "type": "string", "enum": [ "balcony", "fireplace", "elevator", "no_neighbors", "modern", "airconditioning", "beachfront", "hiking", "garage", "laundry", "alarm", "broadband", "caretaker", "view", "ev_charging" ], "enumTitles": [ "Balcony / terrace", "Fireplace", "Elevator", "No neighbors opposite", "Modern", "Air conditioning", "Beachfront", "Hiking terrain", "Garage / parking", "Shared laundry", "Alarm", "Broadband", "Caretaker / security", "View", "EV charging" ] } }, "energyLabels": { "title": "Energy Label", "uniqueItems": true, "type": "array", "description": "Energikarakter A–G.", "items": { "type": "string", "enum": [ "A", "B", "C", "D", "E", "F", "G" ] } }, "floors": { "title": "Floor", "uniqueItems": true, "type": "array", "description": "Etasje filter values: NOTFIRST, 1–6, or BIG (over 6th floor).", "items": { "type": "string", "enum": [ "NOTFIRST", "1", "2", "3", "4", "5", "6", "BIG" ], "enumTitles": [ "Not 1st floor", "1st floor", "2nd floor", "3rd floor", "4th floor", "5th floor", "6th floor", "Above 6th floor" ] } }, "videoTypes": { "title": "Digital Viewings", "uniqueItems": true, "type": "array", "description": "Digitale visninger: video and/or 360°.", "items": { "type": "string", "enum": [ "1", "2" ], "enumTitles": [ "Video", "360 viewing" ] } }, "scrapeDetails": { "title": "Fetch Full Listing Details", "type": "boolean", "description": "When enabled, opens each listing and extracts full details (description, all images, facilities, viewings, cadastre, etc.). Slower but much richer output.", "default": false }, "includeContactInfo": { "title": "Include Broker / Seller Contact", "type": "boolean", "description": "When enabled, extracts agent/broker or private seller contact information (phone, email). Performs a detail page fetch per listing.", "default": false }, "maxItems": { "title": "Max Items", "minimum": 0, "type": "integer", "description": "Maximum number of listings to scrape (0 = unlimited).", "default": 50 }, "proxyConfiguration": { "title": "Proxy Configuration", "type": "object", "description": "Apify proxy settings. Residential proxies are recommended for Finn.no.", "default": { "useApifyProxy": true, "apifyProxyGroups": [ "RESIDENTIAL" ] } } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 }, "PROXY_UNBLOCKER_UNITS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 }, "PROXY_UNBLOCKER_UNITS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Finn.no Real Estate Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: