EnergySage Solar Data Scraper
Pricing
from $2.70 / 1,000 solar costs
EnergySage Solar Data Scraper
Choose one public EnergySage view per run: state solar costs, solar panel rankings, solar news, or installer profiles. Get structured fields and source links for solar research, cost comparisons, and installer lists.
Pricing
from $2.70 / 1,000 solar costs
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
☀️ EnergySage solar data for every run
For solar analysts, installers, market researchers, and developers, this Actor collects one selected public EnergySage view per run. It returns structured state solar costs, solar panel rankings, solar news articles, or installer profiles with source links and retrieval times. Use the data to compare panel prices, review state costs, follow solar news, or build installer lists.
- Find Solar Installers California with public installer names, contacts, services, and locations.
- Build a state-aware installer list with Solar Installers from the EnergySage directory.
- Collect EnergySage source articles with Solar News and their links and categories.
- Compare state-level solar costs with Solar Panel Cost using installed cost, savings, and payback values.
- Compare panel prices with Solar Panel Prices using price-per-watt and warranty data.
- Review top choices with Best Solar Panels from the selected best-overall category.
- Compare brands and models with Solar Panel Rankings across EnergySage categories.
📦 Four EnergySage data views
What this Actor returns
Choose one view for each run. Rows include a recordType value so you can tell which view produced them. Source links and retrieval times are included; source update times are included when EnergySage publishes them.
State solar costs
Returns state, installed cost per watt, system size, total cost, estimated savings, estimated payback period, currency, source URL, and retrieval time.
Solar panel rankings
Returns brand, model, rank, efficiency, price per watt, warranty, power, panel type, category, currency, source URL, and retrieval time.
Solar news articles
Returns article title, article URL, categories, and retrieval time.
Installer profiles
Returns the EnergySage marketplace link, update and retrieval times, and the listed installer name, website, contact, location, description, services, service areas, equipment brands, financing partners, and qualification details.
▶️ Run one public view at a time
How a run works
- Choose one
target: State solar costs, Solar panel rankings, Solar news, or Installer directory. - Set the options that apply to that view. Fields for other views are ignored.
- Set
Maximum resultsif you want a bound. Leave it empty to return all available results until the selected source is exhausted. - Run the Actor and open the dataset link in the output.
Each run reads supported public EnergySage pages. It does not request quotes, create personalized solar proposals, or use private account data.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
target | string | Required. Select one public EnergySage view: stateSolarCosts, solarPanelRankings, solarNews, or installerDirectory. |
panelCategory | string | For Solar panel rankings, choose all, bestOverall, bestValue, mostEfficient, or bestWarranty. Ignored for other views. |
serviceType | string | Optional. For Installer directory, enter one service type to filter profiles. Ignored for other views. |
approvedOnly | boolean | For Installer directory, keep only profiles marked EnergySage Approved. Ignored for other views. |
states | array of strings | Optional. For State solar costs, choose one or more supported state codes, or leave empty for all 49 supported states except Nebraska. For Installer directory, choose one or more supported state codes. Ignored for Solar panel rankings and Solar news. |
maxItems | integer | Optional. Stop after this many results. Leave it empty to return all available results until the selected source is exhausted. |
Nebraska (NE) is not a supported state-cost choice because EnergySage does not publish the required state-cost fields for it.
Example input
This is a smallest common input from a successful current-beta run:
{"target": "solarPanelRankings","maxItems": 1,"panelCategory": "all","serviceType": "","approvedOnly": false,"states": []}
🧾 Output
Output link
| Field | Type | What it does |
|---|---|---|
results | string (URL) | Links to the rows in the default dataset overview. |
State solar cost
| Field | Type | What it does |
|---|---|---|
recordType | string | Identifies this row as stateSolarCost. |
state | string | State code for the solar cost data. |
installedCostPerWatt | number | Installed solar cost for one watt of system capacity. |
systemSizeKw | number | Solar system size in kilowatts. |
totalCost | number | Total installed cost of the system. |
savings | number | Estimated savings for the system. |
paybackPeriodYears | number | Estimated years to pay back the system cost. |
currency | string | Currency used for cost and savings values. |
sourceUrl | string (URL) | EnergySage page for this state cost. |
retrievedAt | string (date-time) | Time when the Actor retrieved the row. |
sourceUpdatedAt | string (date-time) | Time shown by EnergySage for the source data, when published. |
One genuine row from a successful current-beta run:
{"recordType": "stateSolarCost","state": "AL","installedCostPerWatt": 3.8080396475770937,"systemSizeKw": 14.11214757709251,"totalCost": 19040,"savings": 25359.893392070484,"paybackPeriodYears": 19.647797356828196,"currency": "USD","sourceUrl": "https://www.energysage.com/local-data/solar-panel-cost/al/","retrievedAt": "2026-08-09T00:12:34.102Z","sourceUpdatedAt": "2026-07-31T00:00:00.000Z"}
Solar panel ranking
| Field | Type | What it does |
|---|---|---|
recordType | string | Identifies this row as solarPanelRanking. |
brand | string | Panel brand. |
model | string | Panel model. |
rank | integer | Panel rank in the selected category. |
efficiencyPercent | number | Panel efficiency as a percent. |
pricePerWatt | number | Panel price for one watt of rated power. |
warranty | string | Warranty terms shown by EnergySage. |
wattageWatts | number | Panel power in watts. |
panelType | string | Panel type. |
category | string | Ranking category used for the panel. |
currency | string | Currency used for the price per watt. |
sourceUrl | string (URL) | EnergySage page for this panel ranking. |
retrievedAt | string (date-time) | Time when the Actor retrieved the row. |
sourceUpdatedAt | string (date-time) | Time shown by EnergySage for the ranking data, when published. |
One genuine row from a successful current-beta run:
{"recordType": "solarPanelRanking","brand": "REC","model": "Alpha Pure-RX","rank": 1,"efficiencyPercent": 22.1,"pricePerWatt": 2.45,"warranty": "Product 25 years; performance 25 years","wattageWatts": 460,"panelType": "Bifacial duo","category": "all","currency": "USD","sourceUrl": "https://www.energysage.com/solar/best-solar-panels-complete-ranking/","retrievedAt": "2026-08-09T00:00:31.867Z","sourceUpdatedAt": "2026-07-01T00:00:00.000Z"}
Solar news article
| Field | Type | What it does |
|---|---|---|
recordType | string | Identifies this row as solarNewsArticle. |
title | string | Article title. |
articleUrl | string (URL) | Link to the article. |
categories | array of strings | Categories assigned to the article. |
retrievedAt | string (date-time) | Time when the Actor retrieved the article. |
One genuine row from a successful current-beta run:
{"recordType": "solarNewsArticle","title": "Solar panels can boost home values by up to $79,000","articleUrl": "https://www.energysage.com/news/solar-power-as-a-home-improvement-strategy/","categories": ["Home solar"],"retrievedAt": "2026-08-08T23:55:21.999Z"}
Installer profile
The installer object keeps profile details nested. Fields that EnergySage does not publish for a profile may be absent.
| Field | Type | What it does |
|---|---|---|
recordType | string | Identifies this row as installerProfile. |
marketplaceUrl | string (URL) | Link to the installer in the EnergySage marketplace. |
retrievedAt | string (date-time) | Time when the Actor retrieved the profile. |
profileUpdatedAt | string (date-time) | Time when the profile was last updated on EnergySage, when published. |
installer | object | Installer details shown by EnergySage. |
installer.name | string | Installer name. |
installer.websiteUrl | string (URL) | Installer website link. |
installer.contact | object | Listed contact details. |
installer.contact.phone | string | Installer phone number, when listed. |
installer.contact.email | string | Installer email address, when listed. |
installer.location | object | Listed installer location. |
installer.location.address | string | Street address, when listed. |
installer.location.city | string | City, when listed. |
installer.location.state | string | State, when listed. |
installer.location.postalCode | string | Postal code, when listed. |
installer.location.country | string | Country, when listed. |
installer.description | string | Installer description, when listed. |
installer.foundedYear | integer | Year the installer was founded, when listed. |
installer.services | array of strings | Services listed for the installer. |
installer.serviceAreas | array of strings | Areas where the installer offers service. |
installer.equipmentBrands | array of strings | Equipment brands supported by the installer. |
installer.financingPartners | array of strings | Financing partners listed for the installer. |
installer.qualification | object | Approval and qualification details. |
installer.qualification.energySageApproved | boolean | Whether EnergySage marks the installer as Approved. |
installer.qualification.licenses | array of strings | Licenses listed for the installer. |
installer.qualification.workmanshipWarranty | string | Workmanship warranty listed for the installer. |
installer.qualification.insurance | string | Insurance information listed for the installer. |
One genuine row from a successful current-beta run:
{"recordType": "installerProfile","marketplaceUrl": "https://www.energysage.com/supplier/29287/roi-solar-inc/","retrievedAt": "2026-08-09T00:05:09.961Z","profileUpdatedAt": "2026-08-07T00:00:00.000Z","installer": {"name": "R.O.I. Solar Inc.","websiteUrl": "https://roisolarpower.com/","contact": {"phone": "(209) 600-4433","email": "marvin.w@roisolarpower.com"},"location": {"address": "2000 W Turner Rd","city": "Lodi","state": "CA","postalCode": "95242","country": "United States"},"description": "R.O.I. Solar Inc. is a licensed solar, battery storage, and roofing contractor serving California's Central Valley and greater Sacramento region, including Lodi, Stockton, Modesto, Atwater, Sacramento, and Fairfield. As a licensed roofing contractor as well as a solar installer, we can address the whole roof — not just the panels on top of it. That means when a roof needs work before solar, we handle both under one roof, on one timeline, with one point of accountability. We install across PG&E, SMUD, and community-choice territories and offer multiple ways to go solar: power purchase agreements, cash purchase, and financing. Our goal is straightforward — a system sized to your actual usage, installed to code, that does what we said it would do.","services": ["Installation","Financing","Energy Auditing","Construction","Roofing","Electrical Contracting","General Contracting","Solar Repair & Maintenance","Commercial Solar"],"serviceAreas": ["CA"],"qualification": {"energySageApproved": true,"licenses": ["CSLB #1082435 — California solar and roofing contractor"],"workmanshipWarranty": "10-year workmanship guarantee and 25 year product warranty"}}}
💳 Pricing
How charging works
The Actor charges per successfully saved public row. The selected view determines which buyer-facing event is used.
| Buyer-facing event | FREE | BRONZE | SILVER | GOLD | DIAMOND | PLATINUM |
|---|---|---|---|---|---|---|
| Solar cost | $0.0045 | $0.00385 | $0.0033 | $0.0027 | $0.0027 | $0.0027 |
| Panel ranking | $0.0045 | $0.00385 | $0.0033 | $0.0027 | $0.0027 | $0.0027 |
| News article | $0.0045 | $0.00385 | $0.0033 | $0.0027 | $0.0027 | $0.0027 |
| Installer profile | $0.0009 fixed | $0.0009 fixed | $0.0009 fixed | $0.0009 fixed | $0.0009 fixed | $0.0009 fixed |
🔌 Integrations
Apify dataset
The output link opens the default Apify dataset view. You can use the dataset link with Apify's dataset tools or API.
Video guide
❓ FAQ
Can one run collect all four EnergySage views?
No. Choose one target for each run, then start another run for a different view.
How do I collect all available state costs or installer profiles?
Leave maxItems empty to return all available results until the selected source is exhausted. For State solar costs, also leave states empty to use all 49 supported states except Nebraska.
Why is Nebraska not in the state list?
EnergySage does not publish the required state-cost fields for Nebraska, so this Actor does not offer NE for the State solar costs view.
Can I narrow the installer directory?
Yes. For Installer directory, you can choose one or more states, enter one service type, and turn on EnergySage Approved only. These options apply to Installer directory; fields for other views are ignored.
What does the panel category change?
It selects the ranking view for Solar panel rankings: all panels, best overall, best value, most efficient, or best warranty.
Does this Actor return quotes or private EnergySage data?
No. It collects supported data from public EnergySage pages. It does not request quotes, create personalized proposals, or use account-only data.
Do I need an EnergySage account to run it?
No. The Actor reads supported public EnergySage pages and does not require buyer login or private account access.
📝 Changelog
0.0: Initial release
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Solar Installer Directory Scraper - EnergySage Suppliers — Use it for an EnergySage directory-only crawl of installers, financiers, and equipment partners.
- EnergySage Solar Data Scraper — Compare another EnergySage-focused option for panel rankings, state solar costs, news, and directory data.
- EnergySage Solar Data Scraper — Use a second EnergySage data option when you need the same public source views.
- Solar Industry - Installers, Reviews, Incentives & AI Analysis — Add SolarReviews and DSIRE incentive data to broader solar market research.
- Solar Installer Lead Scraper - Verified Emails — Find solar installer contacts from Google Maps for a separate outreach list.
Made with ❤️ by Maxime Dupré