CarDr
Client LoginBook a demo
CarDr SDK + API

Your app knows the market.
Now let it read the vehicle.

Add OEM-level diagnostics and repair intelligence to the apps, dealer tools and workflows your customers already use.

Your dealer app

Vehicle appraisal

2019 Chevrolet Traverse

Market dataYour feed
Diagnostic finding
P0442Current + historic

EVAP system small leak

Repair estimate$145–$440
Sample from RPT.Q6750 · Estimates, not a repair quote.

Illustrative partner interface
Sample from RPT.Q6750

Original CarDr ULTRA OBD adapter
CarDrULTRA + your app
Built around your workflow

Where would diagnostics fit?

Apps & dealer tools selected.

Illustrative partner workspace · RPT.Q6750 sample

Add mechanical context to your appraisal screen.

A dealer opens a vehicle, scans with ULTRA and reviews repair exposure beside market data.

Vehicle appraisal / review

2019 Chevrolet Traverse

Sample vehicle · RPT.Q6750

Your market intelligence

Retail comparisons
Your feed
Wholesale context
Your feed
Offer calculation
Your rules

Partner-owned context

CarDr repair intelligence
P0442Current + historic

EVAP system small leak

Engine Control Module

Criticality LowCommonality Common
Repair estimate$145–$440
Sample from RPT.Q6750 · Estimates, not a repair quote.
  1. 01Open vehicle
  2. 02Scan with ULTRA
  3. 03Enrich findings
  4. 04Review in your app

CarDrSupported vehicle capture, interpretation and repair intelligence.

Your platformYour interface, market data, appraisal rules and connections.

Web views display collected results. Scanning uses ULTRA with a supported mobile SDK. Connectors, delivery and vehicle/platform coverage are confirmed per integration. A VIN alone cannot reveal current faults, voltage, resets or readiness.

Capabilities

What you can add to your product.

Capture supported vehicle data, turn codes into useful context and bring the results into your workflow.

Read the vehicle

OEM engine, transmission, ABS, airbag, body and network diagnostics where supported. VIN, code statuses and scan progress keep the record grounded in the vehicle.

Understand the findings

Fault descriptions, criticality, commonality, likely parts, prices, labor and repair intelligence (PCF) estimates. Resting voltage, reset indicators and readiness add context.

Put results to work

Reports and structured findings for appraisal, service review and disclosure. Your platform controls presentation, access and decisions.

Explore the full capability reference.

Cloud or ULTRA + SDK

VIN identification and decoding

Turn a 17-character VIN into the vehicle record your intake screen needs.

With the ULTRA adapter connected, your app can read the VIN directly from the vehicle, so staff do not have to type it or photograph a door-jamb label. Whether the VIN comes from the vehicle or from your own system, it can be decoded into the specifications the source returns: model year, make, model, engine and, where available, trim, body class, drive type and equipment details.

The decoded record is what ties every later finding to the right vehicle. It describes how the vehicle was built, not how it is now: a decoded engine code says nothing about whether that engine has a fault today.

Inputs
A VIN, either read from the vehicle through ULTRA or supplied by your system.
What you get
Decoded vehicle specifications such as year, make, model and engine, plus additional details where the source returns them.
Useful for
Pre-fill an appraisal or intake form, match a scan to the correct inventory record, and catch a mistyped VIN before a report is attached to the wrong unit.
Keep in mind
Fields the source does not return stay unknown; do not fill them in with guesses. A VIN describes how the vehicle was built. Its current condition requires a scan.
ULTRA + SDK

OEM-level multi-module scanning

Read stored trouble codes from the vehicle's modules, not only the engine.

Modern vehicles are run by many electronic control units (ECUs), or modules: engine, transmission, anti-lock brakes, airbag/SRS, body control, instrument cluster, infotainment and others, all talking over in-vehicle networks. When a module detects a problem it stores a diagnostic trouble code (DTC).

A generic OBD-II reader is built around emissions-related powertrain codes. CarDr's OEM-level scan uses manufacturer-specific protocols through ULTRA to query the additional modules a vehicle supports, so transmission, ABS/braking, airbag, body and network faults can appear in the same result.

The first letter of a DTC names a system family: P for powertrain, B for body, C for chassis and U for network communication. It is a family, not a single module: a U code can be stored by the radio, the ABS module or the instrument panel. Each result is therefore reported with the module that stored it.

Inputs
A vehicle connected to an ULTRA adapter paired with your app. The SDK offers a standard scan, an advanced scan option and an extended scan.
What you get
A scan entry with the vehicle, the modules queried and their response status, the codes each module returned, and a status for each code.
Useful for
Run at trade-in, auction check-in, pre-purchase inspection or service intake to see powertrain and non-powertrain faults before a decision is made.
Keep in mind
Which modules respond depends on the vehicle, its configuration and the protocols supported for it. A module that does not respond is not the same as a module with no faults.
Cloud

DTC interpretation

Explain what a code means for this vehicle, in technical and plain-English terms.

A raw code such as P0442 tells a technician where to look; it means little to an appraiser or a buyer. CarDr's cloud interprets each code in the context of the vehicle, the module that stored it and its status, and returns a description of the fault, the affected system and, where supplied, its likely impact.

Context matters because manufacturer-specific codes can mean different things on different makes. The same code read without the vehicle can be misleading.

Inputs
A DTC with its vehicle (VIN), module and status context, from a CarDr scan or from your own diagnostic data.
What you get
A fault description, the affected system and, where supplied, an impact statement.
Useful for
Show non-technical users what a finding means and send technical staff to the right system first.
Keep in mind
A code guides diagnosis. It is not proof that a particular component has failed or must be replaced.
Cloud

Repair intelligence (PCF)

Attach likely parts, labor and cost ranges to each finding.

For each interpreted code, repair intelligence can return a criticality rating, a commonality classification, the components or parts most likely involved with a parts quantity, a parts cost range, a labor hours range, a labor cost range, an overall repair range and an impact statement. CarDr's reports present these per code alongside a headline total repair estimate.

Criticality describes how important or severe the finding is. Commonality is a classification of how often the fault is seen (for example Common or Uncommon); it is not a numeric probability of failure. The listed parts are the components a repair commonly involves, not a confirmed list of what this vehicle needs; a technician's diagnosis decides that.

Inputs
Interpreted codes with vehicle context.
What you get
Per-code criticality, commonality, likely parts and quantity, parts and labor ranges, repair range and impact, as returned for that code.
Useful for
Estimate reconditioning exposure during appraisal, prioritize recon work, or explain a price adjustment with line-item reasoning.
Keep in mind
Ranges are estimates, not quotes. Several codes can point to the same repair, so do not add per-code ranges together yourself; use the totals CarDr's report provides. Repair intelligence does not predict or guarantee future failures.
ULTRA + SDK

Resting battery voltage

Capture the 12-volt reading as measured context for every scan.

Resting battery voltage is part of every CarDr scan report. With Cold + Warm Scan, the Cold Scan runs with the ignition on and the engine off, capturing resting battery voltage and the ECU baseline; the Warm Scan runs with the engine running and confirms which faults persist. One merged report separates voltage-sensitive codes from persistent faults.

This matters because a weak 12-volt supply can cause modules to set communication and voltage codes that disappear once the battery is charged. Seeing voltage next to those codes helps a reviewer decide whether to recharge and rescan before treating them as repairs.

Inputs
A scan through ULTRA. Ignition on and engine off for the resting reading; engine running for the warm reading.
What you get
A measured voltage value in the report, with voltage-sensitive codes separated from persistent faults in the merged Cold + Warm report.
Useful for
Flag units for a battery check or recharge at intake, and avoid budgeting repairs for codes caused by low voltage.
Keep in mind
A voltage reading is not a load test and not a guarantee of battery health. It says nothing about an EV or hybrid traction battery's state of health.
ULTRA + SDK

Code reset indicators

See signs that codes were recently cleared.

Clearing codes erases stored faults and resets emissions monitors, so a vehicle can look clean right after a reset. Where the vehicle reports them, CarDr shows the counters that follow a clear, such as distance and warm-up cycles since codes were cleared, alongside monitor readiness, and flags whether a recent reset was found.

A recent reset is a reason to look closer: rescan after a drive cycle, or inspect the systems involved. It is not proof of wrongdoing; codes are routinely cleared after legitimate repairs and battery work.

Inputs
A scan through ULTRA.
What you get
A recent-reset finding plus supporting counters and readiness, where the vehicle supports them.
Useful for
Hold a unit for re-inspection at intake or disclose a recent clear in a listing.
Keep in mind
If a vehicle does not report the counters, the result is unknown, not "no reset". Present it that way.
ULTRA + SDK

Emissions readiness

Show which emissions monitors have completed their self-tests.

Vehicles run self-tests called readiness monitors on emissions systems such as the catalyst, evaporative system, oxygen sensors, EGR and fuel system. Each monitor is complete, incomplete or not supported on that vehicle. Recently cleared codes or a disconnected battery leave monitors incomplete until the vehicle is driven enough.

Inputs
A scan through ULTRA.
What you get
Per-monitor readiness status and a summary emissions result as shown in the report.
Useful for
Decide whether a vehicle should be driven further before an emissions inspection, or note readiness in a condition report.
Keep in mind
Readiness is not an emissions certification and does not guarantee a state or EPA inspection result.
ULTRA + SDK

Live data and freeze frame

Stream selected sensor values, or read the snapshot stored when a fault set.

Live data streams current values from selected parameters the vehicle supports, such as engine speed or coolant temperature, as timestamped entries while your app is connected. Freeze frame data is different: it is the snapshot of values a module stored at the moment a specific code was set.

Together they help a technician reproduce an intermittent fault during a test drive and understand the conditions when a code first appeared.

Inputs
An ULTRA connection; the live data sources to stream, or the code whose freeze frame to request.
What you get
Timestamped live values keyed by source, or the freeze frame values stored for a code.
Useful for
Road-test diagnostics in a service or mobile-repair app, or confirming conditions behind a stored fault.
Keep in mind
Available parameters depend on the vehicle. Live data runs while your app holds the connection; it is not a remote, always-on fleet telematics feed.
Scoped with CarDr

Recall information

Add safety-recall context to the vehicle record.

Recall campaigns are issued for groups of vehicles, typically by year, make and model. Whether a particular VIN still has an open, unrepaired recall is a separate, VIN-specific question.

CarDr's full diagnostic reports include recall information. Which recall data is available to your integration, and whether it is VIN-specific open-recall status or campaign-level context, is confirmed during integration scoping.

Inputs
A VIN.
What you get
Recall context for the vehicle, as available to your integration.
Useful for
Show recall context during appraisal, reconditioning or listing so it can be checked and addressed.
Keep in mind
Campaign context for a model does not mean this specific vehicle has an open recall. Label which one you show.
Scoped with CarDr

Scan history and report retrieval

Keep inspections tied to the vehicle so they can be found and compared.

Each completed CarDr scan produces a dated report. Keeping those reports associated with the VIN and your inventory or work-order record lets your team pull up an earlier inspection, attach it to a deal, or compare the findings from before and after service.

Your app can also keep its own record of each scan entry it receives through the SDK. How completed reports are retrieved from CarDr for your integration is defined during scoping.

Inputs
Completed scans, associated with a VIN and your own record IDs.
What you get
Dated reports or scan records you can retrieve and compare.
Useful for
Compare intake and post-recon scans, or show a buyer the inspection that came with a unit.
Keep in mind
Comparisons are only as good as the scans available; a code missing from a later scan may have been repaired or cleared.
Scoped with CarDr

Branded reports

Deliver a finished, shareable report as well as structured data.

Some products need the finished document: a scan summary report with the vehicle, findings, cost ranges, emissions readiness and reset indicators that can be shared by link or PDF. Others need structured results to render in their own interface. CarDr supports branded report delivery, and the format your integration receives is agreed at scoping.

Inputs
A completed scan.
What you get
A finished report (shareable link or PDF), and/or structured results for your own interface.
Useful for
Attach a report to a listing, a deal jacket or a customer message without building a report renderer.
Keep in mind
Branding options and embedding methods are confirmed during scoping.
ULTRA + SDK

Code clearing

A deliberate service action after diagnosis or repair.

The SDK can clear generic codes or all codes on supported vehicles, with a progress callback for the full clear. This belongs in service workflows, after a fault has been diagnosed and repaired, and only when a user explicitly asks for it.

Clearing does not fix anything. It erases stored evidence, resets emissions readiness monitors, and can trigger the reset indicators described above. Some codes, such as permanent codes, are not erased by a clear and only go away after the vehicle verifies the repair.

Inputs
An ULTRA connection and an explicit user action.
What you get
Success or an error.
Useful for
Close out a repair order in a shop app after the fix is verified.
Keep in mind
Never clear codes automatically, and never as part of intake, appraisal or inspection.
ULTRA + SDK

Device connection and lifecycle

Connect, report progress, handle interruptions and keep firmware current.

The SDK connects to an ULTRA adapter over Bluetooth, reports connection-state changes and disconnections, and publishes scan progress and the scan type as a scan runs, along with interim scan updates. A scan entry records whether it started and completed, so your app can tell a finished scan from one that was interrupted.

Firmware updates can be started from the app with progress reporting, optionally targeting a specific version or release level.

Inputs
A discovered Bluetooth peripheral and user actions in your app.
What you get
Connection state, scan progress, scan updates, completion status and firmware update progress.
Useful for
Show clear progress to staff in the lane and prompt a rescan when a phone or adapter disconnects mid-scan.
Keep in mind
An incomplete scan is incomplete: show it that way rather than as a clean result.
Scoped with CarDr

Arbitration Risk Flag and report

Optional auction triage built on the scan.

For auctions, CarDr offers an Arbitration Risk Flag shown with the scan and a separate, more detailed Arbitration Risk Report. The flag helps route a unit at check-in, for example toward a closer inspection or disclosure, while the report explains the findings behind it.

Both are optional products. Whether and how they are available inside your integration is confirmed during scoping.

Inputs
A completed CarDr scan.
What you get
A visible flag and, where included, the Arbitration Risk Report.
Useful for
Auction intake triage and condition disclosure.
Keep in mind
A flag is a triage aid, not a guarantee about arbitration outcomes.
LIVE IN BETA

Dealer acquisition intelligence

LIVE IN BETA: acquisition decisions inside OBDIQ.

CarDr TrueCost turns the scan into an acquisition decision inside the OBDIQ app: severity-ranked repairs with cost estimates, live wholesale and retail market data, all-in cost, and a BUY / CAUTION / PASS verdict on the appraisal — plus a customer-facing trade-in offer view.

TrueCost is live in beta in OBDIQ. Integration access, data delivery and market coverage are confirmed with CarDr during scoping; the beta does not imply an undocumented API contract.

Inputs
Scan findings, an appraisal and your store targets inside OBDIQ; integration inputs confirmed during scoping.
What you get
Repair estimates, live market data, all-in cost and BUY / CAUTION / PASS verdict on the appraisal.
Useful for
Dealer acquisition and customer-facing trade-in offers.
Keep in mind
Estimates and market evidence are decision aids, not guarantees. API access and coverage require separate scoping.
Real report walkthrough

One real scan, read the way your users will read it.

Excerpts from CarDr Scan Summary Report RPT.Q6750, a 2019 Chevrolet Traverse scanned on July 21, 2026. Select an excerpt to enlarge it, or open the full PDF.

Codes, status, parts and labor ranges, criticality and commonality.
  1. Module and code

    P0442 was stored by the Engine Control Module. The next finding, U0159, came from the Instrument Panel, a network code from a non-engine module.

  2. Status

    P0442 is marked CURR and HIST: currently detected and also recorded previously.

  3. Plain-English description and impact

    "Evaporative Emission Evap System Small Leak Detected." Impact: "May Cause Increased Emissions; No Immediate Drivability Impact."

  4. Repair intelligence

    Parts $50.0–$250.0, labor 1.0–2.0 hours at $95.0–$190.0, total $145.0–$440.0. Possible parts include the EVAP purge valve, canister vent valve, fuel tank pressure sensor and fuel filler cap. They are not all required; a technician confirms the repair.

  5. Criticality and commonality

    P0442 is LOW criticality and Common. U0159 is HIGH and Uncommon, so it deserves attention first.

Vehicle identification and scan status summary.

Vehicle context

2019 Chevrolet Traverse, VIN 1GNEVHKW5KJ256873. The report's headline: a $1,370 total repair estimate, 5 current codes and 22 OEM modules scanned.

Warning light on, emissions pass

The warning light is on while the emissions test passes, a useful reminder that neither result tells the whole story alone.

Readiness monitors and reset counters.

Readiness and reset

All eight listed monitors are complete. "NO Recent Reset Found," with 40,730 miles and 255 warm-up cycles since codes were last cleared.

Battery voltage

Battery voltage is available in the supported cold-scan workflow. This sample does not show a voltage reading.

Open the full PDF All sample reports →

Integration in production

See it integrated: Dealerslink.

Dealerslink, a third-party dealer platform, integrated CarDr diagnostics into its own product. This walkthrough shows a scan triggered inside the partner's app and the results landing in its workflow.

Video courtesy of Dealerslink, a CarDr integration partner.

Developer reference

See how your first integration works.

Available reference

Verified iOS declarations

Explore core types and the current inspected method reference below. Capability descriptions explain cloud inputs, outputs and limits without inventing request schemas.

Browse core types
Scope with CarDr

Your integration resources

Request actual setup, authentication and request-response documentation, vehicle/platform coverage, report delivery/access, completion/error handling and DMS responsibilities.

Request integration documentation

Device methods below are taken from the public interface of the CarDr iOS SDK (type prefixes shortened). Your integration receives the current package and its version; Android and React Native packages, method names and feature parity are confirmed during scoping.

Core types

ScanEntry
One scan: vehicle, modules, date, progress, started, complete and allTroubleCodes. Check complete before treating a result as final.
ModuleItem
One module in a scan: name, codes, responseStatus, identifier and errors. A module's response status distinguishes 'no codes' from 'did not respond'.
CodeStatus
Status of a code: confirmed, pending, permanent, history or warningLight.
Result<Value, Error>
Most calls return success with a value or failure with an error. Show failures as unknown, never as a clean vehicle.

Connection

  • connectTo(peripheral:_:)Connects to a discovered ULTRA adapter and returns the connected peripheral or an error.
    connectTo(peripheral: CBPeripheral, _ completionHandler: @escaping ((Result<CBPeripheral, any Error>) -> Void))
  • registerDeviceConnectionState(changes:)Notifies your app when the adapter's connection state changes.
    registerDeviceConnectionState(changes completionHandler: @escaping ((DeviceConnectionState) -> Void))
  • subscribeToDisconnections(completionHandler:)Calls back when the adapter disconnects, so your app can handle an interrupted scan.
    subscribeToDisconnections(completionHandler: @escaping (() -> Void))
  • disconnectFromDevice()Disconnects from the adapter and reports success and any error.
    disconnectFromDevice() -> (Bool, (any Error)?)

Vehicle

  • registerVIN(callback:)Delivers the VIN read from the connected vehicle, or an error.
    registerVIN(callback completionHandler: @escaping ((Result<String, any Error>) -> Void))
  • requestVIN()Returns the VIN currently available from the connected vehicle, or an error.
    requestVIN() -> Result<String, any Error>
  • requestVehicleInformationFor(VIN:)Asynchronously returns a vehicle entry for a VIN.
    requestVehicleInformationFor(VIN: String) async -> Result<VehicleEntry, any Error>
  • requestVinDecode(for:completionHandler:)Decodes a VIN into a VIN result.
    requestVinDecode(for vin: String, completionHandler: @escaping ((Result<VINResult, any Error>) -> Void))
  • requestVinDetailDecode(for:completionHandler:)Decodes a VIN into a more detailed VIN result.
    requestVinDetailDecode(for vin: String, completionHandler: @escaping ((Result<VINDetailResult, any Error>) -> Void))

Scan

  • startTroubleCodeScan(advancedScan:)Starts a trouble code scan; the advanced option defaults to off.
    startTroubleCodeScan(advancedScan: Bool = false)
  • startExtendedTroubleCodeScan()Starts an extended trouble code scan.
    startExtendedTroubleCodeScan()
  • stopTroubleCodeScan()Stops the scan in progress.
    stopTroubleCodeScan()
  • subscribeToCurrentScanProgressState(_:)Reports scan progress state and scan type while a scan runs.
    subscribeToCurrentScanProgressState(_ completionHandler: @escaping ((ProgressState, ScanType) -> Void))
  • subscribeToCurrentScanUpdates(_:)Delivers updated scan entries as results arrive.
    subscribeToCurrentScanUpdates(_ completionHandler: @escaping ((ScanEntry) -> Void))
  • fetchCurrentScanEntry()Returns the current scan entry, or an error.
    fetchCurrentScanEntry() -> Result<ScanEntry, any Error>

Telemetry

  • requestFreezeFrameFor(code:callback:)Requests the freeze frame values stored for a code.
    requestFreezeFrameFor(code: String, callback completionHandler: @escaping ((Result<[ValueMonitor], any Error>) -> Void))
  • startLiveDataStream(with:)Starts streaming the selected live data sources.
    startLiveDataStream(with codes: [LiveDataSource]) -> Result<Bool, any Error>
  • subscribeToLiveStream(_:)Delivers timestamped live values keyed by source.
    subscribeToLiveStream(_ completionHandler: @escaping ((Result<[String : LiveFeedDatedEntry], any Error>) -> Void))
  • endLiveDataStream()Ends the live data stream.
    endLiveDataStream() -> Bool

Code clearing

  • clearGenericCodes(completionHandler:)Clears generic codes. Use only after diagnosis or repair, on explicit user action.
    clearGenericCodes(completionHandler: @escaping ((Result<Bool, any Error>) -> Void))
  • clearAllCodes(progressCallback:completionHandler:)Clears all codes with progress reporting. Use only after diagnosis or repair, on explicit user action.
    clearAllCodes(progressCallback: @escaping ((Double) -> Void), completionHandler: @escaping ((Result<Bool, any Error>) -> Void))

Device management

  • startDeviceFirmwareUpdate(to:reqReleaseLevel:progressCallback:completionCallback:)Updates adapter firmware, optionally to a specific version or release level, with progress.
    startDeviceFirmwareUpdate(to version: String? = nil, reqReleaseLevel: FirmwareReleaseType? = nil, progressCallback: @escaping ((Double) -> Void), completionCallback: @escaping ((Result<Bool, any Error>) -> Void))

Cloud services

VIN decodingDTC interpretationRepair intelligence (PCF)Recall informationReport delivery and retrieval

Endpoints, authentication and response schemas for CarDr cloud services are provided during integration scoping, matched to the capabilities your product uses. See the capability descriptions for inputs and outputs.

Getting started

From first conversation to production.

  1. Discuss your workflow

    Tell us who scans, where results need to land and which vehicles matter to you. We confirm the capabilities and coverage that fit.

  2. Receive documentation and access

    Your developers get the SDK package, API documentation and the access appropriate to your integration.

  3. Validate on your vehicles

    Test with ULTRA adapters on the makes and models you handle, and check results against your own records.

  4. Deploy

    Roll out to your users and keep adapter firmware current through the SDK.

Integration team: sales@cardr.com · (800) 932-1120

What will you build?

Workflows CarDr data can power.

Illustrative workflows, not customer results. Each shows the user's task, the capabilities involved, what your product displays and the decision it supports.

More service, fleet and inspection workflows

DMS and trade-in appraisal

An appraiser evaluates a trade-in at the desk.

  • VIN decoding
  • Multi-module scan
  • Repair intelligence
  • Reset indicators
You display
Decoded vehicle, transmission or ABS findings, and estimated repair ranges beside the appraisal record.
They decide
Whether to inspect further and how to account for reconditioning before making an offer.

Auction intake and triage

Check-in staff scan units as they arrive.

  • Multi-module scan
  • Reset indicators
  • Arbitration Risk Flag (optional)
  • Branded reports
You display
A per-unit status with findings and a shareable report.
They decide
Which units go to the lane and which get a closer look or disclosure first.

Reconditioning and service lane

A recon manager plans work on newly acquired units.

  • DTC interpretation
  • Repair intelligence
  • Live data
  • Code clearing (after repair)
You display
Prioritized findings with likely parts and labor ranges, plus live data for diagnosis.
They decide
What to repair first and when a unit is ready to rescan.

Mobile pre-purchase inspection

An inspector checks a vehicle for a buyer.

  • VIN read
  • Multi-module scan
  • Resting battery voltage
  • Emissions readiness
You display
A plain-English summary and finished report the buyer can read.
They decide
Whether the buyer proceeds, negotiates or asks for a technician's diagnosis.

Fleet, rental return and service intake

Staff check vehicles at return or before service.

  • Multi-module scan
  • Reset indicators
  • Scan history
You display
Findings compared with the vehicle's earlier scan.
They decide
Whether a vehicle goes back into service or to the shop.

Warranty inspection

An administrator documents condition at contract or claim time.

  • Multi-module scan
  • Freeze frame
  • Scan history
  • Branded reports
You display
Dated findings with module, status and freeze-frame context.
They decide
What evidence to review. Scans support a human decision, not automated claim denial.

Marketplace listings and disclosure

A seller lists a vehicle online.

  • Multi-module scan
  • Reset indicators
  • Emissions readiness
  • Branded reports
You display
A condition section or attached report on the listing.
They decide
What the buyer sees before bidding or contacting the seller.

Repair and shop management

A shop writes up a repair order.

  • DTC interpretation
  • Repair intelligence
  • Freeze frame
  • Code clearing (after repair)
You display
Findings and estimated ranges on the work order.
They decide
What to quote and which systems to diagnose first. Parts ordering is handled by the shop's own systems.
FAQ

Questions developers ask.

Do I need CarDr hardware to integrate?

Not for every capability. CarDr cloud services can interpret VIN and diagnostic data you already collect. Reading codes, voltage, reset indicators, readiness or live data from a vehicle requires a scan, which uses the ULTRA adapter with the mobile SDK. A VIN alone cannot reveal current trouble codes.

How is an OEM-level scan different from a generic OBD-II scan?

Generic OBD-II focuses on emissions-related powertrain codes. CarDr's OEM-level scan uses manufacturer-specific protocols to query the additional modules a vehicle supports, such as transmission, ABS, airbag, body and network modules. Coverage depends on the vehicle and its configuration.

Can the SDK read transmission and ABS codes?

Where the vehicle supports them, yes. Results are reported per module, so transmission, ABS, airbag and body findings appear alongside engine codes with the module that stored each one.

Do you provide parts and labor estimates per code?

Yes. Repair intelligence can return criticality, commonality, likely parts and quantity, parts and labor cost ranges, labor hours and an impact statement for each code. They are estimates to guide decisions, not repair quotes or confirmation that a part has failed.

How is battery voltage measured?

Resting battery voltage is part of every CarDr scan report. With Cold + Warm Scan, the Cold Scan captures resting voltage with the ignition on and the engine off, and the Warm Scan runs with the engine running. It is a voltage reading, not a load test, and it does not describe an EV traction battery.

Can I embed or share CarDr reports in my product?

Yes. Integrations can deliver a finished, shareable report, structured results for your own interface, or both. The format and branding options are agreed during integration scoping.

Which platforms are supported?

The method reference on this page comes from the iOS SDK. Android and React Native availability, packages and method names are confirmed during scoping; do not assume they match iOS exactly.

Is vehicle valuation available through the API?

LIVE IN BETA. CarDr TrueCost turns the scan into an acquisition decision inside the OBDIQ app: severity-ranked repairs with cost estimates, live wholesale and retail market data, all-in cost, and a BUY / CAUTION / PASS verdict on the appraisal — plus a customer-facing trade-in offer view. API access, delivery contracts and coverage are confirmed during integration scoping; beta availability in OBDIQ does not imply universal API access.

How should my app handle unknown or incomplete results?

Show them as unknown or incomplete. A module that did not respond, a counter the vehicle does not report, or an interrupted scan is not a clean result, and should not be presented as one.

Where are the full API endpoints and authentication details?

Endpoint, authentication and schema documentation, along with SDK packages, is provided during integration scoping for your use case.

Your next integration

What would you add to your platform?

Bring your workflow. Let’s map the CarDr integration.

Tell us about your product, users and platforms; whether you capture or receive scans; your DMS access and the features you need.