// GET /v1/fluids · stable

Fluid capacities by VIN.

The oil viscosity and capacity, the coolant type, the transmission and differential fluids, for the exact engine in the car, each with its source and a confidence score. Not “takes about 5 quarts”.
0W-20
oil_viscosity for the reference CR-V.
3.7 qt
oil_capacity_qts, with filter.
7 fields
fluid types and capacities per config.
stable
/v1/fluids never removes a field.

Capacities for this engine, not about five quarts.

One request by VIN. The response names the fluid, the field it lives in, and the figure for this engine with its source and confidence, in that order.

fluids.sh
curl 'https://vinspeclookup.com/api/v1/fluids?vin=5J6RW2H82KL000007' \
-H 'Authorization: Bearer otp_live_…'
{ "object": "fluids", "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" }, "fields": [ { "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)" } ], "meta": { "generated_at": 1792323140145 } }
200 OK · fields[] with source + confidence
one field, as returned
Oil capacity (qts)
oil_capacity_qts
3.7

With filter. The service fill for the L15BE engine, not a category average.

Every fluid this vehicle takes.

The structured render the quickstart console shows for the same call. Each row is a field; the highlight walks the ones this vehicle carries.

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
Fields
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)
Generated Oct 18, 2026

fields[]

oil_viscosity
0W-20
oil_capacity_qts
3.7
coolant_type
Honda Long Life Antifreeze/Coolant Type 2
diff_fluid_type
Honda Dual Pump Fluid II (DPSF-II)

Transmission, brake and power-steering fluids arrive the same way when a source specifies them; a field no source lists is absent, never zero.

Confirm specifications against manufacturer service information before performing work.

Same fluids, three identifiers.

The same call three ways. A VIN or a year/make/model resolves to a config_key; from then on, use the key and skip the decode.

identify.sh
GET /v1/fluids?vin=5J6RW2H82KL000007
GET /v1/fluids?year=2019&make=Honda&model=CR-V&trim=EX
GET /v1/fluids?config_key=2019_honda_cr_v_ex_l15be
# no key yet: the same route, free
GET https://vinspeclookup.com/api/sample/v1/fluids?config_key=2019_honda_cr_v_ex_l15be

A year/make/model that fits more than one config answers 409 with the candidates. See Errors.

// IN USE

Where the fields land.

Three places this response ends up, drawn the way the homepage draws its data groups. Every value in the pictures is from the sample above.

The oil line on a work order

oil_viscosity and oil_capacity_qts print straight onto the ticket. No lookup, no “about five quarts”.

Bulk fluid planning

A fleet multiplies oil_capacity_qts by its vehicle count and orders drums of the right viscosity.

A quote that prices the oil change

Capacity times your fluid price, next to the filter part and the labor, out of one response.

// QUESTIONS

Details.

Where do the capacities come from?
From manufacturer and public sources for the exact config (engine and drivetrain), keyed by config_key. Every value carries its source domain and a confidence score. A VIN or year/make/model resolves to that config first, then the fluids are read.
What if a fluid is not specified for a car?
The field is absent from fields[], never zero or a guess. Electric vehicles, for example, return no oil_viscosity.
Is the oil capacity with or without the filter?
The value follows the stated service fill. Where a source lists both, the with-filter figure is used and the label says so.
Can I get fluids and parts in one call?
Yes. GET /v1/vehicle with include=fluids,parts returns both groups in one response, keyed the same way.

// TRY IT

Run this response yourself.

Every window on this page is the sandbox's answer for the reference vehicle. Open the console, pick /v1/fluids, and run it with no key. Ready for live data across any vehicle? Request access.