Bundesanzeiger Scraper — German Company Filings
Pricing
from $12.00 / 1,000 result scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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
- 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. - Optionally restrict to one Publication Area — for example
Gesellschaftsbekanntmachungenfor corporate announcements only, orRechnungslegung/Finanzberichteto see which annual accounts a company has filed and when. - Set Max Results and run. The actor paginates through Bundesanzeiger's own results (20 per page) until it reaches your limit.
- 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
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | No | Company name to search for. Defaults to "Robert Bosch GmbH" if left empty. |
filingArea | String | No | Restrict to one publication area (see the dropdown for the full list). Default: all areas. |
fetchContent | Boolean | No | Fetch each notice's full text (default: true). Disable for a faster, index-only run. |
maxResults | Integer | No | Maximum notices to return (default: 20). |
proxyConfiguration | Object | No | Apify proxy settings. Defaults to German residential proxy. |
Output
Each result contains:
| Field | Type | Example |
|---|---|---|
companyName | String | "Robert Bosch Gesellschaft mit beschränkter Haftung" |
location | String | "Stuttgart" |
filingArea | String | "Gesellschaftsbekanntmachungen" |
filingType | String | "Aufsichtsrat" (notice title as published) |
filingReference | String | Secondary reference shown in the listing (e.g. WKN/ISIN for capital-market notices), if any |
publicationDate | String | "2026-07-07" |
registerCourt | String | "Amtsgericht Stuttgart" (only when the notice text itself mentions one — see Limitations) |
registerNumber | String | "HRB 14000" (only when the notice text itself mentions one) |
documentText | String | Full published notice text (empty when captchaRequired is true) |
captchaRequired | Boolean | true if the site requires solving a CAPTCHA to view this notice's text (annual-accounts filings only — see Limitations) |
url | String | Session-bound link to the notice on bundesanzeiger.de (valid roughly 30 minutes per the site's own session policy) |
scrapedAt | String | ISO 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:
| Area | Code | What it covers |
|---|---|---|
| All areas | "" | Everything below, ranked by relevance |
| Amtlicher Teil | 1 | Official/statutory notices |
| Gerichtlicher Teil | 5 | Court notices (insolvency proceedings, etc.) |
| Gesellschaftsbekanntmachungen | 6 | Corporate announcements (supervisory board changes, mergers, registered-office relocations) |
| Rechnungslegung/Finanzberichte | 22 | Annual accounts filing index (Jahresabschluss, Jahresfinanzbericht) — CAPTCHA-gated content, see Limitations |
| Nichtamtlicher Teil | 2 | Non-official notices |
| Kapitalmarkt | 7 | Capital market notices (bond terms, interest rate fixings, prospectuses) |
| Verschiedene Bekanntmachungen | 8 | Miscellaneous 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 forJahresabschluss/Jahresfinanzberichtnotices — 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 —captchaRequiredis set totrueanddocumentTextis left empty so this is never silently hidden. registerCourt/registerNumberare 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.urlis 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 —companyNamemay 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.