// OTOINDEX VS BASIC VIN DECODERS
Where a decoder stops.
- 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.
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
}
}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
}
}Check by check.
The eight rows of the homepage matrix, with a sentence on each about what the difference is in practice.
| Capability | Basic VIN decoders | OtoIndex |
|---|---|---|
VIN / year/make/model identity decode Both resolve the vehicle. | included | included |
Config-level precision (exact engine and trim) A decoder stops at model; OtoIndex resolves to a config_key with the engine code. | not available | included |
Fluid types and capacities for the exact engine 0W-20 and 3.7 qt, not a category average. | not available | included |
Service intervals (miles and months) Some decoders attach a generic schedule; OtoIndex returns one per config. | partial | included |
OEM part numbers per config, with dated prices and MSRP Part numbers per service, priced with an as-of date. | not available | included |
Labor with provenance (method + confidence on every row) Estimated hours per service on /v0/labor, each labelled with its method. | not available | included |
Source + confidence on every value Each value says where it came from and how sure we are. | not available | included |
Whole vehicle in one call, one JSON shape GET /v1/vehicle with include= returns every group you name. | not available | included |
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.
2019 Honda CR-V EX
complete92% filledBrake Pad Replacement
applicablelabor 1.4 hInside 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.