VIN Decoder + Recalls: Bulk NHTSA Specs & Safety Recalls
vin_decoder_recallsDecode VINs in bulk using NHTSA data and attach recall campaigns plus complaint counts to each model year, so dealers, fleets, insurers, and repair shops can check specs and open safety recalls.
Instructions
Bulk-decode vehicle identification numbers with the official NHTSA vPIC API and attach NHTSA recall campaigns and complaint counts for each model year in the same run (year, make, model, trim, body, engine, fuel, drivetrain, plant, safety features). Unlike product_recall_monitor (FDA/CPSC product recalls) and company_website_enricher (firmographics), this is VIN-level vehicle data. Use when dealers, fleets, insurers, marketplaces or repair shops need specs plus open safety recalls for many VINs. Do not use for consumer product or drug recalls (use product_recall_monitor) or for title/lien history. Parameters: vins (list; duplicates removed; up to 10,000); includeRecalls and includeComplaints default true; includeInvalid keeps undecodable VINs as free skipped rows; maxResults caps billed decodes. Undecodable VINs are skipped for free. Returns per item: agentSummary, vin, valid, modelYear, make, model, trim, bodyClass, vehicleType, driveType, engine, fuel, manufacturer, plant, safetyFeatures, recallCount, parkItRecall, recalls, complaintCount, nhtsaRecallUrl; plus VINS_XLSX (Vehicles + Recalls sheets)/CSV.
Behavior: read-only; runs the Apify Actor pandadad0214/vin-decoder-recalls (https://apify.com/pandadad0214/vin-decoder-recalls) on your own Apify account. Price: $0.001 per vin decoded. Runs that find nothing are not charged per result, and spending is capped per call by run_max_charge_usd (default $0.50). run_max_items (default 50) limits items returned and fills maxResults when you leave it unset, so it also limits what is billed; setting maxResults higher can bill more than is returned. Most calls finish in 5-15 s for a few inputs; large inputs or crawls can take minutes, so raise run_timeout_secs (max 300) or shrink the input after a timeout error. Returns JSON {actor, count, items}; long text output is trimmed to whole items, with all items in structuredContent.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| vins | No | VINs. Up to 10,000 17-character VINs. Spaces and dashes are removed, duplicates dropped. | |
| maxResults | No | Maximum results. You pay per VIN returned, so this also caps the cost. Default 1000. | |
| run_max_items | No | Optional. Most results to return from this call (default from PANDA_MAX_ITEMS, 50). Also limits how many results the Actor produces and charges for, unless you set its own max field. | |
| includeInvalid | No | Return VINs that do not decode. On = every VIN gets a row (with the decode note) and is charged. Off = VINs NHTSA cannot decode at all are skipped for free. | |
| includeRecalls | No | Add NHTSA recall campaigns. Recall campaigns for each make/model/year, with component, summary, remedy and park-it warnings (no extra charge). | |
| run_timeout_secs | No | Optional. Seconds to wait for results (default from PANDA_TIMEOUT_SECS, 120; max 300). | |
| includeComplaints | No | Add complaint counts. Number of NHTSA owner complaints for the model year (no extra charge). | |
| run_max_charge_usd | No | Optional. Hard spending cap for this call in USD (default from PANDA_MAX_CHARGE_USD, 0.50). |