While hunting for German open data sources I found something wild: the Bundesnetzagentur (federal network agency) runs a public register — the Marktstammdatenregister (MaStR) — that legally must track every energy installation in Germany.

Not just big plants. Every solar park, every wind turbine, every home battery, every biogas digester. ~9.7 million records, each with GPS coordinates, capacity in kW, commissioning dates, voltage level — and here's the kicker — the operating company's address, email, phone, website and commercial register number.

All public, licensed under Datenlizenz Deutschland (Germany's CC-BY equivalent). Free API, no API key, no auth.

The API is undocumented but it's right there

The website is a frontend for a JSON endpoint:

GET https://www.marktstammdatenregister.de/MaStR/Einheit/VerkleinertOeffentlich?page=1&pageSize=25&sort=&filter=... 

Filters use Field~op~'value' syntax chained with ~and~. Useful IDs I reverse-engineered:

Filter Meaning
Energieträger~eq~'2495' solar
Energieträger~eq~'2497' wind
Energieträger~eq~'2496' battery storage
Bruttoleistung der Einheit~gt~'1000' >1 MW capacity
Betriebs-Status~eq~'35' in operation
Bundesland~eq~'1403' Bavaria
Inbetriebnahmedatum der Einheit~gt~'01.01.2026' commissioned this year

Example — every operational solar park above 1 MW run by a company (not a private person):

filter=Energieträger~eq~'2495'~and~Bruttoleistung der Einheit~gt~'1000'~and~Betriebs-Status~eq~'35'~and~Name des Anlagenbetreibers (nur Org.)~nct~'natürliche Person' 

That query alone returns 8,787 utility-scale solar parks.

The lead-gen part nobody built

Each installation links to an AnlagenbetreiberId. Following it to marktstammdatenregister.de/MaStR/Akteur/Marktakteur/Detail/{id} gives you the operator's public profile: street address, email, phone, website, legal form, register court, HRB number, VAT ID, SME classification.

So the register is effectively a free B2B database of every company that owns energy infrastructure in Germany — solar installers, project developers, municipal utilities (Stadtwerke).

Obvious uses:

  • Repowering sales: PV plants >100 kW commissioned before 2011 (old feed-in tariff era = upgrade candidates), with the owner's direct contact
  • Solar/O&M prospecting: every solar park above X kW in your sales region
  • Market research: new capacity by state/month, battery boom tracking, operator consolidation

I packaged it into a scraper

I built an Apify actor that wraps the endpoint, handles pagination + the weird /Date(...)/ timestamps, dedupes operator profiles, and emits two datasets: installations + an operators lead list. Pay-per-result, ~$1/1k records, no subscription:

https://apify.com/dach_data_tools/mastr-energy-register-scraper

Source notes + the other German data tools (job board, company registry) live here:

https://github.com/leotest99999-hash/dach-data-tools

Caveats

  • Private persons' names are anonymized by the register itself — only organization contacts are returned, which is also what you want for B2B anyway
  • GDPR still applies downstream — business contact data isn't a free-for-all
  • The filter syntax is case-sensitive German; mind the umlauts in field names

It's rare to find a register this complete sitting on an undocumented-but-open API. If you're in energy, real estate or German B2B, it's worth a look.