// OTOINDEX VS BASIC VIN DECODERS

Where a decoder stops.

A VIN decoder tells you what the car is. To quote or fix it you still need what it takes and what it costs. OtoIndex returns both, keyed the same way, in one response.
8 / 8
capabilities OtoIndex returns in full.
1 / 8
basic vin decoders return in full.
1 JSON shape
for every group, versioned.
free
to check on the sandbox, no key.

One VIN, two responses.

Left: identity only, which is what a decoder gives you (here, OtoIndex's own decode call). Right: the same VIN through the vehicle call.

identity.sh
curl 'https://vinspeclookup.com/api/v1/decode?vin=5J6RW2H82KL000007' \
-H 'Authorization: Bearer otp_live_…'
{ "object": "decode", "config": { "chassis_code": "RW", "config_key": "2019_honda_cr_v_ex_l15be", "drivetrain": "4WD", "engine": { "aspiration": "turbo", "code": "L15BE", "cylinders": 4, "displacement_l": 1.5, "fuel_injection": "direct", "label": "1.5L L15BE 4cyl" }, "enrichment": { "confidence_avg": 0.8310866477272721, "fill_rate": 92, "status": "complete" }, "make": "Honda", "model": "CR-V", "transmission": "Continuously Variable Transmission (CVT)", "trim": "EX", "year": 2019 } }
200 OK · identity, nothing to quote from
vehicle.sh
curl 'https://vinspeclookup.com/api/v1/vehicle?vin=5J6RW2H82KL000007&include=fluids,parts,tires' \
-H 'Authorization: Bearer otp_live_…'
{ "object": "vehicle", "config": { "config_key": "2019_honda_cr_v_ex_l15be", "year": 2019, "make": "Honda", "model": "CR-V", "trim": "EX", "engine": "1.5L L15BE 4cyl", "drivetrain": "4WD" }, "specs": [ { "confidence": 0.98, "field": "oil_viscosity", "group": "Fluids", "label": "Oil viscosity", "layer": "C", "source_domain": "lemon-manuals.la", "value": "0W-20" }, { "confidence": 0.85, "field": "oil_capacity_qts", "group": "Fluids", "label": "Oil capacity (qts)", "layer": "C", "source_domain": "costaoils.com", "value": "3.7" }, { "confidence": 0.98, "field": "coolant_type", "group": "Fluids", "label": "Coolant type", "layer": "C", "source_domain": "lemon-manuals.la", "value": "Honda Long Life Antifreeze/Coolant Type 2" }, { "confidence": 0.9, "field": "diff_fluid_type", "group": "Fluids", "label": "Differential fluid", "layer": "C", "source_domain": "crvownersclub.com", "value": "Honda Dual Pump Fluid II (DPSF-II)" }, { "confidence": 0.9, "field": "lug_nut_torque_ft_lbs", "group": "Chassis", "label": "Lug nut torque (ft-lbs)", "layer": "C", "source_domain": "crvguide.com", "value": "80" }, { "confidence": 0.9, "field": "battery_group", "group": "Chassis", "label": "Battery group", "layer": "C", "source_domain": "honda.oempartsonline.com", "value": "51R" }, { "confidence": 0.85, "field": "front_wiper_size", "group": "Chassis", "label": "Front wiper size (in)", "layer": "C", "source_domain": "hitchesguide.com", "value": "26" }, { "confidence": null, "field": "steering_type", "group": "Chassis", "label": "Steering type", "layer": "C", "source_domain": null, "value": "electric" } ], "tires": { "battery_cca": 400, "front_size": null, "is_run_flat": null, "is_staggered": false, "options": [ { "aspect_ratio": 60, "is_oem_standard": true, "load_index": 103, "pressure_front_psi": 33, "pressure_rear_psi": 30, "rim_diameter_in": 18, "size_front": "235/60R18", "speed_rating": "H", "wheel_spec": "7.5Jx18 ET45", "width_mm": 235 }, { "aspect_ratio": 65, "is_oem_standard": false, "load_index": 104, "pressure_front_psi": 32, "pressure_rear_psi": 30, "rim_diameter_in": 17, "size_front": "235/65R17", "speed_rating": "H", "wheel_spec": "7.5Jx17 ET45", "width_mm": 235 } ], "pressure_front_psi": 32, "pressure_rear_psi": 30, "rear_size": null, "source": "https://www.wheel-size.com/size/honda/cr-v/2019/" }, "intervals": [ { "confidence": 0.85, "display": null, "interval_miles": 7500, "interval_months": 12, "mechanic_verified": false, "name": "Oil Change", "service": "oil_change" }, { "confidence": 0.9199999999999999, "display": null, "interval_miles": 7500, "interval_months": 6, "mechanic_verified": false, "name": "Tire Rotation", "service": "tire_rotation" } ], "services": [ { "applicable": true, "labor": { "confidence": 0.3, "hours": 1.4, "sample_size": null, "source": "model_estimate", "tier_floor_applied": true }, "name": "Brake Pad Replacement", "parts": [ { "confidence": 0.97, "mechanic_verified": false, "name": "Front Brake Pads", "oem_part_number": "45022-TLA-A02", "position": "front", "price": { "amount": 70.99, "as_of": 1787173928266, "msrp": 103.07, "source_domain": "honda.oempartsonline.com" }, "quantity": 1, "role": "core", "subcategory": "front_brake_pad" }, { "confidence": 0.97, "mechanic_verified": false, "name": "Rear Brake Pads", "oem_part_number": "43022-TLA-A00", "position": "rear", "price": { "amount": 70.62, "as_of": 1787173937854, "msrp": 99.75, "source_domain": "hondapartsnow.com" }, "quantity": 1, "role": "core", "subcategory": "rear_brake_pad" } ], "service": "brake_pad_replacement" } ], "history": null, "meta": { "generated_at": 1792323140145 } }
200 OK · identity plus every group you named

Check by check.

The eight rows of the homepage matrix, with a sentence on each about what the difference is in practice.

Capability comparison: Basic VIN decoders vs OtoIndex
CapabilityBasic VIN decodersOtoIndex
VIN / year/make/model identity decode
Both resolve the vehicle.
includedincluded
Config-level precision (exact engine and trim)
A decoder stops at model; OtoIndex resolves to a config_key with the engine code.
not availableincluded
Fluid types and capacities for the exact engine
0W-20 and 3.7 qt, not a category average.
not availableincluded
Service intervals (miles and months)
Some decoders attach a generic schedule; OtoIndex returns one per config.
partialincluded
OEM part numbers per config, with dated prices and MSRP
Part numbers per service, priced with an as-of date.
not availableincluded
Labor with provenance (method + confidence on every row)
Estimated hours per service on /v0/labor, each labelled with its method.
not availableincluded
Source + confidence on every value
Each value says where it came from and how sure we are.
not availableincluded
Whole vehicle in one call, one JSON shape
GET /v1/vehicle with include= returns every group you name.
not availableincluded

A decoder is still the right tool when identity is all you need: a plate lookup, a title check, a form that only wants year, make and model. OtoIndex returns the same identity and keeps going, so the question is whether the next screen in your product needs a number a decoder cannot give: a capacity, an interval, a part price, an hour. If it does, one call replaces two integrations.

The same VIN, both ways.

The console's structured view of the vehicle call, with one fluid pulled out: the figure a decoder cannot give you.

Preview · sample

2019 Honda CR-V EX

complete92% filled
Engine
1.5L L15BE 4cyl
Drivetrain
4WD
Transmission
Continuously Variable Transmission (CVT)
Chassis
RW
config_key
2019_honda_cr_v_ex_l15be
Fluids
Oil viscosity
oil_viscosity
0W-20
Oil capacity (qts)
oil_capacity_qts
3.7
Coolant type
coolant_type
Honda Long Life Antifreeze/Coolant Type 2
Differential fluid
diff_fluid_type
Honda Dual Pump Fluid II (DPSF-II)
Chassis
Lug nut torque (ft-lbs)
lug_nut_torque_ft_lbs
80
Battery group
battery_group
51R
Front wiper size (in)
front_wiper_size
26
Steering type
steering_type
electric
Tires & wheels
square fitmentstandard
Front PSI
32
Rear PSI
30
Battery CCA
400
Factory options
235/60R18LI 103SR HOEM standard
235/65R17LI 104SR H
Maintenance schedule
Oil Change
oil_change
7500 mi / 12 mo
Tire Rotation
tire_rotation
7500 mi / 6 mo
Parts & labor

Brake Pad Replacement

applicablelabor 1.4 h
45022-TLA-A02Front Brake Padscorefront×1$70.99$103.07
43022-TLA-A00Rear Brake Padscorerear×1$70.62$99.75
Generated Oct 18, 2026
one field, as returned
Oil capacity (qts)
oil_capacity_qts
3.7

Inside the vehicle response's specs[] block, next to identity, tires, intervals and priced parts.

// TRY IT

Check it against your own vehicle.

Every window above is the sandbox's answer for the reference vehicle. Run the same calls with no key, then request access for live data.