All posts Developers

Building an Appliance Verification Workflow with the ApplianceIQ API

api.applianceiq.com $curl-X POST \ api.applianceiq.com/v1/lookup \ -H "X-API-Key: $KEY" \ -d '{"model":"WF45T6000AW"}' { "manufacturing_date": "2021/05" } 200 OK · 812ms · cached REST API · 12 DATA POINTS
Quick answer

One REST endpoint takes a model + serial and returns 12 verified data points — unlocking appliance-aware features in insurance underwriting, IoT onboarding, marketplace verification, and property-tech. p50 latency under 800ms cached. Predictable per-call pricing. 138 brands. No enterprise dance required.

API Overview

ApplianceIQ exposes a REST API at api.applianceiq.com/v1. Four endpoints cover the full product:

ApplianceIQ API endpoints
MethodPathPurpose
POST/v1/lookupFull 12-field appliance profile from model + serial
GET/v1/recalls/{model}Recall data only — faster and cheaper for recall-only use cases
POST/v1/ocr/labelImage → extracted model + serial → full profile
GET/v1/rate-limit-infoCurrent usage window — calls made, remaining, reset timestamp
800ms
p50 latency for cached lookups. Fresh (uncached) lookups run under 4 seconds. Results cached 90 days across all customers.

Authentication

All requests require an API key in the X-API-Key header. Generate separate keys for development and production environments — never expose your production key in client-side code.

# All requests curl -H "X-API-Key: $APPLIANCEIQ_KEY" -H "Content-Type: application/json" https://api.applianceiq.com/v1/lookup

The Canonical Lookup

The /v1/lookup endpoint is the workhorse. POST model_number and optional serial_number, receive all 12 fields:

# Request curl -X POST https://api.applianceiq.com/v1/lookup -H "X-API-Key: $APPLIANCEIQ_KEY" -H "Content-Type: application/json" -d '{"model_number":"WF45T6000AW","serial_number":"0H9E4ABTA00271L"}' # Response { "brand": "Samsung", "category": "Washing Machine", "product_name": "4.5 cu. ft. Front Load Washer", "manufacturing_date": "2021/05", "age": { "years": 4, "months": 11 }, "recalls": [], "recall_status": "none", "user_manual": { "url": "https://...", "verified": true }, "estimated_remaining_life": { "years": 6.2 }, "overall_confidence": 0.94, "sources": ["gov_safety_db", "Samsung OEM DB", "PartSelect"], "cached": true, "cache_age_days": 14 }

OCR Endpoint

The /v1/ocr/label endpoint accepts a base64-encoded image of an appliance nameplate and returns extracted brand, model, and serial — which you then pass to /v1/lookup for the full profile. Ideal for mobile apps, self-service portals, and field tech tools where the user can photograph the label rather than manually transcribe it.

const imageB64 = /* base64-encoded label photo */; const ocrResult = await fetch( 'https://api.applianceiq.com/v1/ocr/label', { method: 'POST', headers: { 'X-API-Key': key }, body: JSON.stringify({ image: imageB64 }) } ); // { brand: "Samsung", model_number: "WF45T6000AW", serial_number: "0H9E..." } const profile = await lookupAppliance(ocrResult.model_number, ocrResult.serial_number);

Webhooks for Recall Changes

Subscribe to recall events by model number. When a model in your indexed database receives a new CPSC recall, ApplianceIQ POSTs to your endpoint within 60 seconds. Available on Startup and Scale tiers.

# Webhook payload example { "event": "recall.new", "model_number": "WF45T6000AW", "recall_id": "CPSC-2026-001234", "recall_description": "Fire hazard — control board overheat", "units_affected": 145000, "manufacturer_contact": "1-800-726-7864", "affected_date_range": { "from": "2020-01", "to": "2024-08" } }

Example Integrations

  • Insurance underwriting: At policy application, verify appliance age and recall status from customer-provided model + serial. Flag out-of-age or recalled appliances for underwriter review before binding coverage.
  • IoT device onboarding: When a connected appliance registers on your platform (via Wi-Fi setup flow), call /v1/lookup with the model + serial from the device's registration data. Automatically associate warranty, recall, and lifespan data with the device record.
  • Used-appliance marketplace: At listing time, verify seller-provided appliance details and flag recalled units before they appear in search results. Recall-checked listings convert better — buyers trust the platform.
  • Real-estate listing enrichment: At MLS listing creation, run /v1/lookup on each appliance listed in the property details. Add age, recall status, and lifespan estimates to the listing data layer.

Error Handling

ApplianceIQ uses standard HTTP status codes. Key cases to handle:

  • 200 OK with overall_confidence < 0.5: Data returned but low confidence — flag for manual review rather than auto-populating downstream systems
  • 404 Not Found: Model number not in database (138 brands covered; niche or regional brands may return 404)
  • 429 Too Many Requests: Rate limit hit — implement exponential backoff
  • 503 Service Unavailable: Temporary — retry after delay; check status.applianceiq.com

Rate Limits and Pricing

Dev tier: 100 free lookups/month, $0.05/call after. Startup tier: $99/month for 5,000 lookups, $0.04/call overage. Scale: custom volume pricing. Recall-only calls to /v1/recalls do not count against the lookup quota. Check /v1/rate-limit-info before bulk jobs to avoid mid-job throttling.

$0.05
Per-call pricing on the Dev tier — no minimum commitment, no enterprise contract required to get started.

Frequently Asked Questions

Is there a sandbox environment?
Yes — use the base URL api-sandbox.applianceiq.com with your dev-tier key. Sandbox returns deterministic mock data for a standard set of test model numbers.
Are there official SDKs?
Official SDKs for Node.js and Python are available. The REST API is simple enough to call directly with fetch/requests — no SDK required.
What's the SLA?
99.9% uptime SLA on Startup and Scale tiers. Dev tier has best-effort availability. Status at status.applianceiq.com.
Does the API schema change without notice?
No. Breaking changes require a new API version (/v2/) with a minimum 90-day deprecation window. Non-breaking additions (new response fields) may be added to existing versions — design your parser to ignore unknown fields.
Can I get a sample CSV of model + serial pairs for testing?
Yes — contact the developer team via the contact page for a test CSV covering all 138 brands with known manufacturing dates.
200 UNITS · 32 FLAGGED FOR REPLACEMENT $72.4K · 3-yr capex forecast