Methodology and data sources
Everything on Bywatts comes from a named source. This page says where each dataset comes from, how often it refreshes, and exactly what our labels mean.
Where the data comes from
| Dataset | Source | Refresh |
|---|---|---|
| Power plants | HIFLD (US government, public domain) | On demand, re-run against the source |
| Substations | HIFLD (US government, public domain) | On demand, re-run against the source |
| Transmission lines | HIFLD (US government, public domain) | On demand, re-run against the source |
| Electricity statistics | EIA (US Energy Information Administration) | On demand, re-run against the source |
| Data centers | PeeringDB | On demand, re-run against the source |
| Solar companies | Direct Energy Partners industry directory | On demand, re-run against the source |
| Solar installers | National installer mastersheet, geocoded and deduplicated | On demand, re-run against the source |
What our labels mean
Verified
The listing's owner proved they control the company's own web domain by signing in with an email at that domain. Verification is free, it is earned, and it cannot be bought. A paid plan never grants it.
Owner-provided
Information a verified owner supplied about their own listing, such as a description, phone number, or service areas. We do not independently check it. Owner edits never overwrite the underlying source record, so the original data stays intact.
Sponsored and Featured
A paid placement on a directory page. It is advertising. It is not an endorsement, it is not a quality ranking, and it says nothing about whether the listing is verified.
What we do not do
- We use one cookieless, privacy-preserving analytics tool (Cloudflare Web Analytics) for aggregate traffic and page-performance metrics. We run no advertising trackers or tracking pixels. See the Privacy Policy.
- We do not sell visitor data.
- We do not invent listings, reviews, or ratings.
- We do not contact installers who have not claimed their listing.
Tax-credit eligibility layers
The map's tax-credit layers show where federal eligibility categories for clean-energy tax credits under the Inflation Reduction Act apply: two "energy community" categories, brownfield sites, low-income communities, tribal land, and tracts eligible for the section 30C credit. Each layer comes from a named federal source and is rebuilt by re-running our pipeline against that source, never estimated or inferred by us.
This is informational only, not legal or tax advice. Use it as a starting point for research, not as a determination of eligibility for any credit.
| Layer | Qualifying rule | Source |
|---|---|---|
| Energy community, fossil fuel employment | A metropolitan or non-metropolitan statistical area, or a non-MSA county, that meets the fossil-fuel employment threshold and has an unemployment rate at or above the national average. | IRS notice appendices; DOE National Energy Technology Laboratory (NETL) |
| Energy community, coal closure | A census tract with a coal mine closed after 1999 or a coal-fired generating unit retired after 2009, or a tract directly adjoining one. | IRS notice appendices; U.S. Department of the Treasury |
| Brownfield site | Within 250 meters of a site designated as a brownfield under CERCLA section 101(39). See "Brownfield results are proximity, not containment" below. | U.S. EPA Assessment, Cleanup and Redevelopment Exchange System (ACRES) |
| Low-income community | A census tract qualified under the New Markets Tax Credit program, eligible for the section 48(e)/48E(h) Category 1 bonus from September 2024 through 2028. | U.S. Department of Energy; CDFI Fund |
| Tribal land | A federally recognized reservation, off-reservation trust land, Hawaiian home land, or Alaska Native village statistical area, eligible for the Category 2 bonus. | U.S. Census Bureau TIGER/Line |
| 30C eligible tract | A census tract eligible for the section 30C alternative fuel refueling property credit as a low-income tract (through 2029), a non-urban tract (through 2030), or both. | Argonne National Laboratory (Alternative Fuels Data Center); U.S. Department of Energy |
Notice periods
The IRS updates the energy-community appendices roughly once a year. The map and the API let you choose which year's notice to view: Notice 2024-30, Notice 2025-31, or Notice 2026-39 (the current default). Only the two energy-community layers, fossil fuel employment and coal closure, change between notice periods. Brownfield sites, low-income communities, tribal land, and 30C eligible tracts are single current datasets and do not vary by period.
Data attribution
Most sources above are U.S. government public-domain data with no attribution requirement. The energy-community layers are the exception: DOE NETL's underlying data is published under a Creative Commons Attribution license. Required credit: "U.S. Department of Energy, National Energy Technology Laboratory, Interagency Working Group on Coal and Power Plant Communities and Economic Revitalization, and the U.S. Department of the Treasury."
Boundaries are cartographic, not survey-grade
These layers are drawn from the Census Bureau's 1:500,000 generalized boundary files, the same simplified geometry used everywhere else on this map. That is precise enough to show which tract, county, or metro area a point falls in, but it is not survey-grade and it is not a substitute for the IRS's and DOE's own eligibility-mapping tools. DOE's own tool for these same energy-community categories carries the same caveat: its data "should not be relied upon by taxpayers to determine eligibility." Treat a result here as a starting point, and verify anything near a boundary against the IRS and DOE mapping tools before relying on it.
Brownfield results are proximity, not containment
EPA ACRES publishes brownfield sites as a single center point per site, not a parcel boundary. A brownfield match means the location you checked is within 250 meters of a designated site's center point. It does not mean the specific parcel you clicked is itself the designated brownfield.
Connecticut coverage
Connecticut replaced its counties with planning regions in the 2022 Census vintage and renumbered its census tracts, but the IRS and Treasury still publish these eligibility lists using the older, county-based tract codes. We resolve those legacy codes against 2020 census tract boundaries so Connecticut stays covered by these layers instead of silently dropping out.
Tax-credit eligibility API
Every tax-credit layer above is also available as a public API. GET /api/check answers whether one point is eligible under each of the six categories for a given notice period. No account or API key is required.
| Parameter | Required | Value |
|---|---|---|
lat | Required | Latitude in decimal degrees |
lng | Required | Longitude in decimal degrees |
period | Optional | 2024, 2025, or 2026 (default 2026). Only changes the two energy-community categories. |
Category ids
| Category id | Label |
|---|---|
ec_ffe | Energy community - fossil fuel employment |
ec_coal | Energy community - coal closure |
brownfields | Energy community - brownfield site |
low_income | Low-income community (48(e)/48E(h) Category 1) |
tribal_lands | Tribal land (48(e)/48E(h) Category 2) |
tracts_30c | 30C eligible tract |
Example
Request:
GET /api/check?lat=36.72893&lng=-93.85476&period=2026
Response:
{
"lat": 36.72893,
"lng": -93.85476,
"period": "2026",
"eligible": true,
"categories": [
{ "id": "ec_ffe", "label": "Energy community - fossil fuel employment", "eligible": true,
"detail": { "geoid": "29009", "state": "Missouri", "county": "Barry County" } },
{ "id": "ec_coal", "label": "Energy community - coal closure", "eligible": false },
{ "id": "brownfields", "label": "Energy community - brownfield site", "eligible": false },
{ "id": "low_income", "label": "Low-income community (48(e)/48E(h) Category 1)", "eligible": true,
"detail": { "geoid": "29009960500", "state": "Missouri", "county": "Barry County" } },
{ "id": "tribal_lands", "label": "Tribal land (48(e)/48E(h) Category 2)", "eligible": false },
{ "id": "tracts_30c", "label": "30C eligible tract", "eligible": true,
"detail": { "geoid": "29009960500", "state": "Missouri", "county": "Barry County" } }
],
"disclaimer": "Informational only, not legal or tax advice. Boundaries are cartographic; verify parcel-edge cases against the IRS and DOE mapping tools."
}
This example tract, 29009960500 in Barry County, Missouri, is eligible as a 30C tract and a low-income community; Barry County also qualifies as a fossil-fuel-employment energy community for notice period 2026.
Limits and access
60 requests per minute and 1,000 per day, tracked per IP address; a request over either limit gets a 429 response. No API key is required, and GET requests are open to cross-origin access (CORS).
This endpoint is exempt from the bot protection that guards the rest of the site, so ordinary command-line and server-to-server clients work without a browser. The per-IP limits above are what keeps it fair, and they are enforced, so a client that ignores them starts receiving 429 rather than being quietly throttled.
Disclaimer
Every response carries the same disclaimer shown above: informational only, not legal or tax advice, with cartographic boundaries that are not a substitute for the IRS and DOE mapping tools. Verify parcel-edge cases directly before relying on a result.
Corrections
If something here is wrong, tell us and we will fix it. Owners can claim their listing to correct it directly, or anyone can use support.