Solarific

Solar panel data for any city

Solar panel angle dataset

Download the optimal solar panel tilt and orientation for 72,000+ cities as one file. It is CC0 (public domain): use it, republish it, build on it, sell it, with or without credit. There is no key, no sign-up, and no rate limit.

Download CSV · Download JSON

What is in it

One row per city. Every figure is the same one shown on that city's page, computed by the same code, so the file and the site cannot disagree.

Columns in the Solarific city angle dataset
Column What it holds
idStable row identifier for the city.
city, state_id, state_name, country_id, country_namePlace names and ISO country code.
latitude, longitudeDecimal degrees. Latitude is the only input to every angle below.
population, population_properPopulation of the metro area and of the city proper. Filter on these to drop hamlets.
urlThe city's page on this site, if you want to link back or check a figure.
facingDirection to face: south in the northern hemisphere, north in the southern.
tilt_fixedMost efficient year-round angle for a mount you set once, in degrees from horizontal.
tilt_2season_*Summer and winter angles for a mount you adjust twice a year, each with its own facing.
tilt_4season_*Summer, winter, and spring/autumn angles for a mount you adjust each season.
tilt_01 to tilt_12Most efficient angle for each month, January to December. In the JSON these are nested under monthly.
noon_sun_angle_01 to noon_sun_angle_12How high the sun sits above the horizon at solar noon, per month.

The JSON carries the same fields, with the monthly figures nested as an array of 12 objects and the solar declination for each month included.

What is not in it

Today's angle. It is the one figure on a city page that changes daily, so a downloaded copy would be wrong tomorrow. Everything in the file is fixed: recompute the daily angle yourself from the declination model, or read it off the city page.

How the numbers were derived

The fixed tilt comes from a quadratic in latitude calibrated against PVGIS v5.2 optimal-slope data for 52 cities spanning 1 to 69 degrees, accurate to about 3.4 degrees RMSE against that reference. Monthly figures come from the subsolar-point declination model. Latitude cannot see local climate, so a cloudy place and a clear place at the same latitude get the same answer. The full method, its accuracy, and its limits are written up separately.

Citing it

CC0 asks for nothing, but if you want a citation:

Solarific, Solar Panel Angle Dataset, https://solarific.co/data (CC0).

Using it live

If you want the current day's angle for one city rather than the bulk file, the embeddable widget computes it in the page and updates itself daily.