Get Forecast Rooftop PV

View as Markdown
GET/data/forecast/rooftop_pv_power

Get basic rooftop PV power forecasts from the present time up to 14 days ahead for the requested location, derived from satellite (clouds and irradiance over non-polar continental areas, nowcasted for approx. four hours ahead) and numerical weather models (other data and longer horizons).

The basic rooftop power simulation is only suitable for residential and smaller C&I rooftop sites, not for grid-scale sites.

Query Parameters

12 fields
latituderequired
number (double)

The latitude of the location you request data for. Must be a decimal number between -90 and 90.

longituderequired
number (double)

The longitude of the location you request data for. Must be a decimal number between -180 and 180.

capacityrequired
number (float)

The capacity of the inverter (AC) or the modules (DC), whichever is greater, in kilowatts (kW).

hours
integer (int32)

The number of hours to return in the response.

period
string

Length of the averaging period in ISO 8601 duration format. Default is PT30M.

Accepted values
PT5M PT10M PT15M PT20M PT30M PT60M
tilt
number (float)

The angle (degrees) that the PV system is tilted off the horizontal. A tilt of 0 means the system faces directly upwards, and 90 means the system is vertical and facing the horizon. If you don't specify tilt, we use a default tilt angle based on the latitude you specify in your request. Must be between 0 and 90.

azimuth
number (float)

The azimuth is defined as the angle (degrees) from true north that the PV system is facing. An azimuth of 0 means the system is facing true north. Positive values are anticlockwise, so azimuth is -90 for an east-facing system and 135 for a southwest-facing system. If you don't specify an azimuth, we use a default value of 0 (north facing) in the southern hemisphere and 180 (south-facing) in the northern hemisphere.

install_date
string

The date (yyyy-MM-dd) of installation of the PV system. We use this to estimate your loss_factor based on the ageing of your system. If you provide us with a loss_factor directly, we will ignore this date.

loss_factor
number (float)

Default is 0.90 A factor to reduce your output forecast from the full capacity based on characteristics of the PV array or inverter. This is effectively the non-temperature loss effects on the nameplate rating of the PV system, including inefficiency and soiling. For a 1kW PV system anything that reduces 1000W/m2 solar radiation from producing 1000W of power output (assuming temperature is 25C). Valid values are between 0 and 1 (i.e. 0.6 equals 60%). If you specify 0.6 your returned power will be a maximum of 60% of AC capacity.

output_parameters
string[]

The output parameters to include in the response.

Accepted values
pv_power_rooftop pv_power_rooftop10 pv_power_rooftop90
terrain_shading
boolean

If true, irradiance parameters are modified based on the surrounding terrain from a 90m-horizontal-resolution digital elevation model. The direct component of irradiance is set to zero when the beam from the sun is blocked by the terrain. The diffuse component of irradiance is reduced throughout the day if the sky view at the location is significantly reduced by the surrounding terrain. Global irradiance incorporates both effects.

format
string

Response format. Default is HTML if not supplied.

Accepted values
jsoncsv

Responses

200

OK

ForecastsDataResponse
forecasts
object[]optional

GET/data/forecast/rooftop_pv_power

Request
curl -X GET "https://api.solcast.com.au/data/forecast/rooftop_pv_power?latitude=-33.8567&longitude=151.2152&capacity=1&output_parameters=pv_power_rooftop&hours=24&period=PT60M" \
  -H "Authorization: Bearer $API_KEY"
Response
live example
200
{
  "forecasts": [
    {
      "pv_power_rooftop": 0.646,
      "period_end": "2026-07-30T01:00:00.0000000Z",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.697,
      "period_end": "2026-07-30T02:00:00.0000000Z",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.696,
      "period_end": "2026-07-30T03:00:00.0000000Z",
      "period": "PT60M"
    }
  ]
}

Get Live Rooftop PV

View as Markdown
GET/data/live/rooftop_pv_power

Get basic rooftop PV power estimated actuals for near real-time and past 7 days for the requested location, derived from satellite (clouds and irradiance over non-polar continental areas) and numerical weather models (other data).

The basic rooftop power simulation is only suitable for residential and smaller C&I rooftop sites, not for grid-scale sites.

Query Parameters

12 fields
latituderequired
number (double)

The latitude of the location you request data for. Must be a decimal number between -90 and 90.

longituderequired
number (double)

The longitude of the location you request data for. Must be a decimal number between -180 and 180.

capacityrequired
number (float)

The capacity of the inverter (AC) or the modules (DC), whichever is greater, in kilowatts (kW).

hours
integer (int32)

The number of hours to return in the response.

period
string

Length of the averaging period in ISO 8601 duration format. Default is PT30M.

Accepted values
PT5M PT10M PT15M PT20M PT30M PT60M
tilt
number (float)

The angle (degrees) that the PV system is tilted off the horizontal. A tilt of 0 means the system faces directly upwards, and 90 means the system is vertical and facing the horizon. If you don't specify tilt, we use a default tilt angle based on the latitude you specify in your request. Must be between 0 and 90.

azimuth
number (float)

The azimuth is defined as the angle (degrees) from true north that the PV system is facing. An azimuth of 0 means the system is facing true north. Positive values are anticlockwise, so azimuth is -90 for an east-facing system and 135 for a southwest-facing system. If you don't specify an azimuth, we use a default value of 0 (north facing) in the southern hemisphere and 180 (south-facing) in the northern hemisphere.

install_date
string

The date (yyyy-MM-dd) of installation of the PV system. We use this to estimate your loss_factor based on the ageing of your system. If you provide us with a loss_factor directly, we will ignore this date.

loss_factor
number (float)

Default is 0.90 A factor to reduce your output forecast from the full capacity based on characteristics of the PV array or inverter. This is effectively the non-temperature loss effects on the nameplate rating of the PV system, including inefficiency and soiling. For a 1kW PV system anything that reduces 1000W/m2 solar radiation from producing 1000W of power output (assuming temperature is 25C). Valid values are between 0 and 1 (i.e. 0.6 equals 60%). If you specify 0.6 your returned power will be a maximum of 60% of AC capacity.

output_parameters
string[]

The output parameters to include in the response.

Accepted values
pv_power_rooftop pv_power_rooftop10 pv_power_rooftop90
terrain_shading
boolean

If true, irradiance parameters are modified based on the surrounding terrain from a 90m-horizontal-resolution digital elevation model. The direct component of irradiance is set to zero when the beam from the sun is blocked by the terrain. The diffuse component of irradiance is reduced throughout the day if the sky view at the location is significantly reduced by the surrounding terrain. Global irradiance incorporates both effects.

format
string

Response format. Default is HTML if not supplied.

Accepted values
jsoncsv

Responses

200

OK

EstimatedActualsDataResponse
estimated_actuals
object[]optional

GET/data/live/rooftop_pv_power

Request
curl -X GET "https://api.solcast.com.au/data/live/rooftop_pv_power?latitude=-33.8567&longitude=151.2152&capacity=1&output_parameters=pv_power_rooftop&hours=24&period=PT60M" \
  -H "Authorization: Bearer $API_KEY"
Response
live example
200
{
  "estimated_actuals": [
    {
      "pv_power_rooftop": 0.646,
      "period_end": "2026-07-30T01:00:00.0000000Z",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.538,
      "period_end": "2026-07-30T00:00:00.0000000Z",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.374,
      "period_end": "2026-07-29T23:00:00.0000000Z",
      "period": "PT60M"
    }
  ]
}

Get Historic Rooftop PV

View as Markdown
GET/data/historic/rooftop_pv_power

Get historical basic rooftop PV power estimated actuals for the requested location, derived from satellite (clouds and irradiance over non-polar continental areas) and numerical weather models (other data). Data is available from 2007-01-01T00:00Z to 7 days ago.

Query Parameters

15 fields
latituderequired
number (double)

The latitude of the location you request data for. Must be a decimal number between -90 and 90.

longituderequired
number (double)

The longitude of the location you request data for. Must be a decimal number between -180 and 180.

startrequired
string

ISO_8601 compliant starting datetime for the historical data. If the supplied value does not specify a timezone, the timezone will be inferred from the time_zone parameter, if supplied. Otherwise UTC is assumed.

capacityrequired
number (float)

The capacity of the inverter (AC) or the modules (DC), whichever is greater, in kilowatts (kW).

duration
string

Must include one of end_date and duration. ISO_8601 compliant duration for the historical data. Must be within 31 days of the start_date.

end
string

Must include one of end_date and duration. ISO_8601 compliant ending datetime for the historical data. Must be within 31 days of the start_date. If the supplied value does not specify a timezone, the timezone will be inferred from the time_zone parameter, if supplied. Otherwise UTC is assumed.

period
string

Length of the averaging period in ISO 8601 duration format. Default is PT30M.

Accepted values
PT5M PT10M PT15M PT20M PT30M PT60M
time_zone
string

Timezone to return in data set. Accepted values are utc, longitudinal, or a range from -13 to 13 in 0.25 hour increments for utc offset.

tilt
number (float)

The angle (degrees) that the PV system is tilted off the horizontal. A tilt of 0 means the system faces directly upwards, and 90 means the system is vertical and facing the horizon. If you don't specify tilt, we use a default tilt angle based on the latitude you specify in your request. Must be between 0 and 90.

azimuth
number (float)

The azimuth is defined as the angle (degrees) from true north that the PV system is facing. An azimuth of 0 means the system is facing true north. Positive values are anticlockwise, so azimuth is -90 for an east-facing system and 135 for a southwest-facing system. If you don't specify an azimuth, we use a default value of 0 (north facing) in the southern hemisphere and 180 (south-facing) in the northern hemisphere.

install_date
string

The date (yyyy-MM-dd) of installation of the PV system. We use this to estimate your loss_factor based on the ageing of your system. If you provide us with a loss_factor directly, we will ignore this date.

loss_factor
number (float)

Default is 0.90 A factor to reduce your output forecast from the full capacity based on characteristics of the PV array or inverter. This is effectively the non-temperature loss effects on the nameplate rating of the PV system, including inefficiency and soiling. For a 1kW PV system anything that reduces 1000W/m2 solar radiation from producing 1000W of power output (assuming temperature is 25C). Valid values are between 0 and 1 (i.e. 0.6 equals 60%). If you specify 0.6 your returned power will be a maximum of 60% of AC capacity.

output_parameters
string[]

The output parameters to include in the response.

Accepted values
pv_power_rooftop pv_power_rooftop10 pv_power_rooftop90
terrain_shading
boolean

If true, irradiance parameters are modified based on the surrounding terrain from a 90m-horizontal-resolution digital elevation model. The direct component of irradiance is set to zero when the beam from the sun is blocked by the terrain. The diffuse component of irradiance is reduced throughout the day if the sky view at the location is significantly reduced by the surrounding terrain. Global irradiance incorporates both effects.

format
string

Response format. Default is HTML if not supplied.

Accepted values
jsoncsv

Responses

200

OK

HistoricPvPowerResponse
estimated_actuals
object[]optional

GET/data/historic/rooftop_pv_power

Request
curl -X GET "https://api.solcast.com.au/data/historic/rooftop_pv_power?start=2026-01-01&latitude=-33.8567&longitude=151.2152&capacity=1&output_parameters=pv_power_rooftop&end=<end>&duration=P1D" \
  -H "Authorization: Bearer $API_KEY"
Response
live example
200
{
  "estimated_actuals": [
    {
      "pv_power_rooftop": 0.132,
      "period_end": "2026-01-01T01:00:00+00:00",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.111,
      "period_end": "2026-01-01T02:00:00+00:00",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.122,
      "period_end": "2026-01-01T03:00:00+00:00",
      "period": "PT60M"
    }
  ]
}

Get TMY Rooftop PV

View as Markdown
GET/data/tmy/rooftop_pv_power

Get the basic rooftop PV power estimated actuals for a Typical Meteorological Year (TMY) at a requested location, derived from satellite (clouds and irradiance over non-polar continental areas) and numerical weather models (other data). The TMY is calculated with data from 2007 to 2025.

Query Parameters

15 fields
latituderequired
number (double)

The latitude of the location you request data for. Must be a decimal number between -90 and 90.

longituderequired
number (double)

The longitude of the location you request data for. Must be a decimal number between -180 and 180.

capacityrequired
number (float)

The capacity of the inverter (AC) or the modules (DC), whichever is greater, in kilowatts (kW).

period
string

Length of the averaging period in ISO 8601 duration format. Default is PT60M.

Accepted values
PT15M PT20M PT30M PT60M
time_zone
string

Timezone to return in data set. Accepted values are utc, longitudinal, or a range from -13 to 13 in 0.25 hour increments for utc offset.

ghi_weight
number (double)

When creating the TMY, the weighting of GHI to use in the target parameter. Note that ghi_weight + dni_weight must equal 1.

dni_weight
number (double)

When creating the TMY, the weighting of DNI to use in the target parameter. Note that ghi_weight + dni_weight must equal 1.

probability
string

The probability percentile for the TMY.

Accepted values
p50p75p90p95
tilt
number (float)

The angle (degrees) that the PV system is tilted off the horizontal. A tilt of 0 means the system faces directly upwards, and 90 means the system is vertical and facing the horizon. If you don't specify tilt, we use a default tilt angle based on the latitude you specify in your request. Must be between 0 and 90.

azimuth
number (float)

The azimuth is defined as the angle (degrees) from true north that the PV system is facing. An azimuth of 0 means the system is facing true north. Positive values are anticlockwise, so azimuth is -90 for an east-facing system and 135 for a southwest-facing system. If you don't specify an azimuth, we use a default value of 0 (north facing) in the southern hemisphere and 180 (south-facing) in the northern hemisphere.

install_date
string

The date (yyyy-MM-dd) of installation of the PV system. We use this to estimate your loss_factor based on the ageing of your system. If you provide us with a loss_factor directly, we will ignore this date.

loss_factor
number (float)

Default is 0.90 A factor to reduce your output forecast from the full capacity based on characteristics of the PV array or inverter. This is effectively the non-temperature loss effects on the nameplate rating of the PV system, including inefficiency and soiling. For a 1kW PV system anything that reduces 1000W/m2 solar radiation from producing 1000W of power output (assuming temperature is 25C). Valid values are between 0 and 1 (i.e. 0.6 equals 60%). If you specify 0.6 your returned power will be a maximum of 60% of AC capacity.

output_parameters
string[]

The output parameters to include in the response.

Accepted values
pv_power_rooftop pv_power_rooftop10 pv_power_rooftop90
terrain_shading
boolean

If true, irradiance parameters are modified based on the surrounding terrain from a 90m-horizontal-resolution digital elevation model. The direct component of irradiance is set to zero when the beam from the sun is blocked by the terrain. The diffuse component of irradiance is reduced throughout the day if the sky view at the location is significantly reduced by the surrounding terrain. Global irradiance incorporates both effects.

format
string

Response format. Default is HTML if not supplied.

Accepted values
jsoncsv

Responses

200

OK

TmyRooftopPvPowerResponse
estimated_actuals
object[]optional

GET/data/tmy/rooftop_pv_power

Request
curl -X GET "https://api.solcast.com.au/data/tmy/rooftop_pv_power?latitude=-33.8567&longitude=151.2152&capacity=1&output_parameters=pv_power_rooftop&time_zone=<time_zone>&period=PT60M" \
  -H "Authorization: Bearer $API_KEY"
Response
live example
200
{
  "estimated_actuals": [
    {
      "pv_power_rooftop": 0.726,
      "period_end": "2059-01-01T01:00:00+00:00",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.766,
      "period_end": "2059-01-01T02:00:00+00:00",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.754,
      "period_end": "2059-01-01T03:00:00+00:00",
      "period": "PT60M"
    }
  ]
}