Skip to main content
Glama
jlucasmcrell

Apify Public Data & Leads

NHTSA Vehicle Recall Search

nhtsa_vehicle_recall_search
Read-only

Search US vehicle recalls by year, make, model, or campaign number. Get defect summaries, safety consequences, remedies, affected-unit counts, and park warnings for recall research.

Instructions

Search official US vehicle-safety recalls by year, make and model or by NHTSA campaign number. Returns defect summaries, safety consequences, remedies, affected-unit counts and urgent park warnings.

Behavioral Transparency:

  • Execution: Network call executed synchronously in the cloud via Apify Actor 'captainhandsome/nhtsa-vehicle-recall-search'.

  • Side Effects: Reads public sources and creates a billed Actor run and dataset on your Apify account.

  • Authentication: Requires APIFY_TOKEN environment variable.

  • Latency & Limits: Typical run duration is 5-20 seconds; output is capped by max_results.

Usage Guidelines:

  • When to use: Use for recall research, vehicle-safety checks, campaign monitoring and fleet-risk analysis.

  • When NOT to use: Do not use for drug, device or food recalls (use 'openfda_search'), or for general company filings.

  • Named alternatives: Use 'openfda_search' for FDA-regulated product recalls or 'sec_edgar_filings' for public-company filings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
makeNoVehicle make, for example Honda. Supply make, model and model_year together unless using campaign_number.
modelNoVehicle model, for example Civic.
model_yearNoFour-digit vehicle model year.
max_resultsNoMaximum recall rows to return.
campaign_numberNoExact NHTSA campaign number. Overrides vehicle fields when supplied.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
runNo
errorNo
statusYes
resultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed39 schema fields changedv1.1.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedOutput schema / properties / error
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / results / items / properties / campaign_number / title
      Added value: +"Campaign Number"
    • changedOutput schema / properties / results / items / properties / campaign_number / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / component / description
      Previous value: -"Affected vehicle system or component."New value: +"Vehicle system or component affected by the recall."
    • addedOutput schema / properties / results / items / properties / component / title
      Added value: +"Component"
    • changedOutput schema / properties / results / items / properties / component / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / consequence / description
      Previous value: -"Official safety consequence."New value: +"Official safety consequence stated by NHTSA."
    • addedOutput schema / properties / results / items / properties / consequence / title
      Added value: +"Consequence"
    • changedOutput schema / properties / results / items / properties / consequence / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / make / description
      Previous value: -"Vehicle make."New value: +"Vehicle make associated with this recall row."
    • addedOutput schema / properties / results / items / properties / make / title
      Added value: +"Make"
    • changedOutput schema / properties / results / items / properties / make / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / manufacturer / description
      Previous value: -"Manufacturer named in the recall."New value: +"Manufacturer named in the NHTSA recall record."
    • addedOutput schema / properties / results / items / properties / manufacturer / title
      Added value: +"Manufacturer"
    • changedOutput schema / properties / results / items / properties / manufacturer / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / model / description
      Previous value: -"Vehicle model."New value: +"Vehicle model associated with this recall row."
    • addedOutput schema / properties / results / items / properties / model / title
      Added value: +"Model"
    • changedOutput schema / properties / results / items / properties / model / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / model_year / description
      Previous value: -"Vehicle model year."New value: +"Vehicle model year associated with this recall row."
    • addedOutput schema / properties / results / items / properties / model_year / title
      Added value: +"Model Year"
    • changedOutput schema / properties / results / items / properties / model_year / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / park_it / description
      Previous value: -"Whether NHTSA issues a park-it warning."New value: +"Whether NHTSA marks the recall with a park-it warning."
    • addedOutput schema / properties / results / items / properties / park_it / title
      Added value: +"Park It Warning"
    • changedOutput schema / properties / results / items / properties / park_it / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / park_outside / description
      Previous value: -"Whether NHTSA issues a park-outside warning."New value: +"Whether NHTSA marks the recall with a park-outside warning."
    • addedOutput schema / properties / results / items / properties / park_outside / title
      Added value: +"Park Outside Warning"
    • changedOutput schema / properties / results / items / properties / park_outside / type
      Previous value: -"boolean"New value: +[
      +  "boolean",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / potential_units_affected / description
      Previous value: -"Potential number of affected units."New value: +"Potential number of affected units when supplied by NHTSA."
    • addedOutput schema / properties / results / items / properties / potential_units_affected / title
      Added value: +"Potential Units Affected"
    • changedOutput schema / properties / results / items / properties / potential_units_affected / type
      Previous value: -"integer"New value: +[
      +  "integer",
      +  "null"
      +]
    • addedOutput schema / properties / results / items / properties / remedy / title
      Added value: +"Remedy"
    • changedOutput schema / properties / results / items / properties / remedy / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / results / items / properties / summary / description
      Previous value: -"Official defect summary."New value: +"Official description of the recalled products and defect."
    • addedOutput schema / properties / results / items / properties / summary / title
      Added value: +"Summary"
    • changedOutput schema / properties / results / items / properties / summary / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / run
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / status
      Added value: +{
      +  "enum": [
      +    "success",
      +    "empty_unverified",
      +    "partial",
      +    "error"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "results"
      -]New value: +[
      +  "results",
      +  "status"
      +]
  2. Addedv1.0.13

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses execution model, side effects (billed Actor run and dataset creation), authentication requirement, latency range, and output cap. This is substantially more behavioral context than readOnlyHint and destructiveHint alone provide, and nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized into sections with bullet lists and front-loads the core purpose before behavioral and usage details. Every section carries meaningful information; there is no filler or repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema, full input schema, and rich annotations, the description still supplies additional essentials: authentication, runtime side effects, latency, result cap, and alternatives. This is complete enough for an agent to decide whether to call the tool and what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all 5 parameters with detailed descriptions, so the schema baseline is high. The description adds a high-level grouping of how parameters combine ('by year, make and model or by NHTSA campaign number') but does not materially improve the parameter semantics beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Search official US vehicle-safety recalls' and names the two main query paths: make/model/year or NHTSA campaign number. It also lists concrete return contents, which makes the tool's purpose immediately distinguishable from sibling search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Dedicated usage guidelines explicitly say when to use the tool, when not to use it, and name two alternatives: openfda_search for FDA recalls and sec_edgar_filings for company filings. This gives an agent clear routing criteria rather than leaving selection to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.