# FINN.no Bil Search API Documentation

Search current Norwegian car listings with validated filters, sorting, and page pagination. Prices and mileage are numbers plus currency and unit. A valid empty result is a successful response.

- **Documentation:** [https://scrappa.co/docs/finn-bil-api/finn_bil_search](https://scrappa.co/docs/finn-bil-api/finn_bil_search)
- **API group:** FINN.no Bil API
- **Endpoint:** `GET https://scrappa.co/api/finn-bil/v1/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `sort` | string | No | PUBLISHED, PRICE_ASC, PRICE_DESC, MILEAGE_ASC, MILEAGE_DESC, RELEVANCE, MODEL, CLOSEST. |
| `rows` | integer | No | Listings per page, 1 to 49. Defaults to 49. |
| `page` | integer | No | One-based page number. Defaults to 1. |
| `q` | string | No | Optional free-text search, e.g. "volvo xc90". |
| `variant` | string | No | Hierarchical make+model filter string. |
| `location` | string | No | Hierarchical county/municipality/district code. |
| `price_from` | integer | No | Minimum price in NOK. |
| `price_to` | integer | No | Maximum price in NOK. |
| `year_from` | integer | No | Minimum model year (1950-2027). |
| `year_to` | integer | No | Maximum model year. |
| `mileage_from` | integer | No | Minimum mileage in km. |
| `mileage_to` | integer | No | Maximum mileage in km. |
| `fuel` | integer | No | Fuel type code (Bensin=1, Diesel=2, El=4, Hybrid=5/6, Plug-in=7/8). |
| `body_type` | integer | No | Body type code (SUV=4, Sedan=3, Kombi=2, etc.). |
| `transmission` | integer | No | Manuell=1, Automat=2. |
| `dealer_segment` | integer | No | Merkeforhandler=1, Annet bilutsalg=2, Privat=3. |
| `sales_form` | integer | No | Bruktbil=1, Nybil=2, Leasing=5. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/finn-bil/v1/search?sort=PRICE_ASC&rows=2&page=1"
```

## Example response

```json
{
    "success": true,
    "data": {
        "listings": [],
        "pagination": {
            "page": 1,
            "per_page": 2,
            "total": 71780,
            "has_more": true
        }
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A public parameter or range is invalid. This response is not billable. |
| 404 | Not Found | The requested FINN.no resource was not found. This response is not billable. |
| 502 | Invalid Source Response | FINN.no returned an unexpected response shape. This response is not billable. |
| 503 | Service Unavailable | FINN.no is temporarily unavailable. Please retry. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
