---
title: "Estimate the cooling load (BTU/hr) for a homelab or server closet based on equipment wattage, room dimensions, insulation quality, and solar exposure. All electrical power converts to heat — this tool calculates equipment heat output, envelope heat gain through walls, and solar gain to produce a total BTU/hr cooling requirement. Recommends AC tonnage, mini-split sizing (rounded to standard 6K BTU increments), and exhaust fan CFM for ventilation-only cooling. Use after power_cost to size cooling for your homelab room."
method: POST
path: "/api/cooling_btu"
tags: ["homelab"]
---

# Estimate the cooling load (BTU/hr) for a homelab or server closet based on equipment wattage, room dimensions, insulation quality, and solar exposure. All electrical power converts to heat — this tool calculates equipment heat output, envelope heat gain through walls, and solar gain to produce a total BTU/hr cooling requirement. Recommends AC tonnage, mini-split sizing (rounded to standard 6K BTU increments), and exhaust fan CFM for ventilation-only cooling. Use after power_cost to size cooling for your homelab room.

`POST /api/cooling_btu`

## Request

- Base URL: `https://calc.engineer`
- URL: `https://calc.engineer/api/cooling_btu`
- Auth: none declared

## Request body

- object
  - `total_watts` number, required: Total power consumption in watts — all power becomes heat
  - `room_length_ft` number: Room length in feet
  - `room_width_ft` number: Room width in feet
  - `room_height_ft` number: Room ceiling height in feet
  - `insulation` 'poor' | 'average' | 'good' | 'excellent': Wall/ceiling insulation quality: poor (uninsulated garage), average (standard drywall), good (insulated interior), excellent (server room with vapor barrier)
  - `ambient_temp_f` number: Ambient temperature outside the room in degrees Fahrenheit
  - `target_temp_f` number: Desired room temperature in degrees Fahrenheit
  - `sun_exposure` 'none' | 'partial' | 'full': Solar heat gain: none (interior/basement room), partial (one exterior wall with window), full (multiple sun-facing windows)

## Response `200`

Computed result for cooling_btu

- object
  - `result` object, required
    - `equipment_btu` number, required: Heat generated by equipment in BTU/hr (watts * 3.412)
    - `envelope_btu` number, required: Heat gain/loss through walls based on room size, insulation, and delta-T
    - `total_btu` number, required: Total cooling load in BTU/hr (equipment + envelope + sun)
    - `ac_tons` number, required: Cooling capacity needed in tons of refrigeration (1 ton = 12,000 BTU/hr)
    - `mini_split_btu_recommended` number, required: Recommended mini-split size rounded up to nearest 6,000 BTU increment
    - `exhaust_cfm_needed` number, required: Exhaust fan airflow needed in cubic feet per minute if using ventilation instead of AC
    - `will_overheat` boolean, required: True if total heat load is positive and no cooling is provided
  - `tool` string, required
  - `version` string, required
  - `computed_at` string, date-time, required
  - `chain` object, required
    - `feeds` unknown[]
      - unknown
    - `accepts_from` unknown[]
      - unknown

## Other responses

- `400`: Validation error or invalid JSON
- `404`: Tool not found

---

[API](https://skmtc.dev/calc/apis/calc-engineer-api.md) · [All operations](https://skmtc.dev/calc/apis/calc-engineer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/calc/apis/calc-engineer-api/revisions/8830480ec488?raw)
