Free · No key · Open data

The car inspection API

A structured pre-purchase inspection checklist in five languages, curated model-specific known defects, inspection scoring, and VIN decoding — as plain JSON, with no sign-up and no API key.

OpenAPI 3.1 CORS enabled CC-BY-4.0 EN · PT · RU · UK · FR 60 req/min per IP

Start with one request

No key, no account, no header. Base URL: https://api.elgarde.com/api.

# What should I check on a 2015 VW Golf diesel?
curl "https://api.elgarde.com/api/v1/checklist?fuel=diesel&make=Volkswagen&model=Golf&lang=en"

# Just the model's known weak points
curl "https://api.elgarde.com/api/v1/defects?make=Peugeot&model=208"

Adaptive, not generic

The checklist changes with the car: a diesel gets DPF and glow-plug items, an EV gets state-of-health and charging items, and a known model gets its own documented weak points.

Five languages

Every checklist item is authored in English, Portuguese, Russian, Ukrainian and French — not machine-translated at request time.

Open canon

The data and the scoring specification live in a public repository under CC-BY, with a conformance suite every implementation must pass.

Endpoints

Four public endpoints under /v1. Everything else on the service belongs to the Elgarde app and requires authentication.

GET /v1/checklist

The assembled inspection checklist: base groups, the fuel-specific module, and the known-defect group when the make and model match a curated rule. Two levels of grouping, 1–5 scoring, critical items flagged.

ParameterDescription
langen · pt · ru · uk · fr. Anything else falls back to English.
fuelpetrol · diesel · hybrid · ev · other. Adds the matching module.
make, modelFree text. When they match a curated rule, the model's known defects are appended.
{
  "lang": "en",
  "car": { "make": "Volkswagen", "model": "Golf", "fuelType": "diesel" },
  "itemCount": 33,
  "groups": [
    {
      "id": "ext", "order": 0, "title": "Exterior", "aggregation": "average",
      "children": [
        {
          "id": "ext.body", "order": 0, "title": "Body & paint",
          "items": [
            { "id": "ext.body.panels", "order": 0,
              "prompt": "Panel gaps even, no misalignment", "critical": false },
            { "id": "ext.body.rust", "order": 2,
              "prompt": "No rust or corrosion", "critical": true }
          ]
        }
      ]
    }
  ],
  "attribution": { "source": "Elgarde", "url": "https://elgarde.com",
                     "license": "CC-BY-4.0" }
}

GET /v1/defects

Curated, model-specific weak points — the DQ200 dry clutch, the PureTech wet belt, the N47 timing chain. Critical entries are the ones that make a car worth walking away from.

ParameterDescription
make, modelFree text, matched case-insensitively against the curated rules.
langen · pt. Defect text is authored in those two; other languages fall back to English.
{
  "matched": true,
  "ruleId": "psa-known-issues",
  "label": "PSA known issues",
  "defects": [
    { "id": "puretech.wetbelt", "critical": true,
      "text": "PureTech 1.2 wet timing belt — degrades into the oil pump" },
    { "id": "ep6.chain", "critical": false,
      "text": "1.6 THP (EP6) timing chain + carbon build-up on valves" }
  ]
}

An empty result is not a clean bill of health. It means nothing is curated for that model yet.

POST /v1/score

Rolls a sheet of answers into per-group scores and one overall verdict. Answers are 15, or -1 for not applicable and -2 for not inspected. A failed critical item clamps the verdict down regardless of the average — a car can average 4.9 and still be a 1.

curl -X POST "https://api.elgarde.com/api/v1/score" \
  -H "Content-Type: application/json" \
  -d '{"make":"Volkswagen","model":"Golf","fuelType":"diesel",
       "scores":{"docs.all.mileage":1,"ext.body.rust":4}}'

{ "overall": 1.0, "overallBeforeClamp": 2.5,
  "clampedBy": ["docs.all.mileage"],
  "answered": 2, "total": 33 }

GET /v1/vin/{vin}

Normalises the free NHTSA vPIC dataset into a usable shape: make, model, year, fuel type, body style, engine. vPIC is US-centric and thin on European models, so partial results with nulls are normal rather than an error. Responses are cached for 24 hours.

curl "https://api.elgarde.com/api/v1/vin/WVWZZZ1KZAW000001"

{ "source": "nhtsa-vpic",
  "car": { "vin": "WVWZZZ1KZAW000001", "make": "VOLKSWAGEN",
            "model": "Golf", "year": 2015, "fuelType": "diesel",
            "bodyStyle": "estate", "engine": "2.0L 4cyl" } }

GET /v1/meta

Canon version, supported languages, how many defect rules and entries are curated, and the attribution block. Useful as a health check and for cache invalidation.

Limits, licence and attribution

Rate limits

60 requests per minute per IP, and 15 per minute for VIN decoding, which calls a third-party service. Over the limit you get 429 with a Retry-After header. The checklist and defect data are static — please cache them.

Licence

The data is CC-BY-4.0. Use it commercially, embed it, ship it in your product — just keep the attribution to elgarde.com that every response carries.

Stability

The /v1 shape is additive: new fields may appear, existing ones will not change meaning. Item ids are permanent — they are how an inspection stays comparable over time.

What this API is not. Elgarde is a self-service checklist, not a certified, mechanical or legal inspection, and not professional advice. Defect entries describe known weak points on a model — never a claim about an individual car. It is not a vehicle-history or title service. The full limits are in the inspection disclaimer.

The data is open

The checklist content, the defect rules and the scoring specification are one canonical, versioned dataset. Every implementation — this API, the Elgarde app, and each language port — is checked against the same conformance vectors, so a score computed here and a score computed in the app are the same number.

Checklist taxonomy

Grouped inspection items with per-item criticality and 1–5 scoring, authored in five languages.

Model defect corpus

Curated known weak points for common European used models, with provenance ids and a critical flag.

Scoring specification

Weighted, average and worst-case group rollups plus the critical clamp, written down and pinned by test vectors.