---
title: "Localized specs for one variant"
method: GET
path: "/variants/{id}/specs"
tags: ["variants"]
---

# Localized specs for one variant

`GET /variants/{id}/specs`

## Request

- Base URL: `https://api.cars-data.com/v1`
- URL: `https://api.cars-data.com/v1/variants/{id}/specs`
- Auth: one of:
  - API key in header `X-Api-Key`
  - HTTP bearer
  - none

Spec values and units resolved into the requested language. In the demo tier this is answered from the blob, for the 40 cars, in all 20 languages.

## Path parameters

- `id` string, required

## Query parameters

- `locale` 'ar' | 'bg' | 'cs' | 'da' | 'de' | 'el' | 'en' | 'es' | 'fr' | 'hr' | 'hu' | 'it' | 'no' | 'pl' | 'pt' | 'ro' | 'sk' | 'sr' | 'sv' | 'tr'

## Headers

- `PAYMENT-SIGNATURE` string

## Response `200`

OK. Paid with x402, it also carries `PAYMENT-RESPONSE`.

- VariantSpecsEnvelope
  - `data` VariantSpecs: Specurile rezolvate ale unei variante, plus câmpurile de sumar care o identifică. Sumarul există ca un client să nu fie nevoit să cheme endpointul de listă doar ca să afle ce mașină citește. Aceleași câmpuri apar pe `/compare`, care reutilizează schema asta.
    - `accel_0_100_s` number, nullable
    - `battery_kwh` number, nullable
    - `brand_slug` string
    - `display_name` string
    - `locale` string
    - `model_slug` string
    - `power_hp` integer, nullable
    - `price_new_eur` integer, nullable: Null când sursa poartă 0, ceea ce înseamnă „necunoscut", nu „gratis".
    - `specs` object
    - `top_speed_kmh` integer, nullable
    - `torque_nm` integer, nullable
    - `variant_id` string
    - `year_from` integer, nullable
    - `year_to` integer, nullable
  - `meta` Meta
    - `last_synced_at` string, date-time, required
    - `locale` string
    - `units` 'metric' | 'imperial'

## Other responses

- `401`: No key, or a key we do not know. `WWW-Authenticate: Bearer` on the MCP surface. The MCP server needs no key at all; a REST demo key is one click away. On the two x402 routes a request with no key gets `402` instead, with the price.
- `402`: No key and no valid payment. The price and how to pay are in the `PAYMENT-REQUIRED` header; the body says the same in words. A request that sent a key never gets this — it gets `401`/`403` instead.
- `403`: RFC 9457 problem document.
- `404`: Not found. A token that does not decode gets this too.

---

[API](https://skmtc.dev/cars-data/apis/cars-data-com-api.md) · [All operations](https://skmtc.dev/cars-data/apis/cars-data-com-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cars-data/apis/cars-data-com-api/revisions/4aeb6b2b5c5f?raw)
