---
title: "Sizes an off-grid solar power system by calculating the number of panels and battery bank capacity required for a given daily energy consumption. Accounts for system losses (inverter, wiring, charge controller), battery depth-of-discharge, and autonomy days for cloudy weather. Outputs panel count, total panel wattage, battery capacity in kWh and Ah, and minimum charge controller amperage (with 25% safety margin per NEC 690.8). Supports 12V, 24V, and 48V system architectures. Use for cabin, RV, telecom tower, and remote IoT deployments."
method: POST
path: "/api/solar_sizing"
tags: ["power"]
---

# Sizes an off-grid solar power system by calculating the number of panels and battery bank capacity required for a given daily energy consumption. Accounts for system losses (inverter, wiring, charge controller), battery depth-of-discharge, and autonomy days for cloudy weather. Outputs panel count, total panel wattage, battery capacity in kWh and Ah, and minimum charge controller amperage (with 25% safety margin per NEC 690.8). Supports 12V, 24V, and 48V system architectures. Use for cabin, RV, telecom tower, and remote IoT deployments.

`POST /api/solar_sizing`

## Request

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

## Request body

- object
  - `daily_kwh` number, required: Daily energy consumption in kilowatt-hours (kWh)
  - `peak_sun_hours` number: Average peak sun hours per day for your location (hours)
  - `panel_watts` number: Rated wattage per solar panel (W)
  - `system_voltage` unknown
  - `battery_autonomy_days` number: Number of days the battery bank should sustain load without solar input
  - `dod` number: Battery depth of discharge (0-1), default 0.8 for LiFePO4
  - `system_efficiency` number: Overall system efficiency (0-1), accounts for inverter, wiring, and controller losses

## Response `200`

Computed result for solar_sizing

- object
  - `result` object, required
    - `panels_needed` number, required: Number of solar panels required (rounded up)
    - `total_panel_watts` number, required: Total installed panel wattage (W)
    - `battery_kwh` number, required: Required battery bank capacity in kWh (before DoD)
    - `battery_ah` number, required: Required battery bank capacity in amp-hours at system voltage
    - `charge_controller_amps` number, required: Minimum charge controller current rating in amps (with 25% margin)
    - `daily_solar_kwh` number, required: Daily solar energy needed after accounting for system losses (kWh)
  - `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)
