---
title: "Look up recall records"
method: GET
path: "/recalls"
tags: ["Recalls"]
---

# Look up recall records

`GET /recalls`

Look up U.S. recall records for a given make / model / year. Acts as a normalising proxy in front of the upstream recall database. Results are cached server-side so repeated lookups for the same combination do not re-hit the upstream.

## Query parameters

- `make` string, required
- `model` string, required
- `modelYear` string, required

## Response `200`

Recall lookup result

- RecallsResponse
  - `count` integer, required — Number of recall records (upstream-reported, falls back to recalls.length)
  - `hasRecalls` boolean, required — True when at least one recall was found
  - `recalls` Recall[], required
    - `manufacturer` string, required
    - `reportReceivedDate` string, required — Upstream-formatted date string
    - `component` string, required
    - `summary` string, required — Free-text summary of the recall
    - `consequence` string, required — Safety consequence of the defect
    - `remedy` string, required — Remedy / fix description
    - `modelYear` string, required
    - `make` string, required
    - `model` string, required
    - `parkIt` boolean, required — True when the recall has a 'park it' advisory
    - `parkOutside` boolean, required — True when the recall has a 'park outside' advisory
    - `overTheAirUpdate` boolean, required — True when the remedy is delivered as an over-the-air update

## Other responses

- `400` — Missing make, model, or modelYear
- `403` — Invalid or missing API key, suspended account, or inactive subscription
- `429` — Monthly quota exhausted or per-minute rate limit exceeded. Quota responses carry resetDate; rate-limit responses carry a Retry-After header.
- `502` — Upstream recalls service failure

## Changes

- **2026-08-10** `cf1d4e12baca` — 9 info
  - added the non-success response with the status `403`
  - added the non-success response with the status `429`
  - removed the non-success response with the status `401`
  - added the optional property `code` to the response with the `400` status
  - …5 more

[Change history](https://skmtc.dev/carapi/apis/carapi-dev-automotive-data-api/changes/recalls/get.md)

---

[API](https://skmtc.dev/carapi/apis/carapi-dev-automotive-data-api.md) · [All operations](https://skmtc.dev/carapi/apis/carapi-dev-automotive-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/carapi/carapi-dev-automotive-data-api/revisions/cf1d4e12baca/schema)
