pvnodepvnode
  • pvnode.com
  • Studio
  • Pricing
  • Deutsch
  • English
  • API Reference
Product
  • Studio
  • API Documentation
  • API Reference
  • Pricing
Resources
  • Quickstart
  • Integrations
Legal
  • Imprint
  • Privacy
  • Terms
  • Licenses
pvnodepvnode

© 2026 pvnode. All rights reserved.

linkedin
Information
Forecast
    Get forecast for a sitegetGet forecast without a saved sitepost
Historical
    Get historical data for a sitegetGet historical data without a saved sitepost
Sites
    List all sitesgetCreate a sitepostGet a sitegetDelete a sitedeleteUpdate a sitepatchRestore a sitepost
V1 API (legacy)
    YieldgetSystemgetHistorygetForecastgetRecentget
Schemas
powered by Zudoku
pvnode API
pvnode API

V1 API (legacy)


Yield

GET
https://api.pvnode.com
/v1/yield/

Yield › query Parameters

latitude
​number · min: -56.02 · max: 65 · required

Latitude in decimal degrees

longitude
​number · min: -150 · max: 180 · required

Longitude in decimal degrees

slope
​number · min: 0 · max: 90 · required

Module tilt angle in degrees (0=horizontal, 90=vertical)

orientation
​number · min: 0 · max: 360 · required

Module azimuth in degrees (0=North, 90=East, 180=South, 270=West)

elevation
​number · min: -999 · max: 4500

Elevation in meters above sea level. -999 = auto-detect from terrain model

Default: -999
temperature_coefficient_power
​number · min: -0.5 · max: -0.2

Temperature coefficient of power in %/°C

Default: -0.35
mounting_type
​MountingType · enum

Mounting type: 'open' (free-standing), 'mix' (partially ventilated), 'isol' (building-integrated)

Enum values:
open
mix
isol
Default: open
panel_age_years
​number · min: 0 · max: 50

Age of the PV panels in years

Default: 0
ground_albedo
​number · min: 0 · max: 1

Ground reflectance (albedo)

Default: 0.15
cable_loss_rate
​number · min: 0 · max: 0.1

DC cable loss rate as fraction (e.g. 0.015 = 1.5%)

Default: 0.015
conversion_loss_rate
​number · min: 0 · max: 0.1

Inverter/conversion loss rate as fraction

Default: 0.025
ground_coverage_ratio
​number · min: 0 · max: 1

Ground coverage ratio for row self-shading (0=no rows, 1=fully covered)

Default: 0
tracker_system_type
​integer · min: 0 · max: 2

Tracker type: 0=fixed, 1=single-axis, 2=dual-axis

Default: 0
single_axis_tracker_config
​string

Single-axis tracker config string (axis_azimuth:axis_tilt:max_angle:backtracking)

Default:
sky_obstruction_config
​string

Sky obstruction config string (azimuth_start:azimuth_end:elevation pairs)

Default:
terrain_based_horizon_coverage
​boolean

Use terrain-based horizon coverage from elevation model

Default: false
installation_height
​number · min: 0 · max: 200

Installation height above ground in meters

Default: 0
shading_config
​string

Near-field shading config string (matrix format)

Default:
pv_power_kw
​number · min: 0

PV system peak power in kW

Default: 0
second_array_slope
​number · min: 0 · max: 90

Second array tilt angle in degrees

Default: 0
second_array_orientation
​number · min: 0 · max: 360

Second array azimuth in degrees

Default: 0
second_array_ground_coverage_ratio
​number · min: 0 · max: 1

Second array ground coverage ratio

Default: 0
second_array_shading_config
​string

Second array shading config string

Default:
second_array_power_kw
​number · min: 0

Second array peak power in kW

Default: 0
pv_technology_type
​PVTechnologyType · enum

PV cell technology type

Enum values:
monosi
multisi
cdte
perc
topcon
Default: perc
diffuse_radiation_model
​DiffuseRadiationModel · enum

Diffuse radiation transposition model

Enum values:
haydavies
perez
Default: perez
detailed_losses
​boolean

Return detailed loss breakdown

Default: false
inverter_clip_max_threshold_percent
​number · min: 10 · max: 200

Inverter clipping max threshold in % of nominal power

Default: 120
inverter_clip_min_threshold_percent
​number · min: 0 · max: 25

Inverter clipping min threshold in % of nominal power

Default: 0.1
snow_slide_coefficient
​number · min: 0 · max: 1

Snow slide coefficient (0=no sliding, 1=very fast slide-off)

Default: 0.3
enable_soiling_model
​boolean

Enable soiling loss model

Default: false
soiling_model_config
​string

Soiling model config string (cleaning_threshold_hours:cleaning_threshold:v_25:v_10)

Default: 2:2:0.11:0.5

Yield › Headers

Authorization
​string · required

Bearer token. Format: Bearer YOUR_API_KEY

Default: Bearer YOUR_API_KEY

Yield › Responses

Successful Response

No data returned
GET/v1/yield/
import requests url = "https://api.pvnode.com/v1/yield?latitude=%3Cnumber%3E&longitude=%3Cnumber%3E&slope=%3Cnumber%3E&orientation=%3Cnumber%3E" headers = {"Authorization": "Bearer YOUR_API_KEY"} response = requests.get(url, headers=headers) print(response.text)
Example Responses
{}
json
application/json

System

GET
https://api.pvnode.com
/v1/system/

System › query Parameters

latitude
​number · min: -56.02 · max: 65 · required

Latitude in decimal degrees

longitude
​number · min: -150 · max: 180 · required

Longitude in decimal degrees

slope
​number · min: 0 · max: 90 · required

Module tilt angle in degrees (0=horizontal, 90=vertical)

orientation
​number · min: 0 · max: 360 · required

Module azimuth in degrees (0=North, 90=East, 180=South, 270=West)

pv_power_kw
​number · min: 0

PV system peak power in kW

Default: 10
yearly_energy_consumption
​number · min: 0

Yearly household energy consumption in MWh

Default: 4
yearly_heat_pump_consumption
​number · min: 0

Yearly heat pump energy consumption in MWh

Default: 5
yearly_base_consumption
​number · min: 0

Yearly base load consumption in MWh

Default: 0
battery_capacity
​number · min: 0

Battery storage capacity in kWh

Default: 10
elevation
​number · min: -999 · max: 4500

Elevation in meters above sea level. -999 = auto-detect from terrain model

Default: -999
air_cool_config
​string

Air cooling monthly config: string of 12 digits (0 or 1), one per month

Default:
air_cool_temperature_threshold
​number · min: 16 · max: 30

Air cooling activation temperature in °C

Default: 21
air_cool_peak_power
​number · min: 0

Air cooling peak power in kW

Default: 1
charge_power_ratio
​number · min: 0 · max: 2

Battery charge power ratio (C-rate)

Default: 0.5
discharge_power_ratio
​number · min: 0 · max: 2

Battery discharge power ratio (C-rate)

Default: 0.5
battery_efficiency
​number · min: 0.5 · max: 1

Round-trip battery efficiency

Default: 0.94
demand_profile
​DemandProfile · enum

Load demand profile type

Enum values:
h0
h0_dyn
g0
g1
g2
g3
g4
g5
Default: h0_dyn
temperature_coefficient_power
​number · min: -0.5 · max: -0.2

Temperature coefficient of power in %/°C

Default: -0.35
mounting_type
​MountingType · enum

Mounting type: 'open' (free-standing), 'mix' (partially ventilated), 'isol' (building-integrated)

Enum values:
open
mix
isol
Default: open
panel_age_years
​number · min: 0 · max: 50

Age of the PV panels in years

Default: 0
ground_albedo
​number · min: 0 · max: 1

Ground reflectance (albedo)

Default: 0.15
cable_loss_rate
​number · min: 0 · max: 0.1

DC cable loss rate as fraction (e.g. 0.015 = 1.5%)

Default: 0.015
conversion_loss_rate
​number · min: 0 · max: 0.1

Inverter/conversion loss rate as fraction

Default: 0.025
ground_coverage_ratio
​number · min: 0 · max: 1

Ground coverage ratio for row self-shading (0=no rows, 1=fully covered)

Default: 0
tracker_system_type
​integer · min: 0 · max: 2

Tracker type: 0=fixed, 1=single-axis, 2=dual-axis

Default: 0
single_axis_tracker_config
​string

Single-axis tracker config string (axis_azimuth:axis_tilt:max_angle:backtracking)

Default:
sky_obstruction_config
​string

Sky obstruction config string (azimuth_start:azimuth_end:elevation pairs)

Default:
terrain_based_horizon_coverage
​boolean

Use terrain-based horizon coverage from elevation model

Default: false
installation_height
​number · min: 0 · max: 200

Installation height above ground in meters

Default: 0
shading_config
​string

Near-field shading config string (matrix format)

Default:
second_array_slope
​number · min: 0 · max: 90

Second array tilt angle in degrees

Default: 0
second_array_orientation
​number · min: 0 · max: 360

Second array azimuth in degrees

Default: 0
second_array_ground_coverage_ratio
​number · min: 0 · max: 1

Second array ground coverage ratio

Default: 0
second_array_shading_config
​string

Second array shading config string

Default:
second_array_power_kw
​number · min: 0

Second array peak power in kW

Default: 0
pv_technology_type
​PVTechnologyType · enum

PV cell technology type

Enum values:
monosi
multisi
cdte
perc
topcon
Default: perc
diffuse_radiation_model
​DiffuseRadiationModel · enum

Diffuse radiation transposition model

Enum values:
haydavies
perez
Default: perez
inverter_clip_max_threshold_percent
​number · min: 10 · max: 200

Inverter clipping max threshold in % of nominal power

Default: 120
inverter_clip_min_threshold_percent
​number · min: 0 · max: 25

Inverter clipping min threshold in % of nominal power

Default: 0.1
snow_slide_coefficient
​number · min: 0 · max: 1

Snow slide coefficient (0=no sliding, 1=very fast slide-off)

Default: 0.3

System › Headers

Authorization
​string · required

Bearer token. Format: Bearer YOUR_API_KEY

Default: Bearer YOUR_API_KEY

System › Responses

Successful Response

No data returned
GET/v1/system/
import requests url = "https://api.pvnode.com/v1/system?latitude=%3Cnumber%3E&longitude=%3Cnumber%3E&slope=%3Cnumber%3E&orientation=%3Cnumber%3E" headers = {"Authorization": "Bearer YOUR_API_KEY"} response = requests.get(url, headers=headers) print(response.text)
Example Responses
{}
json
application/json

History

GET
https://api.pvnode.com
/v1/history/

History › query Parameters

start_date
​string · required

Start date for historical data (YYYY-MM-DD)

end_date
​string · required

End date for historical data (YYYY-MM-DD)

latitude
​number · min: -56.02 · max: 65 · required

Latitude in decimal degrees

longitude
​number · min: -150 · max: 180 · required

Longitude in decimal degrees

slope
​number · min: 0 · max: 90 · required

Module tilt angle in degrees (0=horizontal, 90=vertical)

orientation
​number · min: 0 · max: 360 · required

Module azimuth in degrees (0=North, 90=East, 180=South, 270=West)

pv_power_kw
​number · min: 0

PV system peak power in kW

Default: 10
yearly_energy_consumption
​number · min: 0

Yearly household energy consumption in MWh

Default: 4
yearly_heat_pump_consumption
​number · min: 0

Yearly heat pump energy consumption in MWh

Default: 5
yearly_base_consumption
​number · min: 0

Yearly base load consumption in MWh

Default: 0
battery_capacity
​number · min: 0

Battery storage capacity in kWh

Default: 10
elevation
​number · min: -999 · max: 4500

Elevation in meters above sea level. -999 = auto-detect from terrain model

Default: -999
air_cool_config
​string

Air cooling monthly config: string of 12 digits (0 or 1), one per month

Default:
air_cool_temperature_threshold
​number · min: 16 · max: 30

Air cooling activation temperature in °C

Default: 21
air_cool_peak_power
​number · min: 0

Air cooling peak power in kW

Default: 1
charge_power_ratio
​number · min: 0 · max: 2

Battery charge power ratio (C-rate)

Default: 0.5
discharge_power_ratio
​number · min: 0 · max: 2

Battery discharge power ratio (C-rate)

Default: 0.5
battery_efficiency
​number · min: 0.5 · max: 1

Round-trip battery efficiency

Default: 0.94
demand_profile
​DemandProfile · enum

Load demand profile type

Enum values:
h0
h0_dyn
g0
g1
g2
g3
g4
g5
Default: h0_dyn
temperature_coefficient_power
​number · min: -0.5 · max: -0.2

Temperature coefficient of power in %/°C

Default: -0.35
mounting_type
​MountingType · enum

Mounting type: 'open' (free-standing), 'mix' (partially ventilated), 'isol' (building-integrated)

Enum values:
open
mix
isol
Default: open
panel_age_years
​number · min: 0 · max: 50

Age of the PV panels in years

Default: 0
ground_albedo
​number · min: 0 · max: 1

Ground reflectance (albedo)

Default: 0.15
cable_loss_rate
​number · min: 0 · max: 0.1

DC cable loss rate as fraction (e.g. 0.015 = 1.5%)

Default: 0.015
conversion_loss_rate
​number · min: 0 · max: 0.1

Inverter/conversion loss rate as fraction

Default: 0.025
ground_coverage_ratio
​number · min: 0 · max: 1

Ground coverage ratio for row self-shading (0=no rows, 1=fully covered)

Default: 0
tracker_system_type
​integer · min: 0 · max: 2

Tracker type: 0=fixed, 1=single-axis, 2=dual-axis

Default: 0
single_axis_tracker_config
​string

Single-axis tracker config string (axis_azimuth:axis_tilt:max_angle:backtracking)

Default:
sky_obstruction_config
​string

Sky obstruction config string (azimuth_start:azimuth_end:elevation pairs)

Default:
terrain_based_horizon_coverage
​boolean

Use terrain-based horizon coverage from elevation model

Default: false
installation_height
​number · min: 0 · max: 200

Installation height above ground in meters

Default: 0
shading_config
​string

Near-field shading config string (matrix format)

Default:
second_array_slope
​number · min: 0 · max: 90

Second array tilt angle in degrees

Default: 0
second_array_orientation
​number · min: 0 · max: 360

Second array azimuth in degrees

Default: 0
second_array_ground_coverage_ratio
​number · min: 0 · max: 1

Second array ground coverage ratio

Default: 0
second_array_shading_config
​string

Second array shading config string

Default:
second_array_power_kw
​number · min: 0

Second array peak power in kW

Default: 0
pv_technology_type
​PVTechnologyType · enum

PV cell technology type

Enum values:
monosi
multisi
cdte
perc
topcon
Default: perc
diffuse_radiation_model
​DiffuseRadiationModel · enum

Diffuse radiation transposition model

Enum values:
haydavies
perez
Default: perez
use_only_satellite_data
​boolean

Use only satellite-derived irradiance data

Default: true
inverter_clip_max_threshold_percent
​number · min: 10 · max: 200

Inverter clipping max threshold in % of nominal power

Default: 120
inverter_clip_min_threshold_percent
​number · min: 0 · max: 25

Inverter clipping min threshold in % of nominal power

Default: 0.1
snow_slide_coefficient
​number · min: 0 · max: 1

Snow slide coefficient (0=no sliding, 1=very fast slide-off)

Default: 0.3
required_data
​string

Comma-separated list of output data columns

Default: GHI,DHI,BNI,spec_watts,temp,weather_code
timezone
​string

Output timezone (e.g. 'utc', 'Europe/Berlin')

Default: utc
pv_only
​boolean

Return only PV data without battery/consumption simulation

Default: true

History › Headers

Authorization
​string · required

Bearer token. Format: Bearer YOUR_API_KEY

Default: Bearer YOUR_API_KEY

History › Responses

Successful Response

No data returned
GET/v1/history/
import requests url = "https://api.pvnode.com/v1/history?start_date=%3Cstring%3E&end_date=%3Cstring%3E&latitude=%3Cnumber%3E&longitude=%3Cnumber%3E&slope=%3Cnumber%3E&orientation=%3Cnumber%3E" headers = {"Authorization": "Bearer YOUR_API_KEY"} response = requests.get(url, headers=headers) print(response.text)
Example Responses
{}
json
application/json

Forecast

GET
https://api.pvnode.com
/v1/forecast/

Forecast › query Parameters

latitude
​number · min: -89.99 · max: 89.99 · required

Latitude in decimal degrees

longitude
​number · min: -179.99 · max: 179.99 · required

Longitude in decimal degrees

slope
​number · min: 0 · max: 90 · required

Module tilt angle in degrees (0=horizontal, 90=vertical)

orientation
​number · min: 0 · max: 360 · required

Module azimuth in degrees (0=North, 90=East, 180=South, 270=West)

forecast_days
​integer

Number of forecast days

Default: 7
past_days
​integer

Number of past days to include

Default: 0
pv_power_kw
​number · min: 0

PV system peak power in kW

Default: 10
yearly_energy_consumption
​number · min: 0

Yearly household energy consumption in MWh

Default: 4
yearly_heat_pump_consumption
​number · min: 0

Yearly heat pump energy consumption in MWh

Default: 5
yearly_base_consumption
​number · min: 0

Yearly base load consumption in MWh

Default: 0
battery_capacity
​number · min: 0

Battery storage capacity in kWh

Default: 10
elevation
​number · min: -999 · max: 4500

Elevation in meters above sea level. -999 = auto-detect from terrain model

Default: -999
air_cool_config
​string

Air cooling monthly config: string of 12 digits (0 or 1), one per month

Default:
air_cool_temperature_threshold
​number · min: 16 · max: 30

Air cooling activation temperature in °C

Default: 21
air_cool_peak_power
​number · min: 0

Air cooling peak power in kW

Default: 1
charge_power_ratio
​number · min: 0 · max: 2

Battery charge power ratio (C-rate)

Default: 0.5
discharge_power_ratio
​number · min: 0 · max: 2

Battery discharge power ratio (C-rate)

Default: 0.5
battery_efficiency
​number · min: 0.5 · max: 1

Round-trip battery efficiency

Default: 0.94
demand_profile
​DemandProfile · enum

Load demand profile type

Enum values:
h0
h0_dyn
g0
g1
g2
g3
g4
g5
Default: h0_dyn
temperature_coefficient_power
​number · min: -0.5 · max: -0.2

Temperature coefficient of power in %/°C

Default: -0.35
mounting_type
​MountingType · enum

Mounting type: 'open' (free-standing), 'mix' (partially ventilated), 'isol' (building-integrated)

Enum values:
open
mix
isol
Default: open
panel_age_years
​number · min: 0 · max: 50

Age of the PV panels in years

Default: 0
ground_albedo
​number · min: 0 · max: 1

Ground reflectance (albedo)

Default: 0.15
cable_loss_rate
​number · min: 0 · max: 0.1

DC cable loss rate as fraction (e.g. 0.015 = 1.5%)

Default: 0.015
conversion_loss_rate
​number · min: 0 · max: 0.1

Inverter/conversion loss rate as fraction

Default: 0.025
ground_coverage_ratio
​number · min: 0 · max: 1

Ground coverage ratio for row self-shading (0=no rows, 1=fully covered)

Default: 0
tracker_system_type
​integer · min: 0 · max: 2

Tracker type: 0=fixed, 1=single-axis, 2=dual-axis

Default: 0
single_axis_tracker_config
​string

Single-axis tracker config string (axis_azimuth:axis_tilt:max_angle:backtracking)

Default:
sky_obstruction_config
​string

Sky obstruction config string (azimuth_start:azimuth_end:elevation pairs)

Default:
terrain_based_horizon_coverage
​boolean

Use terrain-based horizon coverage from elevation model

Default: false
installation_height
​number · min: 0 · max: 200

Installation height above ground in meters

Default: 0
shading_config
​string

Near-field shading config string (matrix format)

Default:
second_array_slope
​number · min: 0 · max: 90

Second array tilt angle in degrees

Default: 0
second_array_orientation
​number · min: 0 · max: 360

Second array azimuth in degrees

Default: 0
second_array_ground_coverage_ratio
​number · min: 0 · max: 1

Second array ground coverage ratio

Default: 0
second_array_shading_config
​string

Second array shading config string

Default:
second_array_power_kw
​number · min: 0

Second array peak power in kW

Default: 0
pv_technology_type
​PVTechnologyType · enum

PV cell technology type

Enum values:
monosi
multisi
cdte
perc
topcon
Default: perc
diffuse_radiation_model
​DiffuseRadiationModel · enum

Diffuse radiation transposition model

Enum values:
haydavies
perez
Default: perez
inverter_clip_max_threshold_percent
​number · min: 10 · max: 200

Inverter clipping max threshold in % of nominal power

Default: 120
inverter_clip_min_threshold_percent
​number · min: 0 · max: 25

Inverter clipping min threshold in % of nominal power

Default: 0.1
snow_slide_coefficient
​number · min: 0 · max: 1

Snow slide coefficient (0=no sliding, 1=very fast slide-off)

Default: 0.3
required_data
​string

Comma-separated list of output data columns

Default: GHI,DHI,BNI,spec_watts,temp,weather_code
timezone
​string

Output timezone (e.g. 'utc', 'Europe/Berlin')

Default: utc
pv_only
​boolean

Return only PV data without battery/consumption simulation

Default: true
clearsky_data
​boolean

Include clear-sky reference data

Default: false
nowcast
​boolean

Improved Forecast with nowcast

Default: true
variability_48h
​boolean

Estimate Variablility in Forecast for next 2 days

Default: false

Forecast › Headers

Authorization
​string · required

Bearer token. Format: Bearer YOUR_API_KEY

Default: Bearer YOUR_API_KEY

Forecast › Responses

Successful Response

No data returned
GET/v1/forecast/
import requests url = "https://api.pvnode.com/v1/forecast?latitude=%3Cnumber%3E&longitude=%3Cnumber%3E&slope=%3Cnumber%3E&orientation=%3Cnumber%3E" headers = {"Authorization": "Bearer YOUR_API_KEY"} response = requests.get(url, headers=headers) print(response.text)
Example Responses
{}
json
application/json

Recent

GET
https://api.pvnode.com
/v1/recent/

Recent › query Parameters

latitude
​number · min: -56.02 · max: 65 · required

Latitude in decimal degrees

longitude
​number · min: -60 · max: 60 · required

Longitude in decimal degrees

slope
​number · min: 0 · max: 90 · required

Module tilt angle in degrees (0=horizontal, 90=vertical)

orientation
​number · min: 0 · max: 360 · required

Module azimuth in degrees (0=North, 90=East, 180=South, 270=West)

start_date
​string

Start date for historical data (YYYY-MM-DD)

Default: 2025-01-01
end_date
​string

End date for historical data (YYYY-MM-DD)

Default:
pv_power_kw
​number · min: 0

PV system peak power in kW

Default: 10
yearly_energy_consumption
​number · min: 0

Yearly household energy consumption in MWh

Default: 4
yearly_heat_pump_consumption
​number · min: 0

Yearly heat pump energy consumption in MWh

Default: 5
yearly_base_consumption
​number · min: 0

Yearly base load consumption in MWh

Default: 0
battery_capacity
​number · min: 0

Battery storage capacity in kWh

Default: 10
elevation
​number · min: -999 · max: 4500

Elevation in meters above sea level. -999 = auto-detect from terrain model

Default: -999
air_cool_config
​string

Air cooling monthly config: string of 12 digits (0 or 1), one per month

Default:
air_cool_temperature_threshold
​number · min: 16 · max: 30

Air cooling activation temperature in °C

Default: 21
air_cool_peak_power
​number · min: 0

Air cooling peak power in kW

Default: 1
charge_power_ratio
​number · min: 0 · max: 2

Battery charge power ratio (C-rate)

Default: 0.5
discharge_power_ratio
​number · min: 0 · max: 2

Battery discharge power ratio (C-rate)

Default: 0.5
battery_efficiency
​number · min: 0.5 · max: 1

Round-trip battery efficiency

Default: 0.94
demand_profile
​DemandProfile · enum

Load demand profile type

Enum values:
h0
h0_dyn
g0
g1
g2
g3
g4
g5
Default: h0_dyn
temperature_coefficient_power
​number · min: -0.5 · max: -0.2

Temperature coefficient of power in %/°C

Default: -0.35
mounting_type
​MountingType · enum

Mounting type: 'open' (free-standing), 'mix' (partially ventilated), 'isol' (building-integrated)

Enum values:
open
mix
isol
Default: open
panel_age_years
​number · min: 0 · max: 50

Age of the PV panels in years

Default: 0
ground_albedo
​number · min: 0 · max: 1

Ground reflectance (albedo)

Default: 0.15
cable_loss_rate
​number · min: 0 · max: 0.1

DC cable loss rate as fraction (e.g. 0.015 = 1.5%)

Default: 0.015
conversion_loss_rate
​number · min: 0 · max: 0.1

Inverter/conversion loss rate as fraction

Default: 0.025
ground_coverage_ratio
​number · min: 0 · max: 1

Ground coverage ratio for row self-shading (0=no rows, 1=fully covered)

Default: 0
tracker_system_type
​integer · min: 0 · max: 2

Tracker type: 0=fixed, 1=single-axis, 2=dual-axis

Default: 0
single_axis_tracker_config
​string

Single-axis tracker config string (axis_azimuth:axis_tilt:max_angle:backtracking)

Default:
sky_obstruction_config
​string

Sky obstruction config string (azimuth_start:azimuth_end:elevation pairs)

Default:
terrain_based_horizon_coverage
​boolean

Use terrain-based horizon coverage from elevation model

Default: false
installation_height
​number · min: 0 · max: 200

Installation height above ground in meters

Default: 0
shading_config
​string

Near-field shading config string (matrix format)

Default:
second_array_slope
​number · min: 0 · max: 90

Second array tilt angle in degrees

Default: 0
second_array_orientation
​number · min: 0 · max: 360

Second array azimuth in degrees

Default: 0
second_array_ground_coverage_ratio
​number · min: 0 · max: 1

Second array ground coverage ratio

Default: 0
second_array_shading_config
​string

Second array shading config string

Default:
second_array_power_kw
​number · min: 0

Second array peak power in kW

Default: 0
pv_technology_type
​PVTechnologyType · enum

PV cell technology type

Enum values:
monosi
multisi
cdte
perc
topcon
Default: perc
diffuse_radiation_model
​DiffuseRadiationModel · enum

Diffuse radiation transposition model

Enum values:
haydavies
perez
Default: perez
pv_only
​boolean

Return only PV data without battery/consumption simulation

Default: true
inverter_clip_max_threshold_percent
​number · min: 10 · max: 200

Inverter clipping max threshold in % of nominal power

Default: 120
inverter_clip_min_threshold_percent
​number · min: 0 · max: 25

Inverter clipping min threshold in % of nominal power

Default: 0.1
snow_slide_coefficient
​number · min: 0 · max: 1

Snow slide coefficient (0=no sliding, 1=instant slide-off)

Default: 0.3
required_data
​string

Comma-separated list of output data columns

Default: GHI,DHI,BNI,spec_watts,temp,weather_code
timezone
​string

Output timezone (e.g. 'utc', 'Europe/Berlin')

Default: utc

Recent › Headers

Authorization
​string · required

Bearer token. Format: Bearer YOUR_API_KEY

Default: Bearer YOUR_API_KEY

Recent › Responses

Successful Response

No data returned
GET/v1/recent/
import requests url = "https://api.pvnode.com/v1/recent?latitude=%3Cnumber%3E&longitude=%3Cnumber%3E&slope=%3Cnumber%3E&orientation=%3Cnumber%3E" headers = {"Authorization": "Bearer YOUR_API_KEY"} response = requests.get(url, headers=headers) print(response.text)
Example Responses
{}
json
application/json

Sites