---
title: "Recall campaigns, newest first: every one, or those narrowed by make, model, year, component, free text or country."
method: GET
path: "/v1/recalls"
tags: ["Recalls"]
---

# Recall campaigns, newest first: every one, or those narrowed by make, model, year, component, free text or country.

`GET /v1/recalls`

## Request

- Base URL: `https://open.wenmarpro.com`
- URL: `https://open.wenmarpro.com/v1/recalls`
- Auth: none declared

Each campaign may apply to the vehicles it lists. A make or a model the
catalog does not have gives an empty list.

## Query parameters

- `make` string
- `model` string
- `year` integer
- `component` string
- `q` string
- `country` string
- `limit` integer
- `cursor` string

## Response `200`

One page of campaigns.

- RecallList: One page of campaigns, newest first.
  - `as_of` RecallAsOf, required: The day each country's recall data was current. `null` for a country this server holds no recalls for.
    - `ca` string, nullable
    - `us` string, nullable
  - `attribution` string[], required
  - `lookup` RecallLookup, required: Where to check one vehicle for open recalls. Neither government publishes recalls by VIN as data, so no answer here can say a recall applies to a VIN: these lookups can.
    - `maker` string, nullable: The maker's own lookup by VIN, where one is on file.
    - `nhtsa` string, required: NHTSA's lookup by VIN, for the United States.
    - `tc` string, required: Transport Canada's recall search, for Canada.
  - `may_apply` boolean, required: Always `true`: a campaign may apply to the vehicles it lists.
  - `next_cursor` string, nullable: Hand this back as `cursor` for the next page. `null` on the last.
  - `recalls` Recall[], required
    - `built_from` string, nullable: In an answer about one model year: the first and last build date the campaign gives. Compare them with the date on the door sticker.
    - `built_to` string, nullable
    - `campaign` string, required: The publisher's campaign number.
    - `component` string, nullable: The component, as the source words it.
    - `country` string, required: `us` or `ca`.
    - `date` string, nullable: The day the campaign was reported.
    - `do_not_drive` boolean, nullable: NHTSA's advisory not to drive the vehicle until it is repaired. `null` for a Canadian campaign: Transport Canada publishes no such field.
    - `manufacturer` string, nullable
    - `match` string, nullable: In an answer about one model year: how the campaign's vehicle text reached that model. `exact`, `base` (the campaign names a series or trim of it) or `curated`. `null` in a list that is not about one model year.
    - `mfr_campaign` string, nullable: The manufacturer's own campaign number, which a dealer looks a recall up by.
    - `models` string[], required: In an answer about one model year: the model names the campaign lists that reached it.
    - `notification` string, nullable: Transport Canada's notification type, such as `Safety Mfr`.
    - `park_outside` boolean, nullable: NHTSA's advisory to park outside, away from buildings.
    - `source` string, required: Who published it: `nhtsa` or `tc` (Transport Canada).
    - `summary` string, nullable: What is wrong, in the source's words.
    - `units` integer, nullable: Units potentially affected.
    - `url` string, required: The campaign's page on this site.

## Other responses

- `400`: `validation_failed`: `country`, `year`, `limit` or `cursor` is wrong, or `model` was given without `make`.
- `404`: `dataset_unavailable`: this server holds no recalls, or none for the country asked for.

---

[API](https://skmtc.dev/wenmarpro/apis/wenmar-open.md) · [All operations](https://skmtc.dev/wenmarpro/apis/wenmar-open/llms.txt) · [OpenAPI document](https://skmtc.dev/wenmarpro/apis/wenmar-open/revisions/1027b548b6f0?raw)
