Rooftop solar data for 788 North American cities
Every figure on this site comes from the same measured dataset: Google Solar API rooftop samples across 788 cities in North America. This page publishes the aggregates, including the CSV, so you can check our working.
Download the full dataset (CSV) → 788 rows, 17 columns. Updated whenever the site rebuilds.
What this measures, and what it doesn't
Each city's figure is the median of roughly 16 individual rooftops sampled in a ring across the city's suburban area — not one reading from the city centre. That distinction is the whole reason this dataset exists: a single downtown sample produced results so distorted that Charlotte appeared to get less sun than Vancouver. Sampling a spread of real suburban roofs and taking the median fixed it.
The sunlight figure is usable sunlight. It already has shading from trees, chimneys and neighbouring buildings subtracted, which is why these numbers are lower than the "hours of daylight" figures published elsewhere. The unshaded column is what an unobstructed roof in the same city reaches, and the gap between the two is the shading loss.
What it is not: it is not a measurement of your roof, and it is not a forecast. Payback figures are modelled from the measured sunlight plus regional average electricity rates, using 400W panels at $2.85/W. Local incentives, your actual usage and your utility's export rules will all move the answer.
The headline finding: sunlight is not what decides this
Palmdale tops the sunlight table at 2,115 hours and Inverness sits last at 759 — a 2.8× spread. But the fastest payback in the dataset belongs to Honolulu, HI at 3.1 years, on 1,787 sun hours — well short of the sunniest city.
Electricity price moves payback far more than sunlight does. A dim city with expensive power beats a sunny city with cheap power, consistently, across the whole table. That is the single most useful thing in this dataset and it is the opposite of how solar is usually marketed.
Fastest payback
| # | City | Sun hrs/yr | Lost to shade | Median roof | Rate | Payback |
|---|---|---|---|---|---|---|
| 1 | Honolulu, HI | 1,787 | 7.2% | 262 m² | 42.1¢ | 3.1 yrs |
| 2 | Lihue, HI | 1,777 | 3.2% | 299 m² | 42.1¢ | 3.2 yrs |
| 3 | Kahului, HI | 1,627 | 4% | 107 m² | 42.1¢ | 3.5 yrs |
| 4 | Hilo, HI | 1,510 | 7.7% | 128 m² | 42.1¢ | 3.8 yrs |
| 5 | Kailua-Kona, HI | 1,253 | 17.8% | 330 m² | 42.1¢ | 4.5 yrs |
| 6 | Quincy, MA | 1,521 | 4% | 164 m² | 30.1¢ | 5.1 yrs |
| 7 | Boston, MA | 1,446 | 8.1% | 182 m² | 30.1¢ | 5.4 yrs |
| 8 | Warwick, RI | 1,518 | 4.3% | 203 m² | 28.3¢ | 5.5 yrs |
| 9 | New Haven, CT | 1,472 | 3.2% | 142 m² | 29.2¢ | 5.5 yrs |
| 10 | Worcester, MA | 1,443 | 5% | 274 m² | 30.1¢ | 5.6 yrs |
| 11 | Fall River, MA | 1,429 | 9.9% | 155 m² | 30.1¢ | 5.6 yrs |
| 12 | Lowell, MA | 1,422 | 6.8% | 142 m² | 30.1¢ | 5.6 yrs |
| 13 | Somerville, MA | 1,418 | 10.3% | 212 m² | 30.1¢ | 5.6 yrs |
| 14 | Cambridge, MA | 1,404 | 9.5% | 356 m² | 30.1¢ | 5.6 yrs |
| 15 | Lynn, MA | 1,392 | 10.2% | 148 m² | 30.1¢ | 5.6 yrs |
| 16 | Pawtucket, RI | 1,470 | 7.6% | 179 m² | 28.3¢ | 5.7 yrs |
| 17 | Hartford, CT | 1,408 | 7.9% | 203 m² | 29.2¢ | 5.8 yrs |
| 18 | Bridgeport, CT | 1,386 | 7.2% | 246 m² | 29.2¢ | 5.8 yrs |
| 19 | Newton, MA | 1,375 | 8% | 306 m² | 30.1¢ | 5.8 yrs |
| 20 | Greenfield, MA | 1,371 | 11.1% | 194 m² | 30.1¢ | 5.8 yrs |
| 21 | Cranston, RI | 1,402 | 9.5% | 151 m² | 28.3¢ | 6 yrs |
| 22 | Providence, RI | 1,392 | 13.1% | 166 m² | 28.3¢ | 6 yrs |
| 23 | New Bedford, MA | 1,315 | 17.6% | 128 m² | 30.1¢ | 6.1 yrs |
| 24 | Springfield, MA | 1,310 | 14.5% | 181 m² | 30.1¢ | 6.1 yrs |
| 25 | Pittsfield, MA | 1,300 | 8.7% | 320 m² | 30.1¢ | 6.1 yrs |
Most sunlight
| # | City | Sun hrs/yr | Lost to shade | Median roof | Rate | Payback |
|---|---|---|---|---|---|---|
| 1 | Palmdale, CA | 2,115 | 2.6% | 208 m² | 31.2¢ | 7.7 yrs |
| 2 | Las Cruces, NM | 2,112 | 3.3% | 137 m² | 14.8¢ | 7.9 yrs |
| 3 | Sierra Vista, AZ | 2,108 | 1.3% | 280 m² | 15.2¢ | 7.7 yrs |
| 4 | Lancaster, CA | 2,105 | 3.5% | 221 m² | 31.2¢ | 7.7 yrs |
| 5 | Alamosa, CO | 2,090 | 2.4% | 256 m² | 14.8¢ | 7.9 yrs |
| 6 | Clovis, NM | 2,085 | 1.7% | 288 m² | 14.8¢ | 7.9 yrs |
| 7 | Surprise, AZ | 2,077 | 1% | 247 m² | 15.2¢ | 7.7 yrs |
| 8 | Kingman, AZ | 2,068 | 3.5% | 307 m² | 15.2¢ | 7.7 yrs |
| 9 | Avondale, AZ | 2,063 | 0.8% | 271 m² | 15.2¢ | 7.7 yrs |
| 10 | Carlsbad, NM | 2,051 | 1.7% | 173 m² | 14.8¢ | 7.9 yrs |
| 11 | Henderson, NV | 2,045 | 2.9% | 184 m² | 15.3¢ | 7.7 yrs |
| 12 | Santa Clarita, CA | 2,045 | 3.2% | 116 m² | 31.2¢ | 7.8 yrs |
| 13 | Tucson, AZ | 2,043 | 3.8% | 161 m² | 15.2¢ | 7.7 yrs |
| 14 | El Paso, TX | 2,043 | 3.4% | 94 m² | 15.1¢ | 7.8 yrs |
| 15 | Midland, TX | 2,038 | 2.3% | 225 m² | 15.1¢ | 7.8 yrs |
| 16 | Odessa, TX | 2,037 | 1.5% | 477 m² | 15.1¢ | 7.8 yrs |
| 17 | Peoria, AZ | 2,035 | 1.6% | 341 m² | 15.2¢ | 7.7 yrs |
| 18 | Goodyear, AZ | 2,034 | 1.3% | 358 m² | 15.2¢ | 7.7 yrs |
| 19 | Glendale, AZ | 2,030 | 1.6% | 265 m² | 15.2¢ | 7.7 yrs |
| 20 | Chandler, AZ | 2,022 | 1.1% | 362 m² | 15.2¢ | 7.7 yrs |
| 21 | Yuma, AZ | 2,015 | 2.8% | 195 m² | 15.2¢ | 7.7 yrs |
| 22 | Roswell, NM | 2,013 | 5.2% | 185 m² | 14.8¢ | 8 yrs |
| 23 | Farmington, NM | 2,008 | 7% | 112 m² | 14.8¢ | 8 yrs |
| 24 | Thousand Oaks, CA | 2,007 | 3.3% | 335 m² | 31.2¢ | 7.9 yrs |
| 25 | Lubbock, TX | 2,006 | 3% | 304 m² | 15.1¢ | 7.8 yrs |
Least sunlight
| # | City | Sun hrs/yr | Lost to shade | Median roof | Rate | Payback |
|---|---|---|---|---|---|---|
| 764 | Warrington, North West | 914 | 4.7% | 75 m² | 26.1¢ | 14.1 yrs |
| 765 | Harrogate, Yorkshire and the Humber | 909 | 7.3% | 153 m² | 26.1¢ | 14.1 yrs |
| 766 | Barnsley, Yorkshire and the Humber | 908 | 4.1% | 114 m² | 26.1¢ | 14.1 yrs |
| 767 | Sunderland, North East | 908 | 3.6% | 113 m² | 26.1¢ | 14.1 yrs |
| 768 | Stoke-on-Trent, West Midlands | 897 | 5% | 97 m² | 26.1¢ | 14.5 yrs |
| 769 | Huddersfield, Yorkshire and the Humber | 897 | 5.4% | 86 m² | 26.1¢ | 14.5 yrs |
| 770 | Newcastle upon Tyne, North East | 891 | 6.1% | 86 m² | 26.1¢ | 14.5 yrs |
| 771 | Middlesbrough, North East | 890 | 5.3% | 95 m² | 26.1¢ | 14.5 yrs |
| 772 | Bolton, North West | 887 | 4.9% | 126 m² | 26.1¢ | 14.5 yrs |
| 773 | Perth, Scotland | 885 | 1.2% | 256 m² | 26.1¢ | 14.5 yrs |
| 774 | Berwick-upon-Tweed, North East | 882 | 3.9% | 176 m² | 26.1¢ | 14.9 yrs |
| 775 | Carlisle, North West | 879 | 4.2% | 122 m² | 26.1¢ | 14.9 yrs |
| 776 | Belfast, Northern Ireland | 879 | 6.2% | 199 m² | 26.1¢ | 14.9 yrs |
| 777 | Manchester, North West | 866 | 4.5% | 52 m² | 26.1¢ | 14.9 yrs |
| 778 | Dundee, Scotland | 853 | 8.4% | 127 m² | 26.1¢ | 15.3 yrs |
| 779 | Edinburgh, Scotland | 848 | 6.3% | 68 m² | 26.1¢ | 15.3 yrs |
| 780 | Aberdeen, Scotland | 841 | 3.8% | 297 m² | 26.1¢ | 15.3 yrs |
| 781 | Stirling, Scotland | 839 | 5% | 99 m² | 26.1¢ | 15.3 yrs |
| 782 | Ballymena, Northern Ireland | 838 | 2.8% | 174 m² | 26.1¢ | 15.4 yrs |
| 783 | Ayr, Scotland | 834 | 2% | 161 m² | 26.1¢ | 15.7 yrs |
| 784 | Kendal, North West | 832 | 8.1% | 103 m² | 26.1¢ | 15.7 yrs |
| 785 | Falkirk, Scotland | 811 | 5.8% | 228 m² | 26.1¢ | 16.1 yrs |
| 786 | Glasgow, Scotland | 797 | 8.1% | 69 m² | 26.1¢ | 16.2 yrs |
| 787 | Derry/Londonderry, Northern Ireland | 785 | 2% | 239 m² | 26.1¢ | 16.5 yrs |
| 788 | Inverness, Scotland | 759 | 1% | 163 m² | 26.1¢ | 17 yrs |
Shading
State College, PA loses the most sunlight to obstruction of any city measured — 20.5% below what an unshaded roof there would receive. Shading loss is the column most likely to differ from whatever a national calculator assumed about your roof.
Using this data
These are aggregate statistics we derived — the median of roughly 16 rooftop samples per city, not raw measurements — published so you can check our working rather than take our word for it. Free to reference and cite:
PanelFit, Rooftop solar statistics for 788 cities, derived from Google Solar API sampling. https://solarpanelfit.com/solar-data
The underlying rooftop measurements come from Google's Solar API and remain subject to Google's terms, which restrict redistribution of the underlying data. We are not granting a licence to redistribute it — what we publish here is our own sampling and aggregation, offered for reference and verification.
Generated 2026-08-22. Estimates only — not a quote and not financial advice.