German Energy Assets Scraper (MaStR)
Pricing
Pay per usage
German Energy Assets Scraper (MaStR)
Scrape German solar, wind, battery and other power units from the official Marktstammdatenregister: capacity, location, commissioning date, operator and grid operator.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Pohja Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Germany's official energy-unit registry — the Marktstammdatenregister (MaStR) — for solar, wind, battery, biomass, hydro and conventional generation units. Every power-generating installation in Germany must be registered here by law, which makes it the complete picture of who generates electricity, where, at what capacity, and since when.
9.3 million registered units. No API key, no account.
What you get
| Field | Description |
|---|---|
unitName, mastrNumber | Unit designation and its registry number |
energySource | Solar, wind, battery storage, biomass, hydro, natural gas, … |
grossPowerKw, netPowerKw | Installed capacity |
operationalStatus | In operation, planned, temporarily or permanently shut down |
commissionedAt, plannedCommissioningAt, decommissionedAt, registeredAt | Full lifecycle dates |
postalCode, city, municipality, district, state, street, latitude, longitude | Location |
operatorName, operatorMastrNumber, operatorIsCompany | Who runs the unit |
gridOperatorName, gridOperatorMastrNumber | Which grid it feeds |
solarModuleCount, solarOrientation, solarInstallationType | Solar-specific detail |
eegInstalledPowerKw, eegNumber | Renewable Energy Act registration |
url | Direct link to the unit in the registry |
Use cases
- Solar, heat-pump and battery installers — find every commercial-scale system in your service area, with capacity, age and operator, to target maintenance, repowering and battery-retrofit offers.
- Repowering and O&M providers — filter by commissioning date to find installations reaching end of subsidy or end of life.
- Energy sales and PPA origination — locate operators above a capacity threshold in a given region.
- Grid and market analysts — capacity build-out by technology, region and year.
- M&A and asset scouting — portfolios by operator across municipalities.
Input
| Option | Description |
|---|---|
cities | German city names, spelled as the registry stores them (München, not Munich). |
municipalities | Municipality names, where the Gemeinde differs from the city. |
energySources | solar, wind, battery, biomass, hydro, naturalGas, geothermal, nuclear. |
minPowerKw / maxPowerKw | Capacity window. A domestic rooftop array is roughly 3–15 kW, a commercial rooftop 30–750 kW. |
postalCodePrefix | Narrow to part of a city, e.g. 20. |
operationalStatus | Defaults to units in operation. |
commissionedAfter / commissionedBefore | Commissioning window. |
registeredAfter | Monitor newly registered units. |
onlyCompanyOperators | Keep only units run by a legal entity. |
maxItems, pageSize, includeRawFields | Run size, request size, raw payload. |
Example: commercial rooftop solar in Hamburg
{"cities": ["Hamburg"],"energySources": ["solar"],"minPowerKw": 30,"onlyCompanyOperators": true,"operationalStatus": "In Betrieb","maxItems": 500}
Example: battery storage added this year across three cities
{"cities": ["München", "Köln", "Stuttgart"],"energySources": ["battery"],"registeredAfter": "2026-01-01T00:00:00Z"}
How filtering works
The registry only applies location filters on its side. Everything else — technology, capacity, dates, operator type — is applied by this Actor over the rows it reads, which is why a location is worth giving: with one it reads a city's few tens of thousands of rows, without one it starts at the top of all 9.3 million.
Capacity and status filters are strict: a unit with no capacity recorded does not pass a minPowerKw filter rather than slipping through.
Privacy
The registry pseudonymises units held by private individuals — they appear as natürliche Person (ABR…) with no name or street. This Actor keeps it that way: operatorName is only populated for legal entities, and onlyCompanyOperators restricts output to those. No attempt is made to re-identify private operators.
Pricing
Billed per unit delivered. Rows that are read but filtered out, and duplicates, are not charged.