Search buildings

  • The Solar API uses place data and satellite imagery to identify buildings and determine their solar potential, focusing on buildings classified as "premise" in Google Places.

  • The API primarily supports residential buildings with inclined roofs for accurate solar panel placement, while accuracy may vary for flat-roofed buildings.

  • If thesolarPanelConfigs field is missing from the API response, it indicates the building was analyzed, but solar panel placement was not feasible due to roof size or shading.

  • Users can identify buildings for solar analysis by converting addresses to coordinates using Geocoding or Place Autocomplete APIs and passing the coordinates to the Solar API.

  • A complementary approach involves users selecting a building directly on a map using the Maps JavaScript API, and using the extracted coordinates for solar analysis.

The Solar API uses place data to determine building type and identifiesbuildings based on satellite imagery. This page describes how to determine whichbuilding's solar information is returned in abuildingInsightsrequest.

Building types

The Solar API supports buildings of typepremise. This typeindicates a named location, usually a building or collection of buildings with acommon name.

Other types, such assubpremise orcompounds — for example, detached buildings located on a single property, unlessregistered as apremise —arenot supported.

Building roofs

The Solar API identifies optimal rooftop solar panel placement based onsatellite imagery. Residential buildings, particularly inclined or pitchedroofs, are identified with a high degree of accuracy, while buildings with flatroofs (for example, apartment or commercial buildings) may vary in accuracy.

If thebuildingInsights response does not include the fieldsolarPanelConfigs, the building was processed correctly, but we were unable to put panels on the roof. This may happen if the roof is too small to place panels or too shaded for panels to generate significant energy.

Tip: Based on other selection approaches, including manual user selection or acustom programmatical selection, you can use the Solar APIdataLayers endpointto create your own solar potential calculations and panel placement.

Searching from an address

  1. You can convert an address to latitude and longitude coordinates using theGeocoding API orPlace Autocomplete API.

    Use theplace_id to refer to the matched place.

  2. Use the place latitude and longitude coordinates in your Solar APIbuildingInsightsrequest.

    • If the Solar API finds a matching building, check that theplace_id in thebuildingInsights response matches theplace_idfrom the Geocoding API or the Place Autocomplete API.
    • To limit results to places with typepremise, add a place type filterto Geocoding API or Places API responses.
      {"name":"buildings/ChIJh0CMPQW7j4ARLrRiVvmg6Vs","center":{"latitude":37.4449739,"longitude":-122.13914659999998},...}
Note: Sometimes the place IDs will not match, which means the searched (lat,lng) does not resolve to the same address or building. Even if theGeocodingAPI response is of granularityROOFTOP, theplace_id may have a type other thanpremise.

You can use theopen source sampleapp or make abuildingInsights request tocheck theplace_id for buildings covered by the Solar API.

Selecting a location on a map

You can also offer a complementary experience by enabling users to select thebuilding on the map using theMaps JavaScriptAPI. Extract the building's latitudeand longitude from themouseevent, then pass inthose coordinates in abuildingInsights request.

interactive map to point location.

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.