Heat Pump Output from COP Calculator
This heat pump output from COP calculator converts electrical input into delivered heating output using the coefficient of performance.
Run — free
Enter electrical energy or power and a COP of at least one; the result uses the same unit as the electrical input. For example, kilowatts in produces kilowatts of heat out, while kilowatt-hours in produces kilowatt-hours of delivered heat. The calculation is deterministic and suitable for quick equipment comparisons, energy estimates, and repeatable API workflows.
Understand what COP says about heat output
A heat pump moves heat rather than producing all of it directly from electricity. Its coefficient of performance, usually shortened to COP, expresses the ratio of useful heat delivered to electrical input under a stated operating condition. A COP of 3.8 means that each unit of electricity corresponds to 3.8 units of delivered heat. The extra heat is transferred from the outdoor air, ground, or water source; the number does not imply that energy has been created. This calculator applies the relationship delivered heat = electrical input × COP. Because COP is dimensionless, the output retains the input unit. If electrical input is 2.5 kilowatts, the result is 9.5 kilowatts of thermal output. If input is 2.5 kilowatt-hours over a period, the result is 9.5 kilowatt-hours of delivered heat for that period. Keep power and energy interpretations separate, because multiplying an instantaneous power value does not by itself calculate seasonal energy consumption.
Choose inputs that describe the same operating period
Use an electrical input figure that matches the question you are answering. For equipment output at a particular condition, enter electrical power such as watts or kilowatts and use the COP reported for that same outdoor temperature, water temperature, flow condition, and compressor state. For energy delivered during an hour, day, or billing period, enter electrical energy and use a COP representative of that period. The calculator deliberately does not convert units, so the input label is flexible but consistency is essential: watts return watts, kilowatts return kilowatts, and kilowatt-hours return kilowatt-hours. Do not enter a seasonal performance factor as though it were a laboratory COP unless that broader average is genuinely appropriate for the estimate. COP commonly changes with the temperature lift, defrost cycles, part-load behavior, auxiliary heaters, and circulation equipment. When comparing two systems, use figures measured under comparable test conditions and confirm whether pumps, fans, or backup resistance heat are included in the quoted electrical input.
Interpret the result and validation rules
The returned delivered heat is a theoretical result for the two numbers supplied, not a guarantee of field performance. A design estimate should still account for building heat loss, emitter temperatures, weather variation, cycling, defrost, distribution losses, and any auxiliary electricity excluded from the COP rating. This capability rejects a COP below one because the intended heat-pump heating calculation requires a coefficient of performance of at least one. It also rejects missing, blank, infinite, and non-numeric COP values instead of producing a misleading result. Electrical input must be a finite number that is zero or greater. Zero is permitted and returns zero delivered heat, which is useful for data pipelines that include inactive intervals. For automated use, the API costs $0.002 per request and returns the normalized electrical input, COP, and delivered heat, making the inputs visible beside the result for auditability. Preserve the unit in your surrounding data model because the calculator cannot infer whether a bare number represents watts, kilowatts, joules, or kilowatt-hours.
What you can do with it
Estimate rated heating capacity
Multiply a heat pump's electrical power by its COP at a specified test condition to estimate thermal power output in the same power unit.
Convert metered electricity into delivered heat
Apply a representative period COP to kilowatt-hours of electrical input to estimate kilowatt-hours of useful heat delivered.
Compare operating scenarios
Calculate how different COP assumptions change delivered heat when electrical input is held constant across comparable operating conditions.
FAQ
What formula does the calculator use?
It uses delivered heat = electrical input × COP. COP is dimensionless, so the output has the same unit as the electrical input.
Can I enter kilowatts or kilowatt-hours?
Yes. Enter power to receive thermal power, or energy to receive delivered thermal energy. Do not mix power and energy in the same calculation.
Why must COP be at least one?
This capability models heat-pump heating output and treats values below one as invalid for that intended calculation rather than returning a potentially misleading result.
Does this predict seasonal heat output?
Only if the electrical input and COP both represent the same season or period. A single-condition rated COP usually does not represent changing weather and operating states.
What does the API request cost?
Each API request costs $0.002. The same deterministic calculation can also run free in the browser.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/earth/heat-pump-cop-output \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"electrical_input":2.5,"cop":3.8}'const res = await fetch("https://api.kit.forhosting.com/earth/heat-pump-cop-output", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"electrical_input": 2.5,
"cop": 3.8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/heat-pump-cop-output",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"electrical_input": 2.5,
"cop": 3.8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/heat-pump-cop-output", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"electrical_input":2.5,"cop":3.8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"electrical_input":2.5,"cop":3.8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/heat-pump-cop-output", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"electrical_input": 2.5,
"cop": 3.8
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.heat_pump_cop_output",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |