Fault Code API — for Apps, Catalogs and Workshop Tools

The same source-cited library behind this website, as a simple JSON API: 913 fault codes across 12 brands of forklifts, excavators, loaders and engine controllers. Every record carries the code’s meaning, the machine system it applies to, known causes where published, and the source document it was taken from — many entries dual-source verified against factory service manuals, the rest labeled single-source. Built for workshop apps, fleet-maintenance tools, parts catalogs and diagnostic assistants that need structured, citable data instead of scraped forum posts.

Try it now — live examples

These links hit the production API. Click one and you get real JSON back:

Endpoints

EndpointWhat it doesParameters
GET /brandsList all brands covered, with the fault-code count per brand.none
GET /lookupLook up one fault code for one brand — the core endpoint.brand (required, slug below), code (required, case-insensitive), fmi (optional, for Caterpillar PID/SID+FMI style codes)
GET /codesList / browse all codes of one brand, paginated — for apps that sync the dataset.brand (required), limit (default 100, max 500), offset (default 0)
GET /fmiSAE J1939 FMI (Failure Mode Identifier) reference table, FMI 0–21.fmi (optional; omit to return the full table)

Not-found lookups return HTTP 404 with {"found": false}. Brand slugs:

BrandSlugCodes
Toyotatoyota167
Caterpillarcaterpillar147
Cumminscummins141
Komatsukomatsu116
ZAPIzapi108
XCMGxcmg49
Curtiscurtis47
LiuGongliugong40
Hangchahangcha35
Heliheli33
SDLGsdlg16
Sanysany14

Example responses (captured live from the API)

GET /brands

{
  "brands": [
    { "slug": "toyota",      "name": "Toyota",      "count": 167 },
    { "slug": "caterpillar", "name": "Caterpillar", "count": 147 },
    { "slug": "cummins",     "name": "Cummins",     "count": 141 },
    { "slug": "komatsu",     "name": "Komatsu",     "count": 116 },
    { "slug": "zapi",        "name": "ZAPI",        "count": 108 },
    { "slug": "xcmg",        "name": "XCMG",        "count": 49 },
    { "slug": "curtis",      "name": "Curtis",      "count": 47 },
    { "slug": "liugong",     "name": "LiuGong",     "count": 40 },
    { "slug": "hangcha",     "name": "Hangcha",     "count": 35 },
    { "slug": "heli",        "name": "Heli",        "count": 33 },
    { "slug": "sdlg",        "name": "SDLG",        "count": 16 },
    { "slug": "sany",        "name": "Sany",        "count": 14 }
  ]
}

GET /lookup?brand=toyota&code=30-1

{
  "found": true,
  "count": 1,
  "results": [
    {
      "brand": "Toyota",
      "brand_slug": "toyota",
      "code": "30-1",
      "title": "DCR_LH low voltage",
      "meaning": "Traveling AC driver 1 (DCR_LH) low voltage. Vehicle effect per manual: traveling disabled.",
      "system": "7FBEF15-20 electric forklift (AC drive)",
      "causes": "",
      "source": "Toyota 7FBEF15-20 Service Manual (2003), Diagnosis Code List",
      "source_url": "https://www.scribd.com/document/453189205/Toyota-7FBEF15-y-20-Ingles-2003-pdf",
      "verification": "single-source"
    }
  ]
}

GET /codes?brand=komatsu&limit=2 (trimmed for length)

{
  "brand": "Komatsu",
  "total": 116,
  "limit": 2,
  "offset": 0,
  "results": [
    {
      "brand": "Komatsu",
      "brand_slug": "komatsu",
      "code": "E01",
      "title": "Automatic mode system fault (HYPER)",
      "meaning": "Fault in the automatic mode system of the HYPER system (user code, displayed automatically when the fault occurs).",
      "system": "PC200-6/PC200-7 excavator (HYPER, user code)",
      "source": "SINOCMP – Komatsu PC200-7 Error Code on the Monitor",
      "verification": "dual-source verified"
    }
  ]
}

GET /fmi?fmi=11

{
  "found": true,
  "fmi": 11,
  "meaning": "Root cause not known",
  "standard": "SAE J1939 FMI"
}

Pricing

PlanPriceIncluded
Free (evaluation)$0100 requests/month, 10 requests/minute — enough to integrate and test
Pro$25/month10,000 requests/month (overage $0.005/request)
Ultra$75/month50,000 requests/month (overage $0.002/request)

Need a full offline dataset license or higher volume? Ask — custom terms for catalog and fleet platforms.

Get an API key

The API is in an early-access phase: keys are issued personally while we learn who uses the data and for what. Send a short note with what you are building — email zyouzhi04@gmail.com or message us on WhatsApp — and you will get a Free-tier key and the base URL for your integration.

Data licensing note: records carry their source attribution (see the source / source_url fields) and that attribution must be kept in downstream products. CodeMechanic is an independent reference, not affiliated with any manufacturer.