ApplianceWorth Developer API
Four public lookup endpoints for appliance age, displayed errors, repair planning and rating-label locations.
Make one lookup
Send a JSON body using POST and Content-Type: application/json. No API key is required for these public endpoints. Use the trailing slash shown below to avoid a redirect. These endpoints read reference data; they do not create jobs or change customer records.
curl -X POST 'https://applianceworth.com/api/v1/error-code/' \
-H 'Content-Type: application/json' \
-d '{"brand":"samsung","applianceType":"washer","code":"4C"}'Examples illustrate request syntax. Available results depend on the currently published reference records.
POST /api/v1/appliance-age/
Fields: brand, serial; optional model. String values are expected.
{
"brand": "samsung",
"serial": "0AHQ4BBGB00337B"
}Success fields: year, month, monthName, week, alternateYears, alternateYearsNote, decodedVia, decodedViaNote.
Repeating date codes can produce several plausible years. Keep alternateYears and confidence in your UI. The model currently selects the underlying maker for supported Kenmore prefixes; it does not resolve the production decade for all brands.
Current request limit: 10 per minute per client key for this endpoint.
POST /api/v1/error-code/
Fields: brand, applianceType, code; optional model. String values are expected.
{
"brand": "samsung",
"applianceType": "washer",
"code": "4C"
}Success fields: code, title, meaning, severity, canKeepUsing, likelyCauses, safeChecks, technicianNotes, repairCost.
The current lookup uses brand, appliance type and normalized code or alias. The optional model field is accepted but does not filter the result. Do not describe the response as model-verified. repairCost may be null.
Current request limit: 10 per minute per client key for this endpoint.
POST /api/v1/repair-estimate/
Fields: applianceType, repairType; optional region. String values are expected.
{
"applianceType": "washer",
"repairType": "drain_pump"
}Success fields: applianceType, repairType, min, max, currency, region, labor, parts, diagnosticFee.
region defaults to US-avg, an internal dataset label. It selects a stored range, not a regional multiplier. Null parts, labor or diagnosticFee values mean no breakdown was supplied; they do not mean zero.
Current request limit: 5 per minute per client key for this endpoint.
POST /api/v1/model-location/
Fields: applianceType; optional brand. String values are expected.
{
"applianceType": "washer",
"brand": "samsung"
}Success fields: applianceType, brand, locationText, imageUrl.
A general appliance-type location can be returned when no brand-specific row exists. imageUrl may be null. This is guidance for finding a label, not identification of a particular machine.
Current request limit: 10 per minute per client key for this endpoint.
Responses and failure handling
A successful response has HTTP status 200. Result fields are at the top level, alongside source, confidence, lastUpdated and apiVersion (v1). There is no nested data envelope. The source value identifies the method or dataset; it is not a document citation or a guarantee that a record was independently reviewed on its lastUpdated date.
| HTTP status | Meaning and next step |
|---|---|
| 400 | Malformed JSON or missing/invalid fields. Correct the request. |
| 404 | Unknown item or no published matching record. Show the supplied message; do not invent a result. |
| 422 | Age could not be decoded, no rule is available, or a Kenmore model needs clarification. |
| 429 | Request limit reached. Wait at least the Retry-After number of seconds. |
{
"error": "invalid_json",
"message": "Request body must be valid JSON.",
"apiVersion": "v1"
}Handle a non-JSON response, a network timeout or an unexpected server error as temporary unavailability. Avoid tight retry loops. Limits are enforced in memory per server process and may reset on restart; that is not an invitation to bypass them. Bulk exports and an uptime guarantee are not offered.
Present uncertainty with the result
Keep alternative years, confidence, safety guidance and missing-value warnings visible. A code is not a diagnosis, a date pattern is not a warranty record, and a price range is not a quote. Send only the fields needed for the lookup, without names, addresses or customer notes. See the methodology, privacy policy and correction process.