finn.no APIfinn.no ↗
Access FINN.no listings via API. Search cars, real estate, and second-hand marketplace items. Retrieve structured data by FINN code across all major categories.
curl -X GET 'https://api.parse.bot/scraper/8e177814-56e1-4622-963b-991831796634/search_cars?page=1&rows=5&query=Tesla' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for used and new car listings on FINN.no with optional keyword query. Returns paginated results with rich vehicle metadata including make, model, mileage, price, and location.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-indexed) |
| rows | integer | Number of results per page |
| query | string | Search keyword (e.g. 'Tesla') |
{
"type": "object",
"fields": {
"docs": "array of car listing objects with id, heading, location, price, year, mileage, make, model, etc.",
"filters": "array of available filter objects",
"metadata": "pagination and search metadata including result_size, paging, sort"
},
"sample": {
"data": {
"docs": [
{
"id": "463431718",
"make": "Tesla",
"type": "motor",
"year": 2022,
"model": "Model Y",
"price": {
"amount": 301000,
"currency_code": "NOK"
},
"heading": "Tesla Model Y",
"mileage": 104500,
"location": "Oslo",
"canonical_url": "https://www.finn.no/mobility/item/463431718"
}
],
"metadata": {
"paging": {
"last": 50,
"current": 1
},
"result_size": {
"match_count": 1840
}
}
},
"status": "success"
}
}About the finn.no API
The FINN.no API provides 5 endpoints for searching and retrieving listings across Norway's largest marketplace, covering vehicles, real estate, and the Torget second-hand market. The search_cars endpoint returns up to dozens of fields per listing including make, model, mileage, year, price, and location. The get_listing_by_finnkode endpoint lets you fetch any listing by its unique numeric FINN code, returning structured data or advertising metadata depending on the listing type.
What the API Covers
The FINN.no API exposes listings across three major verticals: vehicles (via search_cars and search_generic), real estate (search_real_estate), and the general second-hand marketplace (search_torget). Each search endpoint accepts a query string and a page parameter for pagination. The search_cars and search_generic endpoints also accept a rows parameter to control result density. Response objects include a docs array of listing items, a filters array of available refinement options, and a metadata object containing result_size and paging information.
Per-Endpoint Response Fields
search_cars returns listing objects with fields including id, heading, location, price, year, mileage, make, and model. search_real_estate returns property objects with id, canonical_url, heading, prices, location, area, and image_url, plus a metadata.total_results count. search_torget returns marketplace items with id, heading, location, price, image, brand, trade_type, and canonical_url. search_generic accepts a required category parameter — valid values are cars, boats, motorcycles, campervans, caravans, commercial_vehicles, or a direct category identifier — and returns the same docs/filters/metadata structure as other search endpoints.
Fetching by FINN Code
The get_listing_by_finnkode endpoint accepts a finnkode string (the numeric identifier visible in any FINN.no URL) and returns a unified response regardless of listing type. For mobility listings, the response includes a data object and sets source to search_api. For all other listing types, the response falls back to a title string and an advertising_metadata object, with source set to html. The url field is always present and points to the canonical listing page.
Coverage and Scope
All search endpoints return paginated results with 1-indexed page numbers. The query parameter is optional on most endpoints but required on search_torget. search_generic is limited to vehicle-related categories and does not serve real estate or Torget results. The API does not currently expose rental listings, job postings, or boat-specific detail pages as dedicated endpoints.
- Aggregate used car inventory from FINN.no filtered by make and model for a price comparison tool
- Monitor Oslo real estate listing prices and area data with
search_real_estatefor a property analytics dashboard - Build a second-hand price tracker for consumer electronics using
search_torgetwith brand and trade_type fields - Retrieve full structured details for a known vehicle listing using
get_listing_by_finnkodewith the FINN code - Enumerate campervan and caravan listings for a Norwegian vehicle rental aggregator via
search_generic - Track mileage and year distributions across used car listings to build depreciation models
- Feed canonical_url and image_url fields from real estate results into a listing notification service
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does FINN.no have an official public developer API?+
What does `get_listing_by_finnkode` return for non-vehicle listings?+
title, the url, and an advertising_metadata object containing ad targeting metadata. The source field will be set to html. Structured data objects are only returned for mobility listings, where source is search_api.Does `search_generic` work for real estate or Torget categories?+
search_generic is limited to vehicle-related categories: cars, boats, motorcycles, campervans, caravans, and commercial_vehicles. For real estate use search_real_estate, and for general marketplace items use search_torget. You can fork this API on Parse and revise it to add support for additional category identifiers if your use case requires them.Does the API cover FINN.no job listings or rental properties?+
Are there any filtering options beyond the `query` parameter in search results?+
filters array in their responses, which contains available filter objects for the given search. However, the current input parameters are limited to query, page, and rows — filter objects in the response are informational and cannot currently be passed back as inputs. You can fork the API on Parse and revise it to wire specific filter values as additional input parameters.