The Mine Works
← All posts
use-case August 16, 2026 · 3 min read

Bundesanzeiger Scraper: German Company Filings Without a Data Subscription

Pull German company filings from the Bundesanzeiger by name: annual accounts, insolvency proceedings, ad hoc disclosures and voting rights notices. No login, no API key.

Try the scraper

The actor referenced in this article. Pay only for results delivered.

View the scraper →

If you need to know whether a German company filed accounts last year, went into insolvency proceedings, or issued an ad hoc disclosure, the authoritative source is the Bundesanzeiger. It is the German federal gazette, and publication there is a legal obligation rather than a courtesy. Every GmbH, AG and registered partnership operating in Germany lands in it.

The problem is access. The commercial providers who resell this data charge an annual seat licence, and their coverage is the same public gazette you could read yourself. For a one off question, or for a daily insolvency watch on a list of 40 counterparties, a subscription is the wrong shape of tool.

Try it live: Bundesanzeiger Monitor: German Company Filings API. Pay only for results delivered, no result no charge.

The Bundesanzeiger Monitor searches the gazette by company name and returns structured publication records. It runs over plain HTTP with no browser, so a search across 40 results finishes in about ten seconds.

What you can filter by

The gazette organises publications into areas, and the actor exposes them as a single category filter:

CategoryWhat it covers
All areasEvery publication type, the default
Annual financial statement noticesJahresabschluss filings, the bulk of the gazette
Insolvency and bankruptcy proceedingsOpenings, appointments, terminations
Stock corporations (AG, SE)Corporate actions for listed and unlisted AGs
GmbH and UG companiesThe most common German company forms
Partnerships (GbR, OHG, KG, PartG)Registered partnership publications
Insider information (ad hoc disclosures)Market sensitive announcements
Voting rights notificationsShareholding threshold crossings
Official announcementsBekanntmachungen
Institutional publicationsPublic bodies and institutions
ProclamationsVerkündungen

Leaving the category on All areas is usually right for a name search, because you rarely know in advance which register a given filing landed in.

Three things this is actually good for

Counterparty and credit risk. Annual accounts tell you whether a supplier or customer is filing on time and what shape their balance sheet was in. A German company that has stopped filing is a signal on its own.

Insolvency monitoring. Filter to insolvency proceedings, pass your counterparty list, and schedule it daily. Insolvency notices appear in the gazette as part of the legal process, so this is the earliest public signal available rather than a news report about it.

M&A and market research. Voting rights notifications show shareholding threshold crossings. Ad hoc disclosures are, by design, the market moving announcements a listed company is obliged to publish immediately.

Pulling it from Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("themineworks/germany-bundesanzeiger-monitor").call(run_input={
    "searchTerms": ["Siemens Aktiengesellschaft", "BASF SE"],
    "category": "0",              # all areas
    "maxResultsPerSearch": 100,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    if item.get("_type") == "summary":
        continue
    print(item["company_name"], item["publication_date"], item["publication_type"])

Pass several searchTerms in one run. Results are deduplicated across terms, so overlapping company names do not produce repeated rows or repeated charges.

Running it on a schedule

Filings arrive continuously, and the value of a gazette watch is catching them early. Save your input as a task, then add a daily schedule in the Apify Console. Nothing is charged for a schedule existing, and a search that returns nothing is never billed, so a quiet watchlist day costs nothing.

Pricing

Pay per publication delivered, from $1.60 per 1,000 on higher Apify plans and $2.25 per 1,000 on the free plan. Empty searches and failed runs are never charged. There is no subscription and no seat licence.

Use it from an AI agent

The actor is exposed as an MCP tool, so an agent can answer “has this company filed accounts this year” without you writing an integration:

https://mcp.apify.com/?tools=themineworks/germany-bundesanzeiger-monitor
Related Actor

Explore the scraper referenced in this article: inputs, outputs, and pricing, then run it on Apify.

Frequently asked questions

Is Bundesanzeiger data public? +

Yes. The Bundesanzeiger is the German federal gazette, and companies operating in Germany are legally required to publish annual financial statements and certain corporate events there. The records are published for public inspection, which is the whole point of a gazette.

Do I need a Handelsregister account or a paid provider? +

No. Commercial providers repackage these filings and charge a seat licence for access. The underlying publications are free to read, so the scraper reads them directly.

Can I monitor for new insolvency filings? +

Yes. Filter to the insolvency category and run the actor on a schedule. Each run returns the publications matching your search terms, so a daily run surfaces new proceedings as they are published.