Bundesanzeiger Scraper — German Company Filings avatar

Bundesanzeiger Scraper — German Company Filings

Pricing

from $12.00 / 1,000 result scrapeds

Go to Apify Store
Bundesanzeiger Scraper — German Company Filings

Bundesanzeiger Scraper — German Company Filings

Search Germany's official company gazette (bundesanzeiger.de) by company name and extract published notices: annual filing index, capital market notices, corporate announcements, court notices, publication date, and full notice text where publicly viewable. No login required.

Pricing

from $12.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Bundesanzeiger Scraper

Search Germany's official company gazette (bundesanzeiger.de) by company name and extract published notices — filing type, publication date, and full notice text where publicly viewable.

Why use this actor?

The Bundesanzeiger (Federal Gazette) is where German companies are legally required to publish corporate announcements: supervisory board changes, capital market notices, court notices, and the index of filed annual accounts. Lawyers, credit-risk teams, M&A researchers, and compliance teams use it to track what a German counterparty has published and when. The site itself has no public API and its search is a stateful, session-bound web form — this actor handles that so you can pull structured results by company name instead of clicking through it by hand.

How to scrape Bundesanzeiger company data

  1. Enter a company name in Search (e.g. "Robert Bosch GmbH", "Siemens AG", "Volkswagen AG"). German legal-form suffixes (GmbH, AG, KG) improve match precision since Bundesanzeiger indexes the full registered name.
  2. Optionally restrict to one Publication Area — for example Gesellschaftsbekanntmachungen for corporate announcements only, or Rechnungslegung/Finanzberichte to see which annual accounts a company has filed and when.
  3. Set Max Results and run. The actor paginates through Bundesanzeiger's own results (20 per page) until it reaches your limit.
  4. Each result includes the notice's full free text when the site allows it (see Limitations below for the one category it doesn't).

Typical uses: monitoring a counterparty for new supervisory-board or capital-market notices, building a filing-history index for a portfolio of German companies, or checking whether a company has published its required annual accounts.

Input

FieldTypeRequiredDescription
searchQueryStringNoCompany name to search for. Defaults to "Robert Bosch GmbH" if left empty.
filingAreaStringNoRestrict to one publication area (see the dropdown for the full list). Default: all areas.
fetchContentBooleanNoFetch each notice's full text (default: true). Disable for a faster, index-only run.
maxResultsIntegerNoMaximum notices to return (default: 20).
proxyConfigurationObjectNoApify proxy settings. Defaults to German residential proxy.

Output

Each result contains:

FieldTypeExample
companyNameString"Robert Bosch Gesellschaft mit beschränkter Haftung"
locationString"Stuttgart"
filingAreaString"Gesellschaftsbekanntmachungen"
filingTypeString"Aufsichtsrat" (notice title as published)
filingReferenceStringSecondary reference shown in the listing (e.g. WKN/ISIN for capital-market notices), if any
publicationDateString"2026-07-07"
registerCourtString"Amtsgericht Stuttgart" (only when the notice text itself mentions one — see Limitations)
registerNumberString"HRB 14000" (only when the notice text itself mentions one)
documentTextStringFull published notice text (empty when captchaRequired is true)
captchaRequiredBooleantrue if the site requires solving a CAPTCHA to view this notice's text (annual-accounts filings only — see Limitations)
urlStringSession-bound link to the notice on bundesanzeiger.de (valid roughly 30 minutes per the site's own session policy)
scrapedAtStringISO 8601 timestamp

Example output

{
"companyName": "Robert Bosch Gesellschaft mit beschränkter Haftung",
"location": "Stuttgart",
"filingArea": "Gesellschaftsbekanntmachungen",
"filingType": "Aufsichtsrat",
"filingReference": "",
"publicationDate": "2026-07-07",
"registerCourt": "Amtsgericht Stuttgart",
"registerNumber": "",
"documentText": "Robert Bosch Gesellschaft mit beschränkter Haftung\nStuttgart\n\nBekanntmachung gemäß § 19 Mitbestimmungsgesetz\n\nHerr Oliver Simon ist mit Wirkung zum 30.06.2026 aus dem Aufsichtsrat ausgeschieden. Durch Beschluss des Amtsgerichts Stuttgart wurde Herr Dr. Stefan Bischoff mit Wirkung zum 01.07.2026 zum Mitglied des Aufsichtsrats der Robert Bosch GmbH als Vertreter der Arbeitnehmer bestellt.",
"captchaRequired": false,
"url": "https://www.bundesanzeiger.de/pub/de/suchen2?3-1.-search~table~panel-rows-0-search~table~row~panel-publication~link",
"scrapedAt": "2026-07-14T21:00:16.409Z"
}

Publication areas

Bundesanzeiger organizes notices into seven areas. Pass the area code as filingArea, or leave it empty to search all of them at once:

AreaCodeWhat it covers
All areas""Everything below, ranked by relevance
Amtlicher Teil1Official/statutory notices
Gerichtlicher Teil5Court notices (insolvency proceedings, etc.)
Gesellschaftsbekanntmachungen6Corporate announcements (supervisory board changes, mergers, registered-office relocations)
Rechnungslegung/Finanzberichte22Annual accounts filing index (Jahresabschluss, Jahresfinanzbericht) — CAPTCHA-gated content, see Limitations
Nichtamtlicher Teil2Non-official notices
Kapitalmarkt7Capital market notices (bond terms, interest rate fixings, prospectuses)
Verschiedene Bekanntmachungen8Miscellaneous notices

Frequently asked questions

Does this need a Bundesanzeiger account or login? No. Everything this actor reads is publicly accessible without logging in.

Why is documentText sometimes empty even though the run succeeded? That's the CAPTCHA gate on Rechnungslegung/Finanzberichte notices described above — check captchaRequired on that row.

Can I search multiple companies in one run? Run the actor once per company name via the Apify API or a scheduled task with different searchQuery values — the actor itself takes one query per run, matching how Bundesanzeiger's own search works.

Does the actor need Bright Data or a browser? No. Recon confirmed no anti-bot wall (Cloudflare/DataDome/Akamai) anywhere in the search, pagination, or detail-page flow — a plain HTTP session with a cookie jar is sufficient.

Cost estimate

This actor uses approximately 1-2 compute units per 100 results (mostly network wait time, not CPU). At standard Apify pricing, that's a small fraction of a dollar per 100 notices in compute — actual cost to you is set by this actor's per-result pricing on the Store listing, not raw compute.

Limitations

  • Annual-accounts filings (Rechnungslegung/Finanzberichte) are CAPTCHA-gated on the site itself. Bundesanzeiger requires solving a CAPTCHA before showing the actual balance-sheet text for Jahresabschluss/Jahresfinanzbericht notices — this is a deliberate site restriction (confirmed in the site's own FAQ: "Eine Volltextsuche über den Veröffentlichungsinhalt ist bei Jahresabschlüssen ... nicht möglich"). This actor does not attempt to bypass it. You still get the filing index (company, filing type, publication date) for these rows — captchaRequired is set to true and documentText is left empty so this is never silently hidden.
  • registerCourt / registerNumber are best-effort, not guaranteed. Most Bundesanzeiger notices (capital-market notices, supervisory-board changes, etc.) simply don't mention a Handelsregister court or number in their free text — that data lives in Germany's separate Handelsregister/Unternehmensregister systems, not in gazette notices. These fields are populated only when the notice text itself states them.
  • url is session-bound. Bundesanzeiger's search is a stateful web app (per the site's own FAQ, "Warum kann ich kein Lesezeichen/Bookmark setzen?") — links to individual notices are tied to the browsing session that found them and expire after roughly 30 minutes. Re-run the search to get a fresh, working link.
  • For Gerichtlicher Teil (court notices), the "Name" column on the site itself shows the issuing court rather than the company — companyName may reflect the court name for that specific area. This doesn't affect the other six publication areas.
  • Data is scraped from the public website and may change without notice.

Need this data on a schedule, or a custom version?

We run this scraper as a managed service for businesses: scheduled runs, deduplication, delta detection, and delivery to your inbox, Google Sheets, or API — maintenance included. We can also build a custom version with your exact fields and filters, or combine multiple sources into one feed.

See studioamba.dev/services or email hello@studioamba.dev for a free data sample. We maintain 300+ European web scrapers and answer within one business day.