# Otomoto Taxonomy API Documentation

Scrappa's `GET /api/otomoto/taxonomy` endpoint returns the Otomoto make/model taxonomy behind the search filters as JSON.

## What the response contains

`makes` lists every make with its live matching-ad `counter`. With `make_id`, `models` lists that make's models with their counters. `filters` carries the selectable values for fuel, transmission and body type.

## Related Otomoto endpoints

- `GET /api/otomoto/search` — pass a `make_id` or `model_id` here

- **Documentation:** [https://scrappa.co/docs/otomoto-api/otomoto_taxonomy](https://scrappa.co/docs/otomoto-api/otomoto_taxonomy)
- **API group:** Otomoto API
- **Endpoint:** `GET https://scrappa.co/api/otomoto/taxonomy`

## 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 |
| --- | --- | --- | --- |
| `make_id` | string | No | Return the models for one make. Omit for the full make list. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/otomoto/taxonomy?make_id=volvo"
```

## Example response

```json
{
    "success": true,
    "data": {
        "makes": [
            {
                "id": "volvo",
                "name": "Volvo",
                "counter": 9343
            }
        ],
        "models": [
            {
                "id": "xc-60",
                "name": "XC 60",
                "make": "volvo",
                "counter": 49153
            }
        ],
        "filters": [
            {
                "id": "filter_enum_fuel_type",
                "label": "fuel",
                "values": [
                    {
                        "id": "petrol",
                        "name": "Benzyna"
                    }
                ]
            }
        ]
    },
    "meta": {
        "endpoint_family": "taxonomy"
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
|  | Error | Otomoto could not be reached. Not billed. |
|  | Error | The upstream service is temporarily unavailable. Please retry shortly. |

## Frequently asked questions

### Do I need the taxonomy before searching?

No. The search endpoint validates make and model slugs itself. The taxonomy endpoint is for building pickers and validating input ahead of time.

### Are the counters live?

Yes. They are the matching-ad counts read from the embedded filter schema at request time.

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