---
title: "Recall campaigns reported on or after a day, newest first, each with the vehicles it lists."
method: GET
path: "/v1/recalls/recent"
tags: ["Recalls"]
---

# Recall campaigns reported on or after a day, newest first, each with the vehicles it lists.

`GET /v1/recalls/recent`

## Request

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

For an application that keeps a list of vehicles: ask once a day with
the day of the last answer, and compare `vehicles[].vehicle_id` with
its own. Each campaign may apply to the vehicles it lists.

## Query parameters

- `since` string
- `country` string
- `make` string
- `limit` integer
- `cursor` string

## Response `200`

One page of campaigns.

- RecentRecalls: Campaigns reported on or after a day, 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 it back as `cursor` for the next page. `null` on the last.
  - `recalls` RecentRecall[], required
    - `recall` Recall, required: One recall campaign in a list.
      - `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.
    - `vehicles` RecallCampaignVehicle[], required: The vehicles the campaign lists: at most 200 of them. Every one is at `/v1/recalls/{source}/{campaign}`.
      - `built_from` string, nullable
      - `built_to` string, nullable
      - `make` string, required: The make and model as the source words them.
      - `match` string, nullable: `exact`, `base` or `curated`; `null` when the model is not in the catalog, as for most heavy trucks, buses and trailers.
      - `model` string, required
      - `vehicle_id` string, nullable: The catalog's id for the model year, when the model matched.
      - `year` integer, nullable
    - `vehicles_listed` integer, required: How many vehicles the campaign lists in all.
  - `since` string, required: The day asked for.

## Other responses

- `400`: `validation_failed`: `since` is missing or is not a day, or `country`, `limit` or `cursor` is wrong.
- `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)
