The outdoor design temperatures and quick load numbers HVAC contractors and estimators actually need — from a US address or ZIP, in one JSON call. No account, no key required to try it.
Base URL: https://fieldwork-hvac-ellington.netlify.app
GET /design-temp
Outdoor ASHRAE-family design conditions for a US location. Provide address or zip.
| Param | Type | Notes |
|---|---|---|
address | string | US street address or "City, ST". Geocoded via the keyless US Census geocoder. |
zip | string | 5-digit US ZIP. Higher precision than address when it hits a metro override. |
curl "https://fieldwork-hvac-ellington.netlify.app/design-temp?zip=20500"
{
"location": {
"resolvedPlace": "Washington DC, DC",
"lat": 38.9, "lon": -77.04,
"zip": "20500"
},
"elevationFt": 30,
"design": {
"heatingWinter99F": 17,
"coolingSummer1F": 94,
"coolingGrainsDifference": 34,
"units": "°F dry-bulb",
"definition": "Winter 99% heating / summer 1% cooling design dry-bulb temperatures."
},
"confidence": "state-representative",
"method": "state headline station (DC)",
"source": "built-in ASHRAE-family climate table",
"disclaimer": "Representative ASHRAE-family design conditions ..."
}
curl "https://fieldwork-hvac-ellington.netlify.app/design-temp?address=Denver,+CO"
GET /quick-load
A quick, honest whole-house Manual-J-style block load from a handful of facts. Not a stamped room-by-room Manual J.
| Param | Type | Notes |
|---|---|---|
zip required | string | US ZIP — sets the outdoor design temps. |
sqft required | number | Conditioned area, 200–25000. |
year | number | Year built → construction era (insulation, windows, tightness). Default era: 1990–2009. |
stories | 1 | 2 | Default 1. |
glazing | light | average | lots | Glass as a share of floor area. Default average. |
ducts | conditioned | attic | crawl | basement | Where the ducts run. Default attic. |
curl "https://fieldwork-hvac-ellington.netlify.app/quick-load?zip=20500&sqft=2400&year=1968&stories=2&ducts=attic"
{
"load": {
"heatingBtuh": 78000,
"coolingBtuh": 51000,
"coolingTons": 4.25,
"nominalTons": 4.5,
"requiredCoolingCFM": 1650
},
"designTemps": {
"heatingWinter99F": 17,
"coolingSummer1F": 94,
"resolvedPlace": "Washington DC, DC",
"confidence": "state-representative"
},
"assumptions": {
"sqft": 2400, "stories": 2, "era": "Before 1970",
"construction": "2x4_uninsulated, attic_r19, double_clear",
"basis": "Simple block load from home size + era defaults. ..."
},
"basis": "Quick block-load estimate from home size + construction era. NOT a stamped room-by-room Manual J."
}
Illustrative values — exact numbers depend on the engine version.
curl "https://fieldwork-hvac-ellington.netlify.app/health"
Every response says how the numbers were resolved. Design temps are representative ASHRAE-family conditions for a regional station — not the exact ASHRAE station for every ZIP. Read the confidence field:
| confidence | meaning |
|---|---|
| zip-region | ZIP fell in a finer metro override (e.g. Northern Virginia, Houston, Fresno) — most specific. |
| state-representative | State headline station (e.g. Denver for CO). Good state-level default; intra-state microclimate not resolved. |
| nearest-station | Resolved from coordinates to the nearest representative station (address path with no ZIP). |
For a permit-stamped Manual J, verify design temps against the ACCA/ASHRAE table for the specific station.
JSON, with a clear message. 400 = bad input (says what's wrong), 404 = address not geocodable,
422 = non-US / unresolvable location, 405 = non-GET.
{ "error": "bad_request", "message": "sqft out of range (200–25000).", "detail": { "sqft": 99 } }