AutoSignal public API v1.0.0

Czech car-market deals, prices, valuations and the free registry vehicle check.

AutoSignal watches the Czech (and SK / PL / HU / RO) car market: it aggregates adverts from the major marketplaces and dealer sites, groups them into segments of comparable cars (brand, model, fuel, country, year band, mileage band), computes each segment's median price and flags cars priced 12 %+ below it (5 % for new cars). It also runs a free check of any VIN against the official Czech vehicle registry.

This is the public, read-only slice of the API — the same data the website and apps show, no key needed (service health: GET /api/health). Everything here is also available as tools on the MCP server at https://api.autosignal.eu/mcp (operations carry x-mcp-tool with the tool name); see https://autosignal.eu/cs/mcp.

Rate limit: 100 requests per minute per IP; a 429 says how long to wait in retry-after. Responses are cached for 2 minutes server-side, so polling faster returns the same data. (The vehicle check also allows 10 *live* registry lookups per IP per day; VINs in the monthly snapshot are free.)

Conventions: all prices are gross CZK unless a currency field says otherwise; percentages are plain numbers (12.5 = 12.5 %); dates are ISO 8601; list parameters are comma-separated; ids are UUIDs. Figures are statistical (vs. segment median) and informational — not an expert appraisal. Methodology: https://autosignal.eu/cs/metodika. Terms: https://autosignal.eu/cs/terms.

DealsCars priced below their segment median, and the whole scored market.

GET /api/deals MCP tool search_deals

Search below-market deals (or the whole market)

Paginated feed of cars priced 12 %+ below the median of comparable cars (same brand, model, fuel, country, year band, mileage band), one card per car, best deal first by default. mode=all returns every scored listing instead, each with its % above/below median. Pagination: request page=1, then page+1 while hasMore is true (total is the number of cards; pageSize max 100). Cached for 2 minutes.

https://api.autosignal.eu/api/deals

ParameterInTypeDescription
brandsquerystringBrand names, comma-separated (canonical spelling, e.g. Škoda, Mercedes-Benz).
modelsquerystringModel names, comma-separated; matched against the catalogue name or as a prefix of the raw model.
fuelsquerystringFuels, comma-separated: petrol, diesel, hybrid, electric, lpg, cng, other.
vehicleTypesquerystringused, new and/or demo, comma-separated. Default: all.
bodyTypesquerystringBody types, comma-separated: kombi, sedan, hatchback, suv, mpv, coupe, cabrio, pickup, van.
priceMinqueryintegerLowest asking price in CZK. e.g. 200000
priceMaxqueryintegerHighest asking price in CZK. e.g. 500000
yearMinqueryintegerOldest model year. e.g. 2018
yearMaxqueryintegerNewest model year. e.g. 2022
maxMileagequeryintegerHighest odometer reading in km. e.g. 150000
minDiscountquerynumberOnly cars at least this many % below their segment median. e.g. 20
priceDroppedquerystring (true)`true` keeps only listings whose price was recently cut.
firstOwnerquerystring (true)`true` keeps only registry-verified one-owner cars.
czOriginquerystring (true)`true` keeps only cars first registered in the Czech Republic (never imported).
powerMinqueryintegerLowest engine power in kW. e.g. 110
transmissionquerystring (manual, automatic)manual or automatic.
damagedquerystring (true)`true` includes damaged / crashed cars, which are excluded by default.
countriesquerystringMarkets to include, comma-separated ISO codes. Default CZ. Prices are only ever compared within one country.
modequerystring (all)`all` switches from published deals to the whole market: every scored listing with its % above/below median (the webapp's "Celý trh").
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.
sourcequerystringRestrict to source slugs, comma-separated (e.g. sauto, tipcars, aaa-auto).
sortByquerystring (deal_score, price, price_desc, date, listed, priceDropDate)Sort order. `deal_score` (default) = biggest discount first; `date` = newest deal; `listed` = newest advert; `priceDropDate` = latest price cut.
includeMarketquerystring (true)`true` appends rated non-deal listings after the deals so a narrow filter never dead-ends; `dealTotal` / `marketTotal` split the count.
pagequeryintegerPage number, 1-based.
pageSizequeryintegerCards per page. Max 100.

Responses

200 A page of deal cards.
{
  "data": [
    {
      "id": "228f2bd8-eed3-4f91-9bbf-bf038ce751f6",
      "listingId": "44b6ed8b-0abd-461b-858c-b4f6381c96c2",
      "marketStatId": "431279b6-2f4c-4ff3-82ce-e9f73ae813fc",
      "dealScore": 0.66878456,
      "priceDiffPct": 66.878456,
      "flaggedAt": "2026-09-12 08:15:09.348921+00",
      "isPublished": true,
      "isMarketListing": false,
      "listing": {
        "id": "44b6ed8b-0abd-461b-858c-b4f6381c96c2",
        "source": "tipcars",
        "sourceId": "15780215",
        "url": "https://www.tipcars.com/suzuki-vitara/suv/nafta/suzuki-vitara-1-9-ddis-1-majitel-4x4-servisk-15780215.html",
        "title": "Suzuki Vitara 1,9 DDiS 1.majitel,4x4,servisk",
        "brand": "Suzuki",
        "model": "Vitara",
        "year": 2008,
        "mileageKm": 94448,
        "priceCzk": 119900,
        "currency": "CZK",
        "fuel": "other",
        "transmission": null,
        "description": "",
        "images": [
          "https://img.tipcars.com/fotky_zdrojove/15780215_1/1748341826/E/suzuki-vitara-1-9-ddis-1-majitel-4x4-servisk.jpg"
        ],
        "location": "",
        "country": "CZ",
        "vin": "JSAJTA44V00252629",
        "sellerType": "dealer",
        "sellerName": "Tomáš Lajza-AUTO LAJZA • Vysoké Mýto",
        "isVatDeductible": null,
        "engineCapacity": null,
        "powerKw": null,
        "ownersCount": 0,
        "ownerType": null,
        "firstRegistration": null,
        "firstRegistrationCz": null,
        "registryData": {
          "rsvStatus": 3,
          "rsvCheckedAt": "2026-10-05T21:35:17.254Z",
          "vinCheckedAt": "2026-09-07T22:53:51.879Z",
          "notInRegistry": true,
          "vinBackfillAt": "2026-09-07T16:01:48.847Z"
        },
        "condition": null,
        "color": null,
        "drivetrain": null,
        "bodyType": "suv",
        "deduplicationKey": "vin:JSAJTA44V00252629",
        "canonicalModel": "Vitara",
        "createdAt": "2026-09-07 02:59:24.256774+00",
        "updatedAt": "2026-10-09 17:15:27.618+00",
        "isActive": true,
        "vehicleType": "used",
        "isAuction": false
      },
      "marketStat": {
        "id": "431279b6-2f4c-4ff3-82ce-e9f73ae813fc",
        "brand": "Suzuki",
        "model": "Vitara",
        "fuel": "other",
        "country": "CZ",
        "yearFrom": 2008,
        "yearTo": 2019,
        "mileageFrom": 50000,
        "mileageTo": 100000,
        "avgPrice": 330169.9,
        "medianPrice": 362000,
        "minPrice": 119900,
        "count": 10,
        "computedAt": "2026-10-09 20:45:07.077368+00"
      },
      "watchCount": 0,
      "priceDrop": 20000,
      "previousPrice": 139900,
      "display": {
        "priceBadge": {
          "kind": "deal",
          "tier": "hot",
          "pct": 67
        },
        "detailPriceBadge": {
          "kind": "deal",
          "tier": "hot",
          "pct": 67
        },
        "registryBadges": [],
        "flags": {
          "usImport": {
            "state": "none"
          }
        }
      }
    },
    {
      "id": "a640c9e4-3089-4e6c-a7f6-66fd455a5fef",
      "listingId": "85dc9d11-2c36-4680-80d2-35e4b24a6736",
      "marketStatId": "d7999eb9-bba1-42d9-b67a-cf7958d788c0",
      "dealScore": 0.6545454,
      "priceDiffPct": 65.454544,
      "flaggedAt": "2026-10-05 17:52:35.228343+00",
      "isPublished": true,
      "isMarketListing": false,
      "listing": {
        "id": "85dc9d11-2c36-4680-80d2-35e4b24a6736",
        "source": "sauto",
        "sourceId": "211221486",
        "url": "https://www.sauto.cz/osobni/detail/renault/twingo/211221486",
        "title": "Renault Twingo",
        "brand": "Renault",
        "model": "Twingo",
        "year": 2022,
        "mileageKm": 23000,
        "priceCzk": 190000,
        "currency": "CZK",
        "fuel": "electric",
        "transmission": null,
        "description": "",
        "images": [
          "https://d19-a.sdn.cz/d_19/c_img_qG_A/kcKfrMAkFMsuhMJaH9pTQi/eeb1.jpeg"
        ],
        "location": "Praha, Hlavní město Praha",
        "country": "CZ",
        "vin": "VF1AH000668632023",
        "sellerType": "private",
        "sellerName": null,
        "isVatDeductible": null,
        "engineCapacity": null,
        "powerKw": null,
        "ownersCount": 0,
        "ownerType": null,
        "firstRegistration": null,
        "firstRegistrationCz": null,
        "registryData": {
          "rsvStatus": 3,
          "rsvCheckedAt": "2026-10-05T18:03:58.130Z",
          "notInRegistry": true
        },
        "condition": null,
        "color": null,
        "drivetrain": null,
        "bodyType": null,
        "deduplicationKey": "vin:VF1AH000668632023",
        "canonicalModel": "Twingo",
        "createdAt": "2026-10-05 17:52:15.004317+00",
        "updatedAt": "2026-10-09 20:34:49.004+00",
        "isActive": true,
        "vehicleType": "used",
        "isAuction": false
      },
      "marketStat": {
        "id": "d7999eb9-bba1-42d9-b67a-cf7958d788c0",
        "brand": "Renault",
        "model": "Twingo",
        "fuel": "electric",
        "country": "CZ",
        "yearFrom": 2021,
        "yearTo": 2026,
        "mileageFrom": 0,
        "mileageTo": 50000,
        "avgPrice": 505875,
        "medianPrice": 550000,
        "minPrice": 190000,
        "count": 16,
        "computedAt": "2026-10-09 20:45:07.276269+00"
      },
      "watchCount": 1,
      "priceDrop": 0,
      "display": {
        "priceBadge": {
          "kind": "deal",
          "tier": "hot",
          "pct": 65
        },
        "detailPriceBadge": {
          "kind": "deal",
          "tier": "hot",
          "pct": 65
        },
        "registryBadges": [],
        "flags": {
          "usImport": {
            "state": "none"
          }
        }
      }
    }
  ],
  "total": 10476,
  "page": 1,
  "pageSize": 10,
  "hasMore": true
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/brands MCP tool list_brands

Brands with active deals

Brands that currently have published deals, with the number of cards each, most first. Accepts the feed filters so the counts match a filtered feed.

https://api.autosignal.eu/api/deals/brands

ParameterInTypeDescription
brandsquerystringBrand names, comma-separated (canonical spelling, e.g. Škoda, Mercedes-Benz).
modelsquerystringModel names, comma-separated; matched against the catalogue name or as a prefix of the raw model.
fuelsquerystringFuels, comma-separated: petrol, diesel, hybrid, electric, lpg, cng, other.
vehicleTypesquerystringused, new and/or demo, comma-separated. Default: all.
bodyTypesquerystringBody types, comma-separated: kombi, sedan, hatchback, suv, mpv, coupe, cabrio, pickup, van.
priceMinqueryintegerLowest asking price in CZK. e.g. 200000
priceMaxqueryintegerHighest asking price in CZK. e.g. 500000
yearMinqueryintegerOldest model year. e.g. 2018
yearMaxqueryintegerNewest model year. e.g. 2022
maxMileagequeryintegerHighest odometer reading in km. e.g. 150000
minDiscountquerynumberOnly cars at least this many % below their segment median. e.g. 20
priceDroppedquerystring (true)`true` keeps only listings whose price was recently cut.
firstOwnerquerystring (true)`true` keeps only registry-verified one-owner cars.
czOriginquerystring (true)`true` keeps only cars first registered in the Czech Republic (never imported).
powerMinqueryintegerLowest engine power in kW. e.g. 110
transmissionquerystring (manual, automatic)manual or automatic.
damagedquerystring (true)`true` includes damaged / crashed cars, which are excluded by default.
countriesquerystringMarkets to include, comma-separated ISO codes. Default CZ. Prices are only ever compared within one country.
modequerystring (all)`all` switches from published deals to the whole market: every scored listing with its % above/below median (the webapp's "Celý trh").
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 Brands and counts.
[
  {
    "brand": "Škoda",
    "count": 4889
  },
  {
    "brand": "Volkswagen",
    "count": 1946
  }
]
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/models MCP tool list_models

Models of a brand with active deals

Models of one brand that currently have published deals, with card counts, most first (max 200). Model names are the catalogue canonicals where known.

https://api.autosignal.eu/api/deals/models?brand=%C5%A0koda

ParameterInTypeDescription
brand requiredquerystringBrand name, canonical spelling. e.g. Škoda
fuelsquerystringFuels, comma-separated: petrol, diesel, hybrid, electric, lpg, cng, other.
vehicleTypesquerystringused, new and/or demo, comma-separated. Default: all.
bodyTypesquerystringBody types, comma-separated: kombi, sedan, hatchback, suv, mpv, coupe, cabrio, pickup, van.
priceMinqueryintegerLowest asking price in CZK. e.g. 200000
priceMaxqueryintegerHighest asking price in CZK. e.g. 500000
yearMinqueryintegerOldest model year. e.g. 2018
yearMaxqueryintegerNewest model year. e.g. 2022
maxMileagequeryintegerHighest odometer reading in km. e.g. 150000
minDiscountquerynumberOnly cars at least this many % below their segment median. e.g. 20
priceDroppedquerystring (true)`true` keeps only listings whose price was recently cut.
firstOwnerquerystring (true)`true` keeps only registry-verified one-owner cars.
czOriginquerystring (true)`true` keeps only cars first registered in the Czech Republic (never imported).
powerMinqueryintegerLowest engine power in kW. e.g. 110
transmissionquerystring (manual, automatic)manual or automatic.
damagedquerystring (true)`true` includes damaged / crashed cars, which are excluded by default.
countriesquerystringMarkets to include, comma-separated ISO codes. Default CZ. Prices are only ever compared within one country.
modequerystring (all)`all` switches from published deals to the whole market: every scored listing with its % above/below median (the webapp's "Celý trh").
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 Models and counts.
[
  {
    "model": "Fabia",
    "count": 846
  },
  {
    "model": "Kodiaq",
    "count": 779
  }
]
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/countries MCP tool list_countries

Markets with active deals

Countries that currently have published deals, with card counts. mode=all counts the whole market instead.

https://api.autosignal.eu/api/deals/countries

ParameterInTypeDescription
modequerystring (all)`all` switches from published deals to the whole market: every scored listing with its % above/below median (the webapp's "Celý trh").
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 Countries and counts.
[
  {
    "country": "CZ",
    "count": 17200
  },
  {
    "country": "RO",
    "count": 3446
  }
]
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/hot MCP tool list_hot_deals

Top deals right now

Up to 15 deals with the biggest discount vs. their segment median, one per car, excluding adverts that would open with a fraud-risk warning.

https://api.autosignal.eu/api/deals/hot

ParameterInTypeDescription
countriesquerystringMarkets to include, comma-separated ISO codes. Default CZ. Prices are only ever compared within one country.
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 Deals, biggest discount first.
[
  {
    "id": "228f2bd8-eed3-4f91-9bbf-bf038ce751f6",
    "listingId": "44b6ed8b-0abd-461b-858c-b4f6381c96c2",
    "marketStatId": "431279b6-2f4c-4ff3-82ce-e9f73ae813fc",
    "dealScore": 0.66878456,
    "priceDiffPct": 66.878456,
    "flaggedAt": "2026-09-12T08:15:09.348Z",
    "isPublished": true,
    "firstPublishedAt": "2026-09-12T08:15:09.332Z",
    "hiddenByAdmin": false,
    "hiddenAt": null,
    "groupKey": "suzuki|vitara|2008|94|6",
    "listingActive": true,
    "listingDamaged": false,
    "listingHasVin": true,
    "listing": {
      "id": "44b6ed8b-0abd-461b-858c-b4f6381c96c2",
      "source": "tipcars",
      "sourceId": "15780215",
      "url": "https://www.tipcars.com/suzuki-vitara/suv/nafta/suzuki-vitara-1-9-ddis-1-majitel-4x4-servisk-15780215.html",
      "title": "Suzuki Vitara 1,9 DDiS 1.majitel,4x4,servisk",
      "brand": "Suzuki",
      "model": "Vitara",
      "year": 2008,
      "mileageKm": 94448,
      "priceCzk": 119900,
      "currency": "CZK",
      "fuel": "other",
      "transmission": null,
      "description": "",
      "images": [
        "https://img.tipcars.com/fotky_zdrojove/15780215_1/1748341826/E/suzuki-vitara-1-9-ddis-1-majitel-4x4-servisk.jpg"
      ],
      "location": "",
      "country": "CZ",
      "vin": "JSAJTA44V00252629",
      "sellerType": "dealer",
      "sellerName": "Tomáš Lajza-AUTO LAJZA • Vysoké Mýto",
      "isVatDeductible": null,
      "engineCapacity": null,
      "powerKw": null,
      "ownersCount": 0,
      "ownerType": null,
      "firstRegistration": null,
      "firstRegistrationCz": null,
      "registryData": {
        "rsvStatus": 3,
        "rsvCheckedAt": "2026-10-05T21:35:17.254Z",
        "vinCheckedAt": "2026-09-07T22:53:51.879Z",
        "notInRegistry": true,
        "vinBackfillAt": "2026-09-07T16:01:48.847Z"
      },
      "condition": null,
      "color": null,
      "drivetrain": null,
      "bodyType": "suv",
      "deduplicationKey": "vin:JSAJTA44V00252629",
      "canonicalModel": "Vitara",
      "createdAt": "2026-09-07T02:59:24.256Z",
      "updatedAt": "2026-10-09T17:15:27.618Z",
      "lastVerifiedAt": "2026-10-09T10:16:18.870Z",
      "isActive": true,
      "goneProbeCount": 0,
      "vehicleType": "used",
      "isAuction": false,
      "feedGroupKey": "suzuki|vitara|2008|94|6",
      "feedIsPrimary": true,
      "feedIsDeal": true,
      "feedDealScore": 0.66878456
    },
    "marketStat": {
      "id": "431279b6-2f4c-4ff3-82ce-e9f73ae813fc",
      "brand": "Suzuki",
      "model": "Vitara",
      "fuel": "other",
      "country": "CZ",
      "yearFrom": 2008,
      "yearTo": 2019,
      "mileageFrom": 50000,
      "mileageTo": 100000,
      "avgPrice": 330169.9,
      "medianPrice": 362000,
      "minPrice": 119900,
      "count": 10,
      "widenLevel": 2,
      "computedAt": "2026-10-09T20:45:07.077Z"
    },
    "watchCount": 0,
    "display": {
      "priceBadge": {
        "kind": "deal",
        "tier": "hot",
        "pct": 67
      },
      "detailPriceBadge": {
        "kind": "deal",
        "tier": "hot",
        "pct": 67
      },
      "registryBadges": [],
      "flags": {
        "usImport": {
          "state": "none"
        }
      }
    }
  },
  {
    "id": "a640c9e4-3089-4e6c-a7f6-66fd455a5fef",
    "listingId": "85dc9d11-2c36-4680-80d2-35e4b24a6736",
    "marketStatId": "d7999eb9-bba1-42d9-b67a-cf7958d788c0",
    "dealScore": 0.6545454,
    "priceDiffPct": 65.454544,
    "flaggedAt": "2026-10-05T17:52:35.228Z",
    "isPublished": true,
    "firstPublishedAt": "2026-10-05T17:52:35.225Z",
    "hiddenByAdmin": false,
    "hiddenAt": null,
    "groupKey": "renault|twingo|2022|23|10",
    "listingActive": true,
    "listingDamaged": false,
    "listingHasVin": true,
    "listing": {
      "id": "85dc9d11-2c36-4680-80d2-35e4b24a6736",
      "source": "sauto",
      "sourceId": "211221486",
      "url": "https://www.sauto.cz/osobni/detail/renault/twingo/211221486",
      "title": "Renault Twingo",
      "brand": "Renault",
      "model": "Twingo",
      "year": 2022,
      "mileageKm": 23000,
      "priceCzk": 190000,
      "currency": "CZK",
      "fuel": "electric",
      "transmission": null,
      "description": "",
      "images": [
        "https://d19-a.sdn.cz/d_19/c_img_qG_A/kcKfrMAkFMsuhMJaH9pTQi/eeb1.jpeg"
      ],
      "location": "Praha, Hlavní město Praha",
      "country": "CZ",
      "vin": "VF1AH000668632023",
      "sellerType": "private",
      "sellerName": null,
      "isVatDeductible": null,
      "engineCapacity": null,
      "powerKw": null,
      "ownersCount": 0,
      "ownerType": null,
      "firstRegistration": null,
      "firstRegistrationCz": null,
      "registryData": {
        "rsvStatus": 3,
        "rsvCheckedAt": "2026-10-05T18:03:58.130Z",
        "notInRegistry": true
      },
      "condition": null,
      "color": null,
      "drivetrain": null,
      "bodyType": null,
      "deduplicationKey": "vin:VF1AH000668632023",
      "canonicalModel": "Twingo",
      "createdAt": "2026-10-05T17:52:15.004Z",
      "updatedAt": "2026-10-09T20:34:49.004Z",
      "lastVerifiedAt": "2026-10-09T20:30:55.126Z",
      "isActive": true,
      "goneProbeCount": 0,
      "vehicleType": "used",
      "isAuction": false,
      "feedGroupKey": "renault|twingo|2022|23|10",
      "feedIsPrimary": true,
      "feedIsDeal": true,
      "feedDealScore": 0.6545454
    },
    "marketStat": {
      "id": "d7999eb9-bba1-42d9-b67a-cf7958d788c0",
      "brand": "Renault",
      "model": "Twingo",
      "fuel": "electric",
      "country": "CZ",
      "yearFrom": 2021,
      "yearTo": 2026,
      "mileageFrom": 0,
      "mileageTo": 50000,
      "avgPrice": 505875,
      "medianPrice": 550000,
      "minPrice": 190000,
      "count": 16,
      "widenLevel": 1,
      "computedAt": "2026-10-09T20:45:07.276Z"
    },
    "watchCount": 1,
    "display": {
      "priceBadge": {
        "kind": "deal",
        "tier": "hot",
        "pct": 65
      },
      "detailPriceBadge": {
        "kind": "deal",
        "tier": "hot",
        "pct": 65
      },
      "registryBadges": [],
      "flags": {
        "usImport": {
          "state": "none"
        }
      }
    }
  }
]
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/recently-reduced MCP tool list_recently_reduced

Deals whose price was just cut

Up to 10 deals whose latest price is 1–40 % below the previous one, newest cut first, one per car. Each card adds priceDrop, priceDropPct, oldPrice and droppedAt.

https://api.autosignal.eu/api/deals/recently-reduced

ParameterInTypeDescription
countriesquerystringMarkets to include, comma-separated ISO codes. Default CZ. Prices are only ever compared within one country.
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 Deals, latest price cut first.
[
  {
    "id": "06abbfbe-080b-4c94-9837-ac6cae1c6260",
    "listingId": "f0328a6a-e0eb-44f8-9e19-6b2fb05779fb",
    "marketStatId": "3d6c4593-e7a8-4b41-9566-523636fefc76",
    "dealScore": 0.16359833,
    "priceDiffPct": 16.359833,
    "flaggedAt": "2026-07-15 16:09:51.22363+00",
    "isPublished": true,
    "listing": {
      "id": "f0328a6a-e0eb-44f8-9e19-6b2fb05779fb",
      "source": "sauto",
      "sourceId": "210777026",
      "url": "https://www.sauto.cz/osobni/detail/skoda/fabia/210777026",
      "title": "Škoda Fabia, Combi 1,0 TSI / 70 kW Ambition",
      "brand": "Škoda",
      "model": "Fabia",
      "year": 2022,
      "mileageKm": 114404,
      "priceCzk": 199900,
      "fuel": "petrol",
      "transmission": "manual",
      "description": "",
      "images": [
        "https://d19-a.sdn.cz/d_19/c_img_qD_B/kQMlcCt5zmBDp4mHl9HNqFsI/b659.jpeg"
      ],
      "location": "Chrudim",
      "vin": "TMBJP6NJ7NZ023802",
      "engineCapacity": 999,
      "powerKw": 70,
      "ownersCount": 2,
      "condition": null,
      "color": null,
      "drivetrain": null,
      "sellerType": "dealer",
      "isVatDeductible": null,
      "deduplicationKey": "vin:TMBJP6NJ7NZ023802",
      "createdAt": "2026-07-15 16:09:07.06413+00",
      "updatedAt": "2026-10-09 20:46:27.396+00",
      "isActive": true
    },
    "marketStat": {
      "id": "3d6c4593-e7a8-4b41-9566-523636fefc76",
      "brand": "Škoda",
      "model": "Fabia",
      "yearFrom": 2021,
      "yearTo": 2023,
      "mileageFrom": 100000,
      "mileageTo": 150000,
      "avgPrice": 243374.28,
      "medianPrice": 239000,
      "minPrice": 160000,
      "count": 273,
      "computedAt": "2026-10-09 20:45:05.783582+00"
    },
    "priceDrop": 10000,
    "priceDropPct": 4.76,
    "previousPrice": 209900,
    "watchCount": 0,
    "display": {
      "priceBadge": {
        "kind": "deal",
        "tier": "great",
        "pct": 16
      },
      "detailPriceBadge": {
        "kind": "deal",
        "tier": "great",
        "pct": 16
      },
      "registryBadges": [],
      "flags": {
        "usImport": {
          "state": "none"
        }
      }
    }
  },
  {
    "id": "bdcf4ec0-3512-4abc-8840-562bf9dcf79d",
    "listingId": "4299ef64-1b78-49ac-ac4b-89872a67afaf",
    "marketStatId": "e6e7fbc0-9cb0-45f2-a74c-47acf03a812d",
    "dealScore": 0.33885217,
    "priceDiffPct": 33.885216,
    "flaggedAt": "2026-09-17 12:00:09.678466+00",
    "isPublished": true,
    "listing": {
      "id": "4299ef64-1b78-49ac-ac4b-89872a67afaf",
      "source": "sauto",
      "sourceId": "211122357",
      "url": "https://www.sauto.cz/osobni/detail/skoda/yeti/211122357",
      "title": "Škoda Yeti, 1.2 TSI 77kw Dsg-Automat",
      "brand": "Škoda",
      "model": "Yeti",
      "year": 2013,
      "mileageKm": 192000,
      "priceCzk": 119000,
      "fuel": "petrol",
      "transmission": "automatic",
      "description": "",
      "images": [
        "https://d19-a.sdn.cz/d_19/c_img_qF_B/k0OqwCKRB7OXguRHy9ov7/79ea.jpeg"
      ],
      "location": "Bzenec, Hodonín",
      "vin": "TMBJF75L8D6089186",
      "engineCapacity": null,
      "powerKw": null,
      "ownersCount": 0,
      "condition": null,
      "color": null,
      "drivetrain": null,
      "sellerType": "private",
      "isVatDeductible": null,
      "deduplicationKey": "vin:TMBJF75L8D6089186",
      "createdAt": "2026-09-17 11:49:36.681482+00",
      "updatedAt": "2026-10-09 20:49:36.689+00",
      "isActive": true
    },
    "marketStat": {
      "id": "e6e7fbc0-9cb0-45f2-a74c-47acf03a812d",
      "brand": "Škoda",
      "model": "Yeti",
      "yearFrom": 2012,
      "yearTo": 2014,
      "mileageFrom": 150000,
      "mileageTo": 200000,
      "avgPrice": 179705.05,
      "medianPrice": 179990,
      "minPrice": 119000,
      "count": 59,
      "computedAt": "2026-10-09 20:45:06.467307+00"
    },
    "priceDrop": 6000,
    "priceDropPct": 4.8,
    "previousPrice": 125000,
    "watchCount": 0,
    "display": {
      "priceBadge": {
        "kind": "deal",
        "tier": "hot",
        "pct": 34
      },
      "detailPriceBadge": {
        "kind": "deal",
        "tier": "hot",
        "pct": 34
      },
      "registryBadges": [],
      "flags": {
        "usImport": {
          "state": "none"
        }
      }
    }
  }
]
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/weekly-summary MCP tool get_weekly_summary

This week at a glance

Number of deals published in the last 7 days, the single best one, and the average amount saved vs. median in CZK.

https://api.autosignal.eu/api/deals/weekly-summary

ParameterInTypeDescription
countriesquerystringMarkets to include, comma-separated ISO codes. Default CZ. Prices are only ever compared within one country.
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 The summary.
{
  "newDeals": 69723,
  "bestDeal": {
    "id": "d5c78a44-f59f-49c5-ab0b-7c6486aebe15",
    "listingId": "b22f2e45-059d-4cc4-bf9b-9a4f63fa6516",
    "marketStatId": "47b33cf7-d787-4a3c-8c1f-bc903621da78",
    "dealScore": 0.7088235,
    "priceDiffPct": 70.882355,
    "flaggedAt": "2026-10-07T11:16:08.841Z",
    "isPublished": true,
    "firstPublishedAt": "2026-10-07T11:16:08.838Z",
    "hiddenByAdmin": false,
    "hiddenAt": null,
    "groupKey": "audi|a8|2011|295|3",
    "listingActive": true,
    "listingDamaged": true,
    "listingHasVin": false,
    "listing": {
      "id": "b22f2e45-059d-4cc4-bf9b-9a4f63fa6516",
      "source": "otomoto-pl",
      "sourceId": "6151001544",
      "url": "https://www.otomoto.pl/osobowe/oferta/audi-a8-ID6IgYuk.html",
      "title": "Audi A8 3.0 TDI",
      "brand": "Audi",
      "model": "A8",
      "year": 2011,
      "mileageKm": 295000,
      "priceCzk": 57915,
      "currency": "PLN",
      "fuel": "diesel",
      "transmission": "automatic",
      "description": "Powypadkowy , na części , kompletny",
      "images": [
        "https://ireland.apollo.olxcdn.com/v1/files/rhcd2n8kuk4r3-OTOMOTOPL/image;s=640x480"
      ],
      "location": "Lipnica, Pomorskie",
      "country": "PL",
      "vin": null,
      "sellerType": "dealer",
      "sellerName": null,
      "isVatDeductible": null,
      "engineCapacity": 2967,
      "powerKw": 150,
      "ownersCount": null,
      "ownerType": null,
      "firstRegistration": null,
      "firstRegistrationCz": null,
      "registryData": null,
      "condition": "damaged",
      "color": null,
      "drivetrain": null,
      "bodyType": null,
      "deduplicationKey": "combo:audi:a8:2011:295",
      "canonicalModel": "A8",
      "createdAt": "2026-10-07T11:15:37.306Z",
      "updatedAt": "2026-10-09T19:00:36.555Z",
      "lastVerifiedAt": null,
      "isActive": true,
      "goneProbeCount": 0,
      "vehicleType": "used",
      "isAuction": false,
      "feedGroupKey": "audi|a8|2011|295|3",
      "feedIsPrimary": true,
      "feedIsDeal": true,
      "feedDealScore": 0.7088235
    },
    "marketStat": {
      "id": "47b33cf7-d787-4a3c-8c1f-bc903621da78",
      "brand": "Audi",
      "model": "A8",
      "fuel": "diesel",
      "country": "PL",
      "yearFrom": 2010,
      "yearTo": 2012,
      "mileageFrom": 200000,
      "mileageTo": 999999999,
      "avgPrice": 316461.6,
      "medianPrice": 300280.5,
      "minPrice": 233415,
      "count": 10,
      "widenLevel": 0,
      "computedAt": "2026-10-09T20:45:06.467Z"
    }
  },
  "avgSavings": 23.35
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/{id} MCP tool get_deal

One deal in full

The deal card plus price history (merged across relists of the same VIN), segment statistics, a heuristic price forecast, the official registry dossier when the VIN is known, how many users watch it and the UI judgment flags. Ex-deals keep their row, so shared links keep working.

https://api.autosignal.eu/api/deals/228f2bd8-eed3-4f91-9bbf-bf038ce751f6

ParameterInTypeDescription
id requiredpathstringDeal id. e.g. 228f2bd8-eed3-4f91-9bbf-bf038ce751f6

Responses

200 The deal.
{
  "id": "228f2bd8-eed3-4f91-9bbf-bf038ce751f6",
  "listingId": "44b6ed8b-0abd-461b-858c-b4f6381c96c2",
  "marketStatId": "431279b6-2f4c-4ff3-82ce-e9f73ae813fc",
  "dealScore": 0.66878456,
  "priceDiffPct": 66.878456,
  "flaggedAt": "2026-09-12T08:15:09.348Z",
  "isPublished": true,
  "firstPublishedAt": "2026-09-12T08:15:09.332Z",
  "hiddenByAdmin": false,
  "hiddenAt": null,
  "groupKey": "suzuki|vitara|2008|94|6",
  "listingActive": true,
  "listingDamaged": false,
  "listingHasVin": true,
  "isMarketListing": false,
  "listing": {
    "id": "44b6ed8b-0abd-461b-858c-b4f6381c96c2",
    "source": "tipcars",
    "sourceId": "15780215",
    "url": "https://www.tipcars.com/suzuki-vitara/suv/nafta/suzuki-vitara-1-9-ddis-1-majitel-4x4-servisk-15780215.html",
    "title": "Suzuki Vitara 1,9 DDiS 1.majitel,4x4,servisk",
    "brand": "Suzuki",
    "model": "Vitara",
    "year": 2008,
    "mileageKm": 94448,
    "priceCzk": 119900,
    "currency": "CZK",
    "fuel": "other",
    "transmission": null,
    "description": "",
    "images": [
      "https://img.tipcars.com/fotky_zdrojove/15780215_1/1748341826/E/suzuki-vitara-1-9-ddis-1-majitel-4x4-servisk.jpg"
    ],
    "location": "",
    "country": "CZ",
    "vin": "JSAJTA44V00252629",
    "sellerType": "dealer",
    "sellerName": "Tomáš Lajza-AUTO LAJZA • Vysoké Mýto",
    "isVatDeductible": null,
    "engineCapacity": null,
    "powerKw": null,
    "ownersCount": 0,
    "ownerType": null,
    "firstRegistration": null,
    "firstRegistrationCz": null,
    "registryData": {
      "rsvStatus": 3,
      "rsvCheckedAt": "2026-10-05T21:35:17.254Z",
      "vinCheckedAt": "2026-09-07T22:53:51.879Z",
      "notInRegistry": true,
      "vinBackfillAt": "2026-09-07T16:01:48.847Z"
    },
    "condition": null,
    "color": null,
    "drivetrain": null,
    "bodyType": "suv",
    "deduplicationKey": "vin:JSAJTA44V00252629",
    "canonicalModel": "Vitara",
    "createdAt": "2026-09-07T02:59:24.256Z",
    "updatedAt": "2026-10-09T17:15:27.618Z",
    "lastVerifiedAt": "2026-10-09T10:16:18.870Z",
    "isActive": true,
    "goneProbeCount": 0,
    "vehicleType": "used",
    "isAuction": false,
    "feedGroupKey": "suzuki|vitara|2008|94|6",
    "feedIsPrimary": true,
    "feedIsDeal": true,
    "feedDealScore": 0.66878456
  },
  "marketStat": {
    "id": "431279b6-2f4c-4ff3-82ce-e9f73ae813fc",
    "brand": "Suzuki",
    "model": "Vitara",
    "fuel": "other",
    "country": "CZ",
    "yearFrom": 2008,
    "yearTo": 2019,
    "mileageFrom": 50000,
    "mileageTo": 100000,
    "avgPrice": 330169.9,
    "medianPrice": 362000,
    "minPrice": 119900,
    "count": 10,
    "widenLevel": 2,
    "computedAt": "2026-10-09T20:45:07.077Z"
  },
  "priceHistory": [
    {
      "id": "cf82c62f-5ef0-4e48-a0ba-7998b321a644",
      "listingId": "44b6ed8b-0abd-461b-858c-b4f6381c96c2",
      "priceCzk": 139900,
      "recordedAt": "2026-09-07T02:59:24.268Z"
    },
    {
      "id": "cecb47e9-2ed3-4de6-b291-6716d53d0db9",
      "listingId": "44b6ed8b-0abd-461b-858c-b4f6381c96c2",
      "priceCzk": 119900,
      "recordedAt": "2026-09-10T18:27:31.803Z"
    }
  ],
  "relist": null,
  "watchCount": 0,
  "prediction": {
    "direction": "down",
    "confidence": "medium",
    "reason": "Inzerát je starší než 30 dní — prodejce pravděpodobně sníží cenu"
  },
  "registryDossier": null,
  "registryVinMismatch": false,
  "display": {
    "priceBadge": {
      "kind": "deal",
      "tier": "hot",
      "pct": 67
    },
    "detailPriceBadge": {
      "kind": "deal",
      "tier": "hot",
      "pct": 67
    },
    "registryBadges": [],
    "flags": {
      "scam": [
        {
          "id": "suspiciouslyLowPrice",
          "severity": "danger"
        }
      ],
      "usImport": {
        "state": "none"
      }
    }
  }
}
404 Unknown deal id (or not a UUID). Not recoverable by retrying: there is no such record or not enough data; tell the user.
{
  "error": "Deal not found"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

MarketTrends, valuations and country snapshots.

GET /api/deals/market-trend MCP tool get_market_trend

Current median and 7-vs-30-day trend of a model

Median and average asking price, listing count and the 7-day-vs-30-day price change in % for one brand + model (the most populous segment of that model).

https://api.autosignal.eu/api/deals/market-trend?brand=%C5%A0koda&model=Octavia

ParameterInTypeDescription
brand requiredquerystringBrand name. e.g. Škoda
model requiredquerystringModel name (catalogue canonical, e.g. "Octavia", "Řada 5"). e.g. Octavia
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 The trend.
{
  "medianPrice": 629900,
  "avgPrice": 627021.9,
  "count": 309,
  "trendPct": -13.64
}
400 brand or model missing. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "brand and model query parameters are required"
}
404 No market data for this brand / model. Not recoverable by retrying: there is no such record or not enough data; tell the user.
{
  "error": "No market data found for this brand/model"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/price-trends MCP tool get_price_history

90-day daily price history of a model

Daily median and average asking price and listing count over the last 90 days for one brand + model, optionally narrowed to a fuel.

https://api.autosignal.eu/api/deals/price-trends?brand=%C5%A0koda&model=Octavia

ParameterInTypeDescription
brand requiredquerystringBrand name. e.g. Škoda
model requiredquerystringModel name. e.g. Octavia
fuelquerystringFuel to narrow to (petrol, diesel, hybrid, electric, …). e.g. diesel
countriesquerystringMarkets to include, comma-separated ISO codes. Default CZ. Prices are only ever compared within one country.
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 Daily points, oldest first.
[
  {
    "date": "2026-07-12",
    "medianPrice": 440438.1875,
    "avgPrice": 437110.625,
    "count": 265
  },
  {
    "date": "2026-07-13",
    "medianPrice": 448767.09375,
    "avgPrice": 443534.28125,
    "count": 277
  }
]
400 brand or model missing. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "brand and model query parameters are required"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/deals/valuation MCP tool estimate_valuation

Fair price range of a specific car

Min / median / max asking price of comparable active listings (same brand, model, fuel, ±1 model year, same mileage band) in CZK, with the sample size. Statistical, not an appraisal.

https://api.autosignal.eu/api/deals/valuation?brand=%C5%A0koda&model=Octavia&year=2019&fuel=diesel&mileage=120000

ParameterInTypeDescription
brand requiredquerystringBrand name. e.g. Škoda
model requiredquerystringModel name. e.g. Octavia
year requiredqueryintegerModel year. e.g. 2019
fuel requiredquerystringFuel: petrol, diesel, hybrid, electric, lpg, cng. e.g. diesel
mileage requiredqueryintegerOdometer reading in km (0–2 000 000). e.g. 120000
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 The estimate.
{
  "estimatedMin": 170591,
  "estimatedMedian": 379900,
  "estimatedMax": 636000,
  "sampleCount": 676,
  "segment": {
    "yearFrom": 2019,
    "yearTo": 2021,
    "mileageFrom": 100000,
    "mileageTo": 150000
  }
}
400 A parameter is missing or out of range; `code` names which. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "mileage must be between 0 and 2000000 km",
  "code": "mileage_out_of_range"
}
404 Fewer than 6 comparable listings — no estimate. Not recoverable by retrying: there is no such record or not enough data; tell the user.
{
  "error": "No market data found for this combination"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/market-data/overview MCP tool get_market_overview

Market snapshot of a country

Headline pulse, price direction (30 d and 6 m), a buyer's/seller's-market verdict, breakdowns by fuel, body and brand, deal hotspots, the 90-day trend, supply and freshness, oversupply and fast-mover signals, plus the latest month of new-car registrations. Heavy; cached.

https://api.autosignal.eu/api/market-data/overview

ParameterInTypeDescription
countryquerystring (CZ, SK, DE, AT, PL, HU, RO)Market, one ISO code. Default CZ.

Responses

200 The snapshot.
{
  "countries": [
    "CZ"
  ],
  "pulse": {
    "totalActiveListings": 247703,
    "overallMedianPrice": 548064,
    "avgDealDiscount": 21.91,
    "lastUpdated": "2026-10-09T20:52:00.364Z"
  },
  "priceDirection": {
    "change30dPct": -4.6,
    "currentMedian": 979061,
    "previousMedian": 1025898,
    "change6mPct": -43.2
  },
  "verdict": {
    "mood": "buyer",
    "score": 1,
    "signals": {
      "price30dChangePct": -4.6,
      "supplyDelta": -8748,
      "avgDaysOnMarket": 68
    }
  },
  "fuelBreakdown": [
    {
      "fuel": "petrol",
      "count": 117047,
      "pct": 47.3,
      "medianPrice": 519900,
      "trend30dPct": -5.4
    },
    {
      "fuel": "diesel",
      "count": 78749,
      "pct": 31.8,
      "medianPrice": 510000,
      "trend30dPct": -14.9
    }
  ],
  "topBrands": [
    {
      "brand": "Škoda",
      "count": 63638,
      "medianPrice": 517900,
      "trend30dPct": 1.5
    },
    {
      "brand": "Volkswagen",
      "count": 24252,
      "medianPrice": 449000,
      "trend30dPct": -6.3
    }
  ],
  "dealHotspots": [
    {
      "brand": "Ford",
      "model": "Tourneo Courier",
      "avgDiscount": 54.43,
      "dealCount": 4,
      "medianPrice": 194900,
      "yearMin": 2015,
      "yearMax": 2016
    },
    {
      "brand": "Nissan",
      "model": "LEAF",
      "avgDiscount": 42.13,
      "dealCount": 3,
      "medianPrice": 340000,
      "yearMin": 2017,
      "yearMax": 2024
    }
  ],
  "priceTrend90d": [
    {
      "date": "2026-07-12",
      "medianPrice": 1001805,
      "count": 197837
    },
    {
      "date": "2026-07-13",
      "medianPrice": 1001705,
      "count": 196052
    }
  ],
  "supply": {
    "newListings7d": 27623,
    "removedListings7d": 36371,
    "avgDaysOnMarket": 68
  },
  "monthlyPrices": [
    {
      "month": "2026-04",
      "medianPrice": 964604,
      "count": 3174500
    },
    {
      "month": "2026-05",
      "medianPrice": 993489,
      "count": 4506937
    }
  ],
  "bodyTypeBreakdown": [
    {
      "bodyType": "suv",
      "count": 40786,
      "pct": 40.8,
      "medianPrice": 650000
    },
    {
      "bodyType": "combi",
      "count": 23646,
      "pct": 23.7,
      "medianPrice": 379000
    }
  ],
  "importedDelta": [
    {
      "brand": "Mercedes-Benz",
      "model": "Třída CLK",
      "czMedian": 1924832,
      "importedMedian": 125135,
      "czCount": 54,
      "importedCount": 43,
      "deltaPct": 93.5
    },
    {
      "brand": "Mitsubishi",
      "model": "Lancer",
      "czMedian": 268724,
      "importedMedian": 116295,
      "czCount": 33,
      "importedCount": 62,
      "deltaPct": 56.7
    }
  ],
  "sellerSplit": [
    {
      "sellerType": "dealer",
      "count": 232510,
      "medianPrice": 559900
    },
    {
      "sellerType": "private",
      "count": 15193,
      "medianPrice": 289000
    }
  ],
  "singleOwnerPremium": [
    {
      "brand": "Chevrolet",
      "oneOwnerMedian": 950000,
      "multiOwnerMedian": 149000,
      "premiumPct": 537.6,
      "oneOwnerCount": 93,
      "multiOwnerCount": 115
    },
    {
      "brand": "Chrysler",
      "oneOwnerMedian": 532400,
      "multiOwnerMedian": 185130,
      "premiumPct": 187.6,
      "oneOwnerCount": 26,
      "multiOwnerCount": 33
    }
  ],
  "freshness": {
    "fresh": 87929,
    "mid": 82965,
    "stale": 76809,
    "total": 247703
  },
  "oversupply": [
    {
      "brand": "Mercedes-Benz",
      "fuel": "petrol",
      "currentCount": 3894,
      "pastCount": 75,
      "currentMedian": 990000,
      "pastMedian": 1856380,
      "inventoryChangePct": 5092,
      "priceChangePct": -46.7
    },
    {
      "brand": "Audi",
      "fuel": "petrol",
      "currentCount": 2232,
      "pastCount": 43,
      "currentMedian": 750000,
      "pastMedian": 1410200,
      "inventoryChangePct": 5090.7,
      "priceChangePct": -46.8
    }
  ],
  "fastMovers": [
    {
      "brand": "Kia",
      "model": "Carnival",
      "removedCount": 20,
      "avgDaysToDeactivate": 5.1,
      "medianPrice": 1048500
    },
    {
      "brand": "Peugeot",
      "model": "807",
      "removedCount": 31,
      "avgDaysToDeactivate": 6.3,
      "medianPrice": 69000
    }
  ],
  "registrations": {
    "year": 2026,
    "month": 9,
    "totals": {
      "units": 19095,
      "unitsPriorYear": 21370,
      "yoyPct": -10.6
    },
    "topBrands": [
      {
        "brand": "skoda",
        "brandRaw": "Škoda",
        "model": null,
        "units": 7006,
        "sharePct": 36.69,
        "rank": 1,
        "unitsPriorYear": 8118,
        "sharePctPriorYear": 37.99,
        "yoyPct": 86.3
      }
    ],
    "topModels": [
      {
        "brand": "skoda",
        "brandRaw": "Škoda",
        "model": "Octavia",
        "units": 1574,
        "sharePct": 8.24,
        "rank": 1,
        "unitsPriorYear": 1791,
        "sharePctPriorYear": 8.38,
        "yoyPct": 87.88
      }
    ]
  }
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/market-data/registry

The standing Czech vehicle fleet

The Czech vehicle stock from the monthly official-registry snapshot: fleet size, vehicles per make and model, age distribution, fuel mix, imports and the biggest fleets. available: false until the first snapshot is loaded.

https://api.autosignal.eu/api/market-data/registry

Responses

200 The fleet statistics.
{
  "available": true,
  "snapshotDate": "2026-10-03",
  "fleetSummary": {
    "operated": 10877142,
    "totalAll": 19383927,
    "snapshotDate": "2026-10-03",
    "avgSourceRows": 19383927,
    "passengerOperated": 6877787
  },
  "brandCounts": {
    "ŠKODA": 2286831,
    "VOLKSWAGEN": 747335,
    "FORD": 406214,
    "HYUNDAI": 299538,
    "PEUGEOT": 263451,
    "RENAULT": 258885,
    "TOYOTA": 213535,
    "BMW": 200423,
    "OPEL": 196042,
    "MERCEDES-BENZ": 190465,
    "CITROËN": 186415,
    "AUDI": 165926
  },
  "importStats": {
    "total": 3449271,
    "countries": [
      {
        "name": "Německo",
        "count": 2020189,
        "share": 58.6
      }
    ],
    "byYear": {
      "2026": {
        "total": 64353,
        "countries": {
          "USA": 1551,
          "Belgie": 1847,
          "Polsko": 1822,
          "Dánsko": 1132,
          "Francie": 2130,
          "Itálie": 3170,
          "Německo": 40029,
          "Rakousko": 3933,
          "Slovensko": 2257,
          "Švédsko": 587,
          "Nizozemsko": 2312,
          "Švýcarsko": 659
        }
      },
      "2027": {
        "total": 3,
        "countries": {
          "Řecko": 1,
          "Německo": 2
        }
      },
      "2029": {
        "total": 2,
        "countries": {
          "Maďarsko": 1,
          "Nizozemsko": 1
        }
      },
      "2034": {
        "total": 1,
        "countries": {
          "Německo": 1
        }
      },
      "2044": {
        "total": 3,
        "countries": {
          "Itálie": 1,
          "Německo": 1,
          "Nizozemsko": 1
        }
      },
      "2047": {
        "total": 5,
        "countries": {
          "Dánsko": 1,
          "Německo": 4
        }
      },
      "2053": {
        "total": 1,
        "countries": {
          "Německo": 1
        }
      },
      "2054": {
        "total": 1,
        "countries": {
          "Německo": 1
        }
      },
      "2060": {
        "total": 1,
        "countries": {
          "Rakousko": 1
        }
      },
      "2084": {
        "total": 1,
        "countries": {
          "Polsko": 1
        }
      }
    }
  },
  "ageDistribution": {
    "0-2": 592747,
    "20+": 2040306,
    "3-5": 580546,
    "6-10": 1259600,
    "11-15": 1147209,
    "16-20": 1256889
  },
  "fuelMix": {
    "cng": 21373,
    "lpg": 122107,
    "other": 39436,
    "diesel": 2605497,
    "hybrid": 79641,
    "petrol": 3924728,
    "electric": 85005
  },
  "topFleets": [
    {
      "ico": "45805369",
      "name": "ŠkoFIN s.r.o.",
      "ownerType": "LEASING",
      "current": 115897
    },
    {
      "ico": "60112743",
      "name": "MONETA Auto, s.r.o.",
      "ownerType": "FIRMA",
      "current": 48934
    }
  ],
  "topModels": [
    {
      "brand": "ŠKODA",
      "model": "OCTAVIA",
      "count": 705526
    },
    {
      "brand": "ŠKODA",
      "model": "FABIA",
      "count": 467777
    }
  ],
  "topDealers": [
    {
      "ico": "1759299",
      "name": "AURES Holdings a.s.",
      "current": 27567
    },
    {
      "ico": "25298828",
      "name": "AUTO IN s.r.o.",
      "current": 6085
    }
  ],
  "topEver": [
    {
      "ico": "45805369",
      "name": "ŠkoFIN s.r.o.",
      "ownerType": "LEASING",
      "ever": 760346
    },
    {
      "ico": "1759299",
      "name": "AURES Holdings a.s.",
      "ownerType": "AUTOSALON",
      "ever": 546613
    }
  ],
  "companyTypeCounts": {
    "AUTOSALON": 1326,
    "FIRMA": 437148,
    "OSVC": 737096,
    "LEASING": 29
  }
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

PricesBrand / model / model-year price statistics (the data behind autosignal.eu/cs/ceny).

GET /api/seo-stats/brand/{slug}

Price overview of a brand

Listing count, median and quartile prices in CZK, average days on market, 30-day change, deal count, the most-listed models and the 90-day median trend for one brand. An unknown brand answers 200 with zero counts.

https://api.autosignal.eu/api/seo-stats/brand/skoda

ParameterInTypeDescription
slug requiredpathstringBrand slug (lower-case ASCII, e.g. skoda, mercedes-benz). e.g. skoda
countryquerystring (CZ, SK, DE, AT, PL, HU, RO)Market, one ISO code. Default CZ.
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 The brand overview.
{
  "countries": [
    "CZ"
  ],
  "brand": "Škoda",
  "count": 63709,
  "median": 518000,
  "p25": 339990,
  "p75": 738000,
  "min": 50000,
  "max": 1793400,
  "avgDaysOnMarket": 70,
  "change30dPct": 1.5,
  "dealCount": 4936,
  "topModels": [
    {
      "model": "Octavia",
      "count": 17967,
      "median": 438000
    },
    {
      "model": "Kodiaq",
      "count": 7992,
      "median": 979800
    }
  ],
  "priceTrend90d": [
    {
      "date": "2026-07-12",
      "medianPrice": 714818,
      "count": 58310
    },
    {
      "date": "2026-07-13",
      "medianPrice": 714582,
      "count": 57431
    }
  ]
}
400 Missing slug. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "slug is required"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/seo-stats/model/{brandSlug}/{modelSlug}

Price overview of a model

Listing count, median / quartile / min / max price in CZK, median mileage, 30-day change, a per-model-year breakdown, fuel split and 90-day trend for one brand + model. An unknown model answers 200 with zero counts.

https://api.autosignal.eu/api/seo-stats/model/skoda/octavia

ParameterInTypeDescription
brandSlug requiredpathstringBrand slug. e.g. skoda
modelSlug requiredpathstringModel slug (e.g. octavia, rada-5, trida-e). e.g. octavia
countryquerystring (CZ, SK, DE, AT, PL, HU, RO)Market, one ISO code. Default CZ.
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 The model overview.
{
  "countries": [
    "CZ"
  ],
  "brand": "Škoda",
  "model": "Octavia",
  "count": 17967,
  "median": 438000,
  "p25": 259000,
  "p75": 678000,
  "min": 50000,
  "max": 1297700,
  "medianMileageKm": 95071,
  "change30dPct": -3.9,
  "byYear": [
    {
      "year": 2027,
      "count": 43,
      "median": 938800,
      "medianMileageKm": 0
    },
    {
      "year": 2026,
      "count": 1812,
      "median": 802464,
      "medianMileageKm": 0
    }
  ],
  "byFuel": [
    {
      "fuel": "diesel",
      "count": 8865,
      "median": 370000
    },
    {
      "fuel": "petrol",
      "count": 7426,
      "median": 579900
    }
  ],
  "priceTrend90d": [
    {
      "date": "2026-07-12",
      "medianPrice": 530064,
      "count": 18760
    },
    {
      "date": "2026-07-13",
      "medianPrice": 529960,
      "count": 18455
    }
  ],
  "deals": [
    {
      "id": "d9b9e150-8444-428d-b62f-b52cd938c94f",
      "listingId": "c6ce2e03-fe6a-43dd-8bc5-652bb38f9843",
      "dealScore": 0.49748743,
      "priceDiffPct": 49.748745,
      "title": "Škoda Octavia 1,6 i 75KW, ČR, KLIMATIZACE.",
      "year": 2009,
      "mileageKm": 176886,
      "priceCzk": 55000,
      "fuel": "other",
      "url": "https://www.tipcars.com/skoda-octavia/liftback/benzin/skoda-octavia-1-6-i-75kw-cr-klimatizace-8910012.html",
      "images": [
        "https://img.tipcars.com/fotky_zdrojove/08910012_8/1770982214/E/skoda-octavia-1-6-i-75kw-cr-klimatizace.jpg"
      ]
    },
    {
      "id": "48623b32-78a9-4ee3-b82e-df80e4512e9d",
      "listingId": "b91de67e-c30b-421d-a722-c5b93c762b3a",
      "dealScore": 0.47826087,
      "priceDiffPct": 47.826088,
      "title": "Škoda Octavia, 1.9 TDi",
      "year": 2010,
      "mileageKm": 86727,
      "priceCzk": 120000,
      "fuel": "diesel",
      "url": "https://www.sauto.cz/osobni/detail/skoda/octavia/211250925",
      "images": [
        "https://d19-a.sdn.cz/d_19/c_img_qG_A/nCR9NVflLrfprhXSICCKxe/f9a6.jpeg"
      ]
    }
  ]
}
400 Missing or malformed slugs. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "brand and model slugs required"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/seo-stats/year/{brandSlug}/{modelSlug}/{year}

Price overview of a model year

Count, median and quartile prices in CZK, median mileage, breakdowns by mileage band and fuel, and the 90-day trend for one brand + model + model year.

https://api.autosignal.eu/api/seo-stats/year/skoda/octavia/2019

ParameterInTypeDescription
brandSlug requiredpathstringBrand slug. e.g. skoda
modelSlug requiredpathstringModel slug. e.g. octavia
year requiredpathintegerModel year, 1990–2100. e.g. 2019
countryquerystring (CZ, SK, DE, AT, PL, HU, RO)Market, one ISO code. Default CZ.
vehicleClassquerystringVehicle class. Only `car` is public today; an unknown or non-public class answers as if absent (cars) or 404.

Responses

200 The model-year overview.
{
  "countries": [
    "CZ"
  ],
  "brand": "Škoda",
  "model": "Octavia",
  "year": 2019,
  "count": 662,
  "median": 299000,
  "p25": 250000,
  "p75": 359000,
  "medianMileageKm": 162075,
  "byMileage": [
    {
      "bucket": "<50k",
      "count": 10,
      "median": 379900
    },
    {
      "bucket": "50-100k",
      "count": 69,
      "median": 360000
    }
  ],
  "byFuel": [
    {
      "fuel": "diesel",
      "count": 345,
      "median": 290000
    },
    {
      "fuel": "petrol",
      "count": 232,
      "median": 319888
    }
  ],
  "priceTrend90d": [
    {
      "date": "2026-07-12",
      "medianPrice": 530064
    },
    {
      "date": "2026-07-13",
      "medianPrice": 529960
    }
  ],
  "deals": [
    {
      "id": "5085e354-ca1f-4516-8570-ddc79cfedc0a",
      "listingId": "097a6dbf-7343-49a3-aadb-272a284779f9",
      "dealScore": 0.36805335,
      "priceDiffPct": 36.805336,
      "title": "Škoda Octavia, 1.5G-TEC 96kW DSG Style",
      "year": 2019,
      "mileageKm": 171663,
      "priceCzk": 199000,
      "fuel": "petrol",
      "url": "https://www.sauto.cz/osobni/detail/skoda/octavia/211245711",
      "images": [
        "https://d19-a.sdn.cz/d_19/c_img_qG_A/kcKfrMAkFMsuhbFMIBwH10/30a2.jpeg"
      ]
    },
    {
      "id": "f44cff03-b45b-4564-b3e9-6ff89ac71e4d",
      "listingId": "ac0f52fc-834a-43dc-ae26-374e023e9d2f",
      "dealScore": 0.36571229,
      "priceDiffPct": 36.571228,
      "title": "Škoda Octavia, 1.5TSi 96kw CNG Automat DPH ČR",
      "year": 2019,
      "mileageKm": 196905,
      "priceCzk": 199800,
      "fuel": "petrol",
      "url": "https://www.sauto.cz/osobni/detail/skoda/octavia/210684812",
      "images": [
        "https://d19-a.sdn.cz/d_19/c_img_qC_C/nO2CysqjGrDPliFSSVHDiPcg/048d.jpeg"
      ]
    }
  ]
}
400 Missing slugs or a year outside 1990–2100. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "brand slug, model slug, year required"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

RegistrationsCzech new-car registrations by month (SDA-CIA).

GET /api/registrations/latest

Newest month of Czech new-car registrations

Units registered in the latest available month with the prior-year comparison and the top brands and models by share (SDA-CIA data).

https://api.autosignal.eu/api/registrations/latest

ParameterInTypeDescription
limitqueryintegerHow many rows to return (max 200).

Responses

200 The month overview.
{
  "year": 2026,
  "month": 9,
  "totals": {
    "units": 19095,
    "unitsPriorYear": 21370,
    "yoyPct": -10.6
  },
  "topBrands": [
    {
      "brand": "skoda",
      "brandRaw": "Škoda",
      "model": null,
      "units": 7006,
      "sharePct": 36.69,
      "rank": 1,
      "unitsPriorYear": 8118,
      "sharePctPriorYear": 37.99,
      "yoyPct": 86.3
    },
    {
      "brand": "toyota",
      "brandRaw": "Toyota",
      "model": null,
      "units": 1373,
      "sharePct": 7.19,
      "rank": 2,
      "unitsPriorYear": 1621,
      "sharePctPriorYear": 7.59,
      "yoyPct": 84.7
    }
  ],
  "topModels": [
    {
      "brand": "skoda",
      "brandRaw": "Škoda",
      "model": "Octavia",
      "units": 1574,
      "sharePct": 8.24,
      "rank": 1,
      "unitsPriorYear": 1791,
      "sharePctPriorYear": 8.38,
      "yoyPct": 87.88
    },
    {
      "brand": "skoda",
      "brandRaw": "Škoda",
      "model": "Karoq",
      "units": 1070,
      "sharePct": 5.6,
      "rank": 2,
      "unitsPriorYear": 1100,
      "sharePctPriorYear": 5.15,
      "yoyPct": 97.27
    }
  ]
}
404 No registration data loaded yet. Not recoverable by retrying: there is no such record or not enough data; tell the user.
{
  "error": "no_data"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

Vehicle registryThe free VIN check against the official Czech registry.

GET /api/public/vehicle-check MCP tool check_vehicle_by_vin

Free vehicle history check by VIN

What the official Czech vehicle registry (Registr silničních vozidel) holds for a 17-character VIN: owner count and ownership timeline (companies named with IČO, private persons anonymous), STK inspection history with results, import origin, deregistration episodes, seized-document flags and technical data. The registry has NO mileage and NO licence-plate lookup. A VIN unknown to the monthly snapshot falls back to a rate-limited live lookup (10 per IP per day) without timelines; a VIN the Czech registry does not know answers found: false with the official foreign registries to try.

https://api.autosignal.eu/api/public/vehicle-check?vin=TMBJJ7NE4L0123456

ParameterInTypeDescription
vin requiredquerystring17-character VIN without I, O or Q. e.g. TMBJJ7NE4L0123456

Responses

200 The report, or `found: false`.
{
  "found": true,
  "source": "dossier",
  "dossier": {
    "tech": {
      "co2": "151 / 105 / 120",
      "color": "ŠEDÁ",
      "power": "74 / 6000",
      "seats": "5 / 5 /",
      "tires": "195/60 R15 88 H / 6,0JX15 ET37,5|195/60 R15 88 H / 6,0JX15 ET37,5|/ |/ |",
      "fuelRaw": "BA",
      "maxSpeed": 173,
      "engineCcm": 998,
      "weightMax": "1765/ 1765",
      "wheelbase": "2489",
      "dimensions": "4157/ 1764/ 1795",
      "consumption": "6.7 / 4.6 / 5.3",
      "factoryType": "/ JU2 / SFCD1L / 5BDAND",
      "emissionClass": "EURO 6",
      "weightOperating": "1280"
    },
    "brand": "FORD",
    "model": "TOURNEO COURIER",
    "owners": [
      {
        "to": "2026-07-27",
        "from": "2016-12-20",
        "role": "operator"
      }
    ],
    "status": "PROVOZOVANÉ",
    "category": "M1",
    "equipment": [
      "TAŽNÉ ZAŘÍZENÍ"
    ],
    "inspections": [
      {
        "to": "2020-12-20",
        "from": "2016-12-20",
        "type": "P",
        "result": "A",
        "station": "Administrativní omezení - nové vozidlo"
      }
    ],
    "ownersCount": 3,
    "stkValidUntil": "2026-12-05",
    "operatorsCount": 3,
    "firstRegistration": "2016-12-20",
    "yearOfManufacture": 2016,
    "firstRegistrationCz": "2016-12-20",
    "snapshotDate": "2026-10-03"
  },
  "listing": {
    "id": "53c3e9aa-404f-4b2a-ab1a-63d8ba2a0a2e",
    "dealId": "30c92e1b-dae0-4b74-ad06-2b340306d054",
    "isDeal": true,
    "priceDiffPct": 65.190216,
    "title": "Ford Tourneo Courier, 1.0 EcoBoost 74 kW",
    "brand": "Ford",
    "model": "Tourneo Courier",
    "year": 2016,
    "priceCzk": 194900,
    "currency": "CZK",
    "mileageKm": 43669,
    "fuel": "petrol",
    "source": "sauto",
    "url": "https://www.sauto.cz/osobni/detail/ford/tourneo-courier/210904563",
    "imageUrl": "https://d19-a.sdn.cz/d_19/c_img_qE_A/kPVqmweP7JC1dLSCvVHc296k/cffa.jpeg",
    "isActive": true,
    "lastSeenAt": "2026-10-10T06:04:55.593Z",
    "adCount": 3
  }
}
400 Not a valid 17-character VIN. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "invalid_vin"
}
429 Live-lookup budget exhausted: `busy` (shared minute budget, retry after `retryAfterS`) or `daily_limit` (10 live lookups per IP per day). Snapshot hits are never limited this way.
{
  "error": "busy",
  "retryAfterS": 60
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}
502 The live registry API did not answer. Recoverable: the upstream registry is down; retry after a minute or use the snapshot-only answer.
{
  "error": "registry_unavailable"
}

CompaniesRegistered fleets of Czech companies.

GET /api/public/firmy MCP tool search_company_fleets

Find Czech companies by name or IČO

Companies in the vehicle registry matching a name fragment (3+ characters, accent-insensitive) or an IČO (3–8 digits), with their fleet size now and ever, largest first (max 20). Sole traders are found only by exact IČO and are never named.

https://api.autosignal.eu/api/public/firmy?q=%C5%A0koFIN

ParameterInTypeDescription
q requiredquerystringCompany name fragment (3+ chars) or IČO (3–8 digits). e.g. ŠkoFIN

Responses

200 Matching companies.
{
  "results": [
    {
      "ico": "26052083",
      "name": "AUTOSALON KUDRNA CZ a.s.",
      "ownerType": "AUTOSALON",
      "vehiclesEver": 1502,
      "vehiclesCurrent": 548
    },
    {
      "ico": "26435713",
      "name": "Autosalon Klokočka Centrum s.r.o.",
      "ownerType": "FIRMA",
      "vehiclesEver": 11982,
      "vehiclesCurrent": 403
    }
  ]
}
400 Query shorter than 3 characters. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "query_too_short"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}

GET /api/public/firmy/{ico} MCP tool get_company_fleet

A company's registered fleet profile

Vehicles owned and operated now and ever, median holding period, owner-type classification (dealer / leasing / company / sole trader), the paginated current fleet and former holdings, and the vehicles currently for sale on the market.

https://api.autosignal.eu/api/public/firmy/45805369

ParameterInTypeDescription
ico requiredpathstringCzech IČO, 1–8 digits (leading zeros optional). e.g. 45805369
flotilaqueryintegerPage of the current fleet, 1-based (50 per page, max page 200).
historiequeryintegerPage of the former holdings, 1-based (50 per page, max page 200).

Responses

200 The profile.
{
  "ico": "45805369",
  "name": "ŠkoFIN s.r.o.",
  "ownerType": "LEASING",
  "vehiclesEver": 412873,
  "vehiclesCurrent": 98210,
  "operatedEver": 3918,
  "operatedCurrent": 1204,
  "medianHoldDays": 1187,
  "snapshotDate": "2026-10-03",
  "trackedVehicles": 2210,
  "fleetTotal": 98210,
  "fleetPage": 1,
  "fleetPageSize": 50,
  "formerTotal": 314663,
  "formerPage": 1,
  "formerPageSize": 50,
  "fleet": [
    {
      "vin": "TMBJJ7NX5PY012345",
      "brand": "ŠKODA",
      "model": "OCTAVIA",
      "year": 2023,
      "firstRegistration": "2023-02-14",
      "stkValidUntil": "2027-02-14",
      "status": "PROVOZOVANÉ",
      "role": "owner",
      "since": "2023-02-14",
      "tracked": true,
      "forSale": false
    }
  ],
  "formerFleet": [
    {
      "vin": "TMBAG7NE3K0123456",
      "brand": "ŠKODA",
      "model": "SUPERB",
      "year": 2019,
      "status": "PROVOZOVANÉ",
      "role": "owner",
      "heldFrom": "2019-03-01",
      "heldTo": "2022-04-12"
    }
  ],
  "forSale": [
    {
      "listingId": "3f0c2a8e-6b1d-4c57-9a0e-1d2b7c9e4f11",
      "dealId": "8d4e1b2a-0c3f-4e6a-b5d7-2f9a1c8e6b30",
      "brand": "Škoda",
      "model": "Octavia",
      "year": 2021,
      "priceCzk": 399000,
      "vin": "TMBJJ7NX5MY054321",
      "priceDiffPct": 14,
      "source": "sauto"
    }
  ]
}
400 IČO is not 1–8 digits. Not recoverable by retrying: fix the named parameter and send again.
{
  "error": "invalid_ico"
}
404 No company with that IČO in the registry. Not recoverable by retrying: there is no such record or not enough data; tell the user.
{
  "error": "not_found"
}
429 Too many requests from this IP. Recoverable: wait `retry-after` seconds, then retry the same request.
{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded, retry in 1 minute"
}
500 Unexpected server error. Recoverable: retry the same request once after a few seconds; if it fails again, report it.
{
  "error": "Internal Server Error"
}