Extra vehicle info

    Everything we hold about a vehicle's model, beyond what the register carries: fuel tank capacity and the petrol grade it wants, battery capacity and ranges, a summary of the model, the faults it is known for, reliability and serviceability ratings, the manufacturer's service schedule, and what a buyer should inspect and ask the seller before buying one.

    These are worked out per make, model, year and submodel rather than looked up for the individual vehicle, so two vehicles of the same model answer identically. Those four fields come back with the values, which is what says exactly what you have been told about.

    They are estimates. They do not come from the manufacturer, from NZTA or from any other register, and they may be wrong. Treat them accordingly in whatever you build on them.

    This API product is not available for resale of data.

    Request

    <site>/a/vehicle:extra?key=<Developer API Key>&plate=<Plate|VIN>

    • plate — plate or VIN or chassis. Note: chassis are less reliable
    • key — API key
    • mvr — "0" to avoid a trip to the Motor Vehicle Register (MVR) if CarJam fails to source the vehicle internally. Default: "1"
    • charges — if "1", includes the amount charged for this request in the response
    • f — "XML" or "json". Default is JSON

    Response

    The first request for a model you have not asked about before will not carry the values. We have to work them out, which takes longer than a request should be held open for, so that request answers null with a Refresh: <seconds> header. Wait the number of seconds it names and ask again โ€” the values come back on a later poll. This is the same pattern the other vehicle APIs use while the Motor Vehicle Register is being read, so an existing poll loop needs no change.

    Once a model has been worked out, every request for any vehicle of that model is answered straight away.

    Field Description
    plate, vin, chassis The vehicle you asked about
    make, model, submodel, year_of_manufacture The model the values below are about
    fuel_tank_capacity_litres Fuel tank capacity in litres. Empty for a battery electric vehicle
    octane_rating_min Lowest petrol octane rating (RON) the manufacturer says the vehicle may be run on, e.g. 91. Empty for a vehicle that does not run on petrol
    octane_rating_best Petrol octane rating (RON) the engine is tuned for, above which a higher grade gains nothing. The same figure as octane_rating_min where the manufacturer asks for nothing above the minimum, and never lower than it
    battery_capacity_kwh Traction battery capacity in kWh, usable where the manufacturer quotes both. Empty for a vehicle with no traction battery
    ev_range_km Range in kilometres on battery alone. Empty for a vehicle that cannot drive on battery alone
    full_combined_range_km Range in kilometres on a full tank and, where it has one, a full battery
    model_summary What this model and generation is, and how this trim sits within the line-up. Markdown
    what_goes_wrong The faults this model and year is known for, with severity and the mileage they tend to arrive at. Markdown
    reliability_rating 1โ€“10, where 10 is the most reliable
    reliability_rating_explanation The reasoning behind reliability_rating
    serviceability_rating 1โ€“10, where 10 is the easiest to service and maintain in New Zealand
    serviceability_rating_explanation The reasoning behind serviceability_rating
    service_schedule The manufacturer's scheduled maintenance, in the order it falls due. Each entry has title, service_type, mileage (km), time and period (ISO 8601), and details
    inspection_checklist What a buyer should look at on this model before buying one used, in the order a viewing goes. Each entry has area, check (what to look at and how), why (the fault it catches on this model) and red_flags (what a bad result looks like)
    seller_questions What a buyer should ask the seller of this model, most important first. Each entry has question, why, good_answer (what a reassuring answer looks like, and the proof to ask for) and red_flags

    Every field is answered whether or not we hold a value for it, so the shape does not change from one vehicle to the next. A value we do not have comes back as null in JSON and as an empty element in XML. A model too rare for us to work out answers every value empty, however many times it is asked.

    Response example

    {
        "plate": "KTY257",
        "vin": "JM0KF4WLA00115724",
        "chassis": "",
        "year_of_manufacture": "2017",
        "make": "MAZDA",
        "model": "CX-5",
        "submodel": "GSX PTR 2.5P/4WD/6AT",
        "fuel_tank_capacity_litres": 58,
        "octane_rating_min": 91,
        "octane_rating_best": 91,
        "battery_capacity_kwh": null,
        "ev_range_km": null,
        "full_combined_range_km": 770,
        "model_summary": "The CX-5 GSX sits ...",
        "what_goes_wrong": "...",
        "reliability_rating": 8,
        "reliability_rating_explanation": "...",
        "serviceability_rating": 7,
        "serviceability_rating_explanation": "...",
        "service_schedule": [
            {
                "title": "First service",
                "service_type": "Scheduled",
                "mileage": 15000,
                "time": "P1Y",
                "period": "P1Y",
                "details": "Oil and filter."
            }
        ],
        "inspection_checklist": [
            {
                "area": "Test drive",
                "check": "...",
                "why": "...",
                "red_flags": "..."
            }
        ],
        "seller_questions": [
            {
                "question": "...",
                "why": "...",
                "good_answer": "...",
                "red_flags": "..."
            }
        ]
    }

    Error response example

    {
        "code": -1,
        "message": "Missing Developer Key."
    }

    Charges โ€” charges=1

    Returns the charges object:

    Field Description
    cents Amount charged for this request in cents

    Charged at the rate agreed for your account. A request that could not have produced anything โ€” a model too rare for us to work out โ€” is not charged for the values, only for the trip to the Motor Vehicle Register if one was needed. The same plate asked again within the hour is not charged again, however many polls it took to get the values.

    Note:

    • All times and dates are represented as UNIX timestamp.