PulsCar analysis of NHTSA public data, September 2026 — how much does a car diagnostic cost Article: https://www.pulscar.io/blog/how-much-does-car-diagnostic-cost License: CC BY 4.0. Credit "PulsCar analysis of NHTSA public data" with a link to the article. SOURCE FILES - Complaints: https://static.nhtsa.gov/odi/ffdd/cmpl/ — COMPLAINTS_RECEIVED_2015-2019.zip, COMPLAINTS_RECEIVED_2020-2024.zip, COMPLAINTS_RECEIVED_2025-2026.zip. Unit = one ODINO (report number), PROD_TYPE V. Received dates (LDATE) 2015-01-01 to 2026-09-08. 777,040 unique complaints. Free text = CDESCR. Fields used: MAKETXT, MODELTXT, YEARTXT, LDATE, MILES, STATE, CDESCR. - Recalls: https://static.nhtsa.gov/odi/ffdd/rcl/ FLAT_RCL, distinct CAMPNO with report dates 2015-01-01 to 2026-09-09 (11,625). - Manufacturer communications: https://static.nhtsa.gov/odi/ffdd/tsbs/ — distinct NHTSA document IDs received 2015-01-06 to 2026-09-12 (187,827). FILE: diagnostic_fees_cited_by_period.csv Candidate texts: CDESCR containing "diagnos" (case-insensitive) and a "$". Amount patterns (Python re, either): \$\s?(\d{1,3}(?:,\d{3})?(?:\.\d\d)?)(?![\d,])\s*(?:\+\s*tax\s*)?(?:\w+\s+){0,4}?(?:diagnos\w*|to diagnose) (?:diagnos\w*)\s+(?:\w+\s+){0,5}?(?:of|was|is|for|cost|costs|at|charge of|fee of|around|about|approximately|approx\.?|roughly| over|nearly|almost|another|totaling|total of)?\s*\$\s?(\d{1,3}(?:,\d{3})?(?:\.\d\d)?)(?![\d,]) First match per complaint; kept if $20 to $600. 1,863 complaints. The negative lookahead stops "$4200" being read as "$420". dealer_only = text contains "dealer" and none of: independent (mechanic|shop|repair|garage|technician), local (mechanic|shop|garage), my mechanic, third-party, private, outside shop, transmission shop, repair shop. independent_only = the reverse. share_mentioning_recall = "recall" anywhere in the text. share_shop_found_nothing = phrase list: could(n't|not) (duplicate|replicate| reproduce|find ...|locate ...|verify), no (problem|trouble|issue|fault)s? found, nothing (found|wrong), could not be (duplicated|...), operating as designed, normal (operation|characteristic), is normal. share_fee_waived_or_credited = (waiv|credit|applied to/toward| deduct|refund|goes toward|taken off) within 80 characters of "diagnos" (38 matches, all read: about one third are negatives such as "non-refundable" or "does not go toward the repair"). Hand reading of 40 random matches: 36 were a diagnostic fee, 4 bundled a small repair or a second test into the amount. Treat medians as upper bounds by roughly that margin. Repeat fees (article text, 87): (another|second|2nd|third|3rd|additional|again) within 40 characters before "diagnos", or "diagnos" followed within 40 characters by (again|a second time|twice|three times). Mileage: MILES field, 0 < miles < 400,000 (746 complaints), median 80,000, quartiles 52,000 / 106,000. Vehicle age = LDATE year minus YEARTXT, 0-30 (median 6, quartiles 4 / 9). FILE: diagnostic_fee_buckets.csv Same 1,863 fees, in dollar bands, for all years and for LDATE 2024-01-01 to 2026-09-08 (672). FILE: diagnostic_fees_by_make.csv Same fees by MAKETXT, 18 makes with the most fee complaints; per_10000 uses all complaints for that make 2015-2026. Luxury group in the article (BMW, MERCEDES-BENZ, AUDI, LEXUS, PORSCHE, LAND ROVER, JAGUAR, VOLVO, CADILLAC, LINCOLN, ACURA, INFINITI, GENESIS): 160 complaints, median $214.44; all other makes except TESLA: 1,676, median $160. EV/hybrid subset (article text): MAKETXT = TESLA, or MODELTXT matching HYBRID|EV|BEV|PRIUS|VOLT|BOLT|LEAF|LIGHTNING|IONIQ|MACH-E|ID.4| EQ-|I3|I4|POLESTAR|RIVIAN|LUCID|PLUG-IN: 103 complaints, median $200; 47 received 2024-2026, median $240. Tesla 27, median $240, quartiles $195 / $265. FILE: diagnostic_fees_by_state.csv Same fees by STATE, states with 30 or more; the article table shows states with 55 or more. FILE: no_code_complaints_by_symptom.csv Candidate texts: FTS phrases "no codes", "no code", "no trouble codes", "no fault codes", "no error codes", "no diagnostic codes", then regex \bno (trouble |fault |error |diagnostic |stored |active )?codes?\b (3,853). Symptom regexes: electrical or warning lights = electrical|warning light|dash(board)? light|lights? (came|come|turned) on|illuminat stall or loss of power = stall|loss of power|lost power|shut off|died|dies transmission or shifting = transmission|shift|gear ; brakes = brake ; steering = steering noise = noise|sound|hum|grind|squeal|knock|click|rattle|whine|clunk ; vibration or shaking = vibrat|shak|shudder no start = (won't|will not|wouldn't|would not|does not|doesn't|not) (start|crank)|no start ; smell or smoke = smell|smoke|burning "shop found nothing" uses the phrase list above (732); "mentions a dealer" = "dealer" anywhere (2,452). 30 random texts were read; all described a fault the owner says stored no codes; most were intermittent stalls, electrical faults or shift problems. FILE: parts_store_code_reads_by_year.csv Candidate texts: FTS autozone OR "auto zone" OR "o'reilly" OR oreilly OR "advance auto" OR "pep boys" OR napa (2,206), then a code-read phrase within 60 characters: (read|scan|pull|check|ran|run)... (code|check engine|diagnostic) or the reverse (509). 331 of the 509 also mention a dealer, mechanic or shop. 30 random texts were read: 28 described a parts-store code read; five owners report replacing the part the code suggested without curing the fault; one was a battery test rather than a code read. LIMITATIONS Complaints are self-reported, unverified, and skewed toward unresolved problems, recall-era vehicles and safety systems. They do not measure the share of diagnoses done at dealers or independents, nor diagnostic accuracy. "Could not find" is often the correct finding for an intermittent fault. Fee amounts are what owners wrote, not invoices. OUTSIDE SOURCES OPENED 18 SEPTEMBER 2026 AAA, "Average mechanic labor rate and repair costs in your state, 2026". Consumer Reports, 20 March 2024 repair-shop survey. NHTSA recalls API records for 24V102000 and 24V794000. 49 U.S.C. 30120, 15 U.S.C. 2302 (Cornell LII). FTC press release, 14 January 2011. Refused automated access (403/404): AutoZone, O'Reilly, Advance Auto Parts, YourMechanic, KBB, RepairPal, consumer.ftc.gov article pages.