---
title: "The whole demo set in one call"
method: GET
path: "/demo"
tags: ["demo"]
---

# The whole demo set in one call

`GET /demo`

## Request

- Base URL: `https://api.cars-data.com/v1`
- URL: `https://api.cars-data.com/v1/demo`
- Auth: one of:
  - API key in header `X-Api-Key`
  - HTTP bearer

Every car a demo key can reach, in a single response — so evaluating
the demo never requires guessing which cars are in it.

Answered from a pre-rendered blob in Workers KV. **Demo keys only**: a
paid key is routed to the catalogue and will get `404` here, because
this path exists only inside the demo router.

## Response `200`

OK

- DemoSetEnvelope
  - `data` DemoSet
    - `fuels` string[]: Every fuel type represented in the set.
    - `set` string: The brands and models in the set
    - `upgrade` string: What to do when 40 cars are not enough.
    - `variant_count` 40
    - `variants` DemoVariant[]
      - `battery_kwh` number, nullable
      - `body_type` string, nullable
      - `brand` string
      - `display_name` string
      - `fuel` string, nullable
      - `generation` string
      - `generation_id` string
      - `model` string
      - `model_id` string
      - `power_hp` integer, nullable
      - `price_new_eur` integer, nullable
      - `variant_id` string
      - `years` string, nullable
  - `meta` Meta
    - `last_synced_at` string, date-time, required
    - `locale` string
    - `units` 'metric' | 'imperial'

## Other responses

- `503`: RFC 9457 problem document.

---

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