DSIRE Energy Incentives Scraper
parseforge/dsire-energy-incentives-scraper
OtherAutomationDeveloper tools
Scrapes US clean-energy incentive programs from DSIRE by state and category. Returns each program as a flat row with name, state, type, eligible sectors, and full description.
- Total users
- 3
- Monthly active
- 1
- Total runs
- 141
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
DSIRE Energy Incentives Scraper
Scrape US clean-energy incentives from DSIRE by state, category, or program type, up to a million per run. Every program comes with its name, state, incentive type, eligible sectors, and full description. No API key required. Export to CSV, JSON, Excel, or XML.
DSIRE is the most complete public database of US renewable energy and energy efficiency incentives, but browsing it manually means clicking through thousands of state and federal programs. This Actor reads the public program listings directly, filters them by state abbreviation or category keyword, and returns each match in one consistent schema.
| Who uses it | What they scrape DSIRE for |
|---|---|
| Solar installers | Find active rebates and tax credits their customers can claim in a specific state. |
| Energy consultants | Build a current list of efficiency incentives for commercial client proposals. |
| Policy analysts | Track which states are adding or removing clean-energy grant programs. |
| Homeowners | Check what federal and state incentives apply to a planned heat-pump or solar project. |
What it does
This Actor collects DSIRE energy incentive programs filtered by state and category, and returns each one as a flat row.
- ๐ State filter: pass a two-letter US state abbreviation to return only programs available there.
- ๐ท๏ธ Category filter: narrow results by technology or sector with a partial keyword like solar, wind, or efficiency.
- ๐ฆ Flat output: every program lands as one row with its name, state, type, category, eligible sectors, and full description.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with DSIRE data
โ๏ธ Qualify solar leads by state.
A solar installer runs the Actor for CA and category solar to pull every active rebate, tax credit, and net-metering policy, then shares the list with a prospective customer.
๐ข Build commercial retrofit proposals.
An energy consultant scrapes all efficiency programs in NY, filters for commercial-sector eligibility, and attaches the incentive summary to a building-owner proposal.
๐ Monitor policy changes over time.
A policy analyst schedules a weekly run for a set of states and diffs the new dataset against the previous week to spot programs that were added or removed.
๐ Plan a home electrification budget.
A homeowner enters their state and the keyword heat pump to see every rebate and financing option DSIRE lists, then calculates the net project cost.
Why choose this scraper
| What you get | |
|---|---|
| No API registration | Reads the public DSIRE listings directly with no app setup or rate-limit headaches. |
| Fixed schema | Every run returns the same columns so your downstream analysis never breaks. |
| One-click exports | Download results as CSV, JSON, Excel, or XML from the Apify dataset tab. |
How it compares
Three other Apify actors also target DSIRE or the broader solar-incentives space. Here is how they compare on the concrete capabilities a buyer typically checks.
| Feature | ParseForge | DSIRE Energy Incentives Crawler | DSIRE Incentives Scraper | Solar Industry - Installers, Reviews, Incentives & AI Analysis |
|---|---|---|---|---|
| State filter | Yes, two-letter abbreviation | Yes | Yes | Yes |
| Category keyword filter | Yes, partial match | Yes | Not listed | Not listed |
| Full program description text | Yes | Yes | Not listed | Not listed |
| Eligible sectors field | Yes | Yes | Not listed | Not listed |
| Incentive amounts extracted | Not listed | Yes | Not listed | Not listed |
| Solar installer reviews and pricing | Not listed | Not listed | Not listed | Yes |
Configure the run
Drive the Actor with a state abbreviation, a category keyword, or both, and set a cap on how many programs to collect per run. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10
}
A larger pull:
{
"maxItems": 200
}
Pricing
Pay-per-result: $0.0055 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.55 |
| 1,000 results | $5.50 |
| 10,000 results | $55.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the DSIRE Energy Incentives Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to DSIRE through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/dsire-energy-incentives-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your state abbreviation is a valid two-letter US code like CA, not California. For the category filter, try a shorter keyword (solar instead of solar photovoltaic) because the match is partial against DSIRE's category text.
The run finished but returned fewer programs than I expected.
DSIRE lists about 2,500 programs total. If you set a state filter, only programs tagged with that state are returned. Remove the state filter to see the full national list.
Some fields are empty in my results.
DSIRE does not populate every field for every program. Empty cells mean the information was not provided on the DSIRE page for that specific program.
The Actor timed out before reaching my maxItems limit.
Increase the run timeout in the Apify run settings. For very large extractions near the million-item cap, consider splitting the work into multiple runs by state.
I got an error about the website being unreachable.
DSIRE may occasionally be down for maintenance. Retry the run after a few minutes. If the problem persists, check the DSIRE website directly in a browser to confirm it is online.
FAQ
| Question | Answer |
|---|---|
| What is DSIRE? | DSIRE is the Database of State Incentives for Renewables and Efficiency, maintained by the N.C. Clean Energy Technology Center. It tracks thousands of US federal, state, local, and utility incentives for clean energy and energy efficiency. |
| Do I need an API key or login to scrape DSIRE? | No. This Actor reads the public DSIRE program listings directly, so there is no registration, OAuth, or API key required. |
| Can I filter by more than one state at a time? | The state input accepts a single two-letter abbreviation per run. To collect programs for multiple states, run the Actor once per state or leave the field empty to scrape all states. |
| How does the category filter work? | The category field does a partial match against the program category text on DSIRE. Entering solar will return programs categorized as Solar, Solar Thermal, Solar Water Heat, and similar. |
| What fields does each result row contain? | Each row includes the program name, state, incentive type, category, eligible sectors, a full text description, and other metadata DSIRE publishes. The exact field list is shown in the sample output on the Actor's page. |
| How many programs can I scrape in one run? | You set the limit with the maxItems field, up to 1,000,000. DSIRE lists roughly 2,500 active programs, so a single run can capture the entire database. |
| Can I schedule this Actor to run automatically? | Yes. Apify schedules let you run the Actor daily, weekly, or on a custom cron expression, so your dataset stays current without manual effort. |
| What export formats are supported? | You can export the results to CSV, JSON, Excel, XML, or RSS from the Apify dataset tab, or push them to a webhook, S3, or Google Drive with an Apify integration. |
| Does this Actor include federal incentives? | Yes. When you leave the state filter empty, the Actor returns federal programs alongside state and local ones. Filtering by a specific state still includes federal programs that apply there. |
| Is the data updated when DSIRE changes? | The Actor reads the live DSIRE website on each run, so it always returns the current listings. Schedule regular runs to keep your copy in sync. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by N.C. Clean Energy Technology Center. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| maxItems | integer | How many energy incentives to collect per run. | 10 |
| state | string | Two-letter US state abbreviation to filter programs (e.g. CA, TX, NY). Leave empty for all states. | not set |
| category | string | Filter by program category (e.g. solar, wind, efficiency). Partial match supported. | not set |
Pricing
from $5.00 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.005 to $0.0055 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~dsire-energy-incentives-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
