# Autohero Car Search API Documentation

Search used cars on Autohero in DE, AT, FR, ES, IT, PL, BE or NL. Filter by brand, model, price, maximum mileage and minimum first registration year, sort by price, mileage, brand or newest, and page with offset and limit. Each car has id, stock number, brand, model, variant, first registration year, price with currency and optional monthly payment, mileage, power, engine size, CO2, accident and damage counts, drive train, main image, public url and publish date (ISO 8601, UTC). Brand and model values are case-sensitive, for example BMW, Volkswagen or Honda. The upstream search shows at most 10000 results. A valid search without matches is a successful response with an empty cars list.

- **Documentation:** [https://scrappa.co/docs/autohero-api/autohero_search](https://scrappa.co/docs/autohero-api/autohero_search)
- **API group:** Autohero API
- **Endpoint:** `GET https://scrappa.co/api/autohero/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 |
| --- | --- | --- | --- |
| `country` | string | No | Market, one of DE, AT, FR, ES, IT, PL, BE, NL. Defaults to DE. |
| `brand` | string | No | Car brand as Autohero spells it, case-sensitive. Example: BMW. |
| `model` | string | No | Car model as Autohero spells it, case-sensitive. Use together with brand. Example: Civic. |
| `price_min` | integer | No | Minimum price in whole major currency units, for example 5000 for EUR 5,000. |
| `price_max` | integer | No | Maximum price in whole major currency units. Must not be lower than price_min. |
| `mileage_max` | integer | No | Maximum mileage in kilometers. |
| `year_min` | integer | No | Earliest first registration year, 1990 or later. |
| `sort` | string | No | One of lowest_price, highest_price, lowest_mileage, highest_mileage, brand_asc, brand_desc, newest_eligible, most_popular. Defaults to lowest_price. |
| `limit` | integer | No | Cars per page, 1 to 100. Defaults to 20. |
| `offset` | integer | No | Number of cars to skip, 0 to 9900. Use next_offset from the previous response. Defaults to 0. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/autohero/search?country=DE&brand=BMW&sort=lowest_price&limit=2"
```

## Example response

```json
{
    "success": true,
    "data": {
        "country": "DE",
        "total": 657,
        "offset": 0,
        "limit": 2,
        "has_more": true,
        "next_offset": 2,
        "cars": [
            {
                "id": "85a4988b-e947-400e-a9fa-78cfdf84abaa",
                "stock_number": "CC15917",
                "brand": "BMW",
                "model": "2er",
                "variant": "214d Active Tourer",
                "first_registration_year": 2015,
                "price": {
                    "amount": 10380,
                    "currency": "EUR",
                    "monthly_payment": 245
                },
                "mileage": {
                    "distance": 112819,
                    "unit": "km"
                },
                "power_kw": 70,
                "engine_ccm": 1496,
                "co2": 99,
                "accidents": 0,
                "damages": 29,
                "drive_train": "front-wheel",
                "image_url": "https://img-eu-c1.autohero.com/img/4fe2f948a150b06ad788c8415a0436c8214e83351950f9aabe3a52efba96ee8d/exterior/1/43159be8db014ca2952983a0a7b96fa8.jpg",
                "url": "https://www.autohero.com/de/bmw-2-er/id/85a4988b-e947-400e-a9fa-78cfdf84abaa/",
                "published_at": "2025-10-14T07:53:52Z"
            },
            {
                "id": "fd9fef12-fb1d-41cd-9409-a93390564497",
                "stock_number": "TX95978",
                "brand": "BMW",
                "model": "1er",
                "variant": "116i",
                "first_registration_year": 2018,
                "price": {
                    "amount": 10600,
                    "currency": "EUR",
                    "monthly_payment": 161
                },
                "mileage": {
                    "distance": 112397,
                    "unit": "km"
                },
                "power_kw": 80,
                "engine_ccm": 1499,
                "co2": 116,
                "accidents": 0,
                "damages": 16,
                "drive_train": "back-wheel",
                "image_url": "https://img-eu-c1.autohero.com/img/99da021dceed6a4051dbad8e81425bde398eba3893215b84d47b088db83d129d/exterior/1/7c78bf969ebb4a129004cc093312c965.jpg",
                "url": "https://www.autohero.com/de/bmw-1-er/id/fd9fef12-fb1d-41cd-9409-a93390564497/",
                "published_at": "2026-09-03T06:45:18Z"
            }
        ]
    },
    "meta": {
        "endpoint_family": "search",
        "billable": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 422 | Validation Error | A query parameter is missing or invalid. No upstream request is made. This response is not billable. |
| 502 | Invalid Source Response | Autohero answered with a shape that no longer matches the documented contract. This response is not billable. |
| 503 | Service Unavailable | The upstream service is temporarily unavailable. Please retry shortly. |

## 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)
