Solar API Concepts

  • The Solar API offers solar potential data for buildings, primarily focusing on sunlight exposure and utilizing two endpoints:buildingInsights anddataLayers.

  • Solar irradiance quantifies the amount of sunlight on a surface, while solar insolation measures the average irradiance over time, both crucial for determining a building's solar potential.

  • Sunniness is a relative measure of sunlight received by different roof sections, categorized into quantiles to represent variations in exposure due to shading.

  • ThedataLayers endpoint provides solar information through GeoTIFF rasters, which are grid-based images containing pixel values representing solar characteristics like flux.

  • Flux, representing annual sunlight on roofs in kWh/kW/year, is calculated by the Solar API considering factors like location, weather, shade, roof orientation, and inherent efficiency.

European Economic Area (EEA) developers If your billing address is in the European Economic Area, effective on 8 July 2025, the Google Maps Platform EEA Terms of Service will apply to your use of the Services.Learn more. In addition, certain content from the Solar API will no longer be returned.Learn more.

The Solar API provides solar potential data through thebuildingInsights anddataLayers endpoints. To use Solar API data,understanding the following concepts may be helpful:

Solar irradiance and insolation

A building'ssolar potential is largely based on the amount of sunlight itreceives, along with other factors.Solar irradiance is the amount of lightthat falls on a given area, whilesolar insolation is a measurement of theaverage solar irradiance an area receives over time.

Akilowatt (kW) is a measure ofpower, or the rate at which something usesenergy, while akilowatt-hour (kWh) is a measure ofenergy used or energycapacity. Solar irradiance is measured in kilowatts, while solar insolation ismeasured in kilowatt-hours.

1 kWh/kW equals 1 sun hour, which is defined as one hour where the intensity ofsunlight reaches an average of 1,000 Watts (1 kilowatt) of energy per squaremeter.

For example, if a part of a roof has a solar insolation of 2000 kWh/kW/year, a 1kW solar panel array placed there will produce 2000 kWh/year. A 4 kW arrayplaced in the same location will produce 8000 kWh/year.

Standard TestConditions arean industry standard benchmark used to determine solar panel power output. AtSTC, the amount of power a solar panel outputs becomes its maximum power rating,or capacity. A 1 kW panel will generate 1 kWh of energy under STC.

Sunniness and sunshine quantiles

The Solar API defines "sunniness" as the level of sunlight received by aparticular section of a roof relative to the rest of the roof, annually onaverage. Some parts of a roof may be darker than others, due to shade fromnearby buildings or tree cover, while other parts of a roof may be fully exposedto the sky at all times and therefore receive more sunlight.

ThesunshineQuantiles field in thebuildingInsights response provides 11buckets, or deciles, of the sunniness of a roof or part of a roof. TheSolar API takes all of the points on the roof, sorts them by their"sunniness," and identifies the highest, lowest, and 9 intermediate evenlyspaced values.

For example, assume that the sunniest part (1%) of a given roof receives1100 kWh/kW/year, while the darkest part (also 1%) of the same roofreceives 400 kWh/kW/year. The next darkest 20% of the roof receives 500kWh/kW/year. The next sunniest 50% of the roof receives 900 kWh/kW/year.The remaining 28% receives 1000 kWh/kW/year.

Rasters

ThedataLayers endpoint returns solar information encoded inGeoTIFFs, whichare a type of raster.

Araster is composed of a matrix of cells, orpixels, arranged in rows andcolumns. Each pixel contains a value that represents information about thatlocation, such as elevation, tree canopy, sunlight, among others.

Rasters storediscrete andcontinuous data.Discrete data, such as landcover or soil type, is thematic, or categorical.Continuous data representsphenomena that have no clear boundaries, such as elevation or aerial imagery.

Rasters are composed ofbands, which measure different characteristics of adataset. Rasters can have a single band or multiple bands. Each band is composedof a matrix of cells, orpixels, which store information. Pixels can storefloat or integer values.

Thebit depth of a pixel indicates the number of values that a pixel canstore, based on the formula 2n, wheren is the bit depth. Forexample, an 8-bit pixel can store up to 256 (28) values ranging from0 to 255.

Three raster bands stacked to form a multiband raster.

Flux

You can requestflux maps using thedataLayers endpoint. TheSolar API definesflux as the annual amount of sunlight on roofs inkWh/kW/year. In calculating flux, the Solar API takes the followingvariables into account:

  • Location information: The Solar API uses hourly solar irradiancedata from various weather sets, which are typically on a 4 to 10 km grid.The API computes the position of the sun in the sky at each hour of theyear. This is location-dependent and may vary as a result.
  • Weather patterns (clouds): These are accounted for in the solarirradiance data.
  • Shade from nearby obstacles: Shading from trees, other buildings, andother parts of the roof are taken into account in calculations.
  • Orientation: The pitch and azimuth of each part of the roof.
  • True efficiency: The values computed by the Solar API areindependent of the panel efficiency. To calculate energy production, youmust multiply by the kilowattage of the panels and factor in other systemlosses. For more information, seeCalculate solar costs andsavings.

The Solar API does not take the following variables into account:

  • Inverter efficiency and other losses: Most values are computed in DCkWh, but some are converted to AC kWh assuming an 85% systemefficiency.
  • Soiling and snow: These are not included in the calculations.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-11-21 UTC.