# Finn.no Mobility Listings Scraper

> Finn.no Mobility Listings Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.04/call, status unknown (last checked 2026-10-02).

Searches and extracts structured vehicle, boat, and mobility listings from Finn.no, Norway's largest marketplace, with filtering by category, make, price, year, mileage, and location.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/finn?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/finn-no-mobility-listings-scraper-2d06512f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zvdXtknbXmCW0_J61UF1O

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability finn-no-mobility-listings-scraper-2d06512f -d '<json body>'
```

Example prompt: Search Finn.no for used electric cars in Oslo made between 2019 and 2023, priced under 400000 NOK, and give me the first 50 listings with make, model, and price.

## When to prefer this

Use this endpoint when you need structured, filterable data from Finn.no's mobility listings (cars, motorcycles, boats, caravans, motorhomes, or B2B equipment) in Norway. It is ideal for price comparison, inventory monitoring, or lead generation on the Norwegian vehicle market. Prefer it over generic web scrapers when you need clean, normalized listing fields without parsing raw HTML.

## Known failure modes

- Empty result set if filters are too restrictive or no listings match — not charged
- Invalid category enum value causes validation error
- Unsupported startUrl route (e.g. non-mobility Finn URLs) may return empty or error
- Location or make label not matching Finn's live filter values returns no results
- Network or scraping failure on Finn.no side — not charged per pay-per-call policy

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched listings and an array of items, each containing fields like adId, listingId, make, model, title, series, category, and modelSpec. Fields with null or empty values are omitted by default. The product field confirms the data source as 'finn'.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "fuel": {
   "type": "string",
   "default": "",
   "description": "Fuel label from the live filter, such as El or Diesel."
  },
  "make": {
   "type": "string",
   "default": "",
   "description": "Vehicle or boat make shown in the live search filter. Labels and raw filter values are accepted."
  },
  "query": {
   "type": "string",
   "default": "",
   "description": "Words to match in listing search. Leave blank to browse all listings."
  },
  "yearTo": {
   "type": "integer",
   "minimum": 1900,
   "description": "Maximum model year, inclusive."
  },
  "compact": {
   "type": "boolean",
   "default": false,
   "description": "Keep only the core comparison fields."
  },
  "priceTo": {
   "type": "integer",
   "minimum": 0,
   "description": "Maximum asking price in Norwegian kroner."
  },
  "category": {
   "enum": [
    "car",
    "mc",
    "boat",
    "caravan",
    "mobilehome",
    "b2b"
   ],
   "type": "string",
   "default": "car",
   "description": "Choose a mobility category. Business equipment starts with construction listings; paste a supported business search URL for trucks or tractors."
  },
  "location": {
   "type": "string",
   "default": "",
   "description": "Region or municipality name from the live location filter, such as Oslo."
  },
  "yearFrom": {
   "type": "integer",
   "minimum": 1900,
   "description": "Minimum model year, inclusive."
  },
  "mileageTo": {
   "type": "integer",
   "minimum": 0,
   "description": "Maximum vehicle mileage in kilometres."
  },
  "omitNulls": {
   "type": "boolean",
   "default": true,
   "description": "Remove fields with missing or empty values from each output row."
  },
  "priceFrom": {
   "type": "integer",
   "minimum": 0,
   "description": "Minimum asking price in Norwegian kroner."
  },
  "startUrls": {
   "type": "array",
   "default": [],
   "description": "One or more Finn mobility search-result URLs. Their filters take precedence over the form inputs. Car, motorcycle, boat, caravan, motorhome, construction, truck, and agricultural tractor routes are supported."
  },
  "maxResults": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many unique listings. Zero removes the limit."
  },
  "sellerType": {
   "type": "string",
   "default": "",
   "description": "Seller segment label, such as Privat or Merkeforhandler."
  },
  "mileageFrom": {
   "type": "integer",
   "minimum": 0,
   "description": "Minimum 
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "adId": null,
    "make": null,
    "model": null,
    "title": null,
    "series": null,
    "category": null,
    "listingId": null,
    "modelSpec": null
   }
  ],
  "product": "finn"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/finn-no-mobility-listings-scraper-2d06512f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
