Bundesanzeiger Notices Scraper (Company & Insolvency)
Pricing
from $1.20 / 1,000 announcement delivereds
Bundesanzeiger Notices Scraper (Company & Insolvency)
Structured German Federal Gazette (Bundesanzeiger) announcements: company filings and court/insolvency notices with area, notice type, case number, company and publication date. Keyword monitor with dedup and category/date filters. For supplier KYB and insolvency monitoring. Public search, no login.
Pricing
from $1.20 / 1,000 announcement delivereds
Rating
0.0
(0)
Developer
Steadfetch
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Structured German Federal Gazette announcements from the public Bundesanzeiger search: company filings, court notices and insolvency/winding-up proceedings. One row per announcement, in a stable schema, with an optional keyword monitor.
Public data only. No login, no CAPTCHA, no paywall, no browser.
What it does
The Bundesanzeiger is Germany's official gazette. Its search is a server-rendered Wicket application with no public API and no exportable filters. This Actor reads the same public search a person would use and returns structured rows:
- Search mode - one query (free text, category and optional date range) and
the matching announcements, following the pager up to
maxRows. - Monitor mode - a watchlist of
{ keyword, category, court }items; each run checks every item and delivers only notices never seen before. Announced notices are immutable, so a quiet day delivers 0 rows and bills no result.maxRowscaps the total new rows delivered by the run, not the checks: every watchlist item is always checked and billed once, even when an earlier item already filledmaxRows. Rows beyond the cap stay unseen for the next run.
It saves a buyer the manual pagination and the daily re-checking, and it gives filterable, structured output that the official search does not export.
Fields
company, area (court for court notices, otherwise the published city),
section (Bereich), noticeType, caseNumber, publishedDate (ISO 8601),
category, sourceUrl, plus the common url / scrapedAt envelope and
changeType (new in monitor runs, otherwise null).
Privacy guardrail: the Actor targets legal entities. When a notice concerns a
natural person (a name with no legal form, such as Dieter Hauschopp or
Brasch, Adolf), company and title are null and only metadata (area,
section, notice type, date, case reference) is kept; personal names are never
extracted as fields (company manual rule 2, RGPD). When the portal publishes an
administrator's name in the court column (Dr. ... als Verwalter), area is
null as well. Detection is deliberately conservative: a company name that
reads like a person's name without a legal form or business word is hidden
rather than risk publishing a personal name.
Input
Search mode:
{"mode": "search","fulltext": "","category": "3","dateFrom": "20.10.2026","dateTo": "25.10.2026","maxRows": 100,"strictSchema": true}
Monitor mode:
{"mode": "monitor","watchlist": [{ "keyword": "GmbH", "category": "3", "court": "" },{ "keyword": "Insolvenz", "category": "59", "court": "Dresden" }],"maxRows": 200,"strictSchema": true}
Dates accept dd.mm.yyyy (as the portal publishes them) or ISO YYYY-MM-DD;
output dates are always ISO. Common category ids: 0 all areas, 3
GmbH/UG, 59 insolvency and winding-up proceedings, 6 official notices.
The full list is the category selector of the public search form.
Example output
{"url": "https://www.bundesanzeiger.de/pub/de/suchen2?2","sourceUrl": "https://www.bundesanzeiger.de/pub/de/suchen2?2-1.-search~table~panel-rows-1-search~table~row~panel-publication~link","title": "TGB Grundbesitz GmbH & Co. KG","area": "Amtsgericht Dresden","section": "Gerichtlicher Teil","noticeType": "Einstellung","caseNumber": "554 N 1997/98","company": "TGB Grundbesitz GmbH & Co. KG","publishedDate": "2026-09-29","category": "59","changeType": null,"scrapedAt": "2026-10-25T13:00:00.000Z"}
Pricing
Pay per event, no subscription:
- 1.50 USD per 1,000 results (announcements delivered) - charged by the platform through
apify-default-dataset-item, the only per-result charge. Rows rejected by the output schema are not pushed and not charged. - 0.05 USD per 1,000 checks (watchlist items) - charged through the reserved
monitor-checkevent once per watchlist item actually checked in a monitor run. Search runs never charge this event. - 0.00005 USD per run start - the Apify-recommended
apify-actor-startprice, which also includes the first 5 seconds of compute.
Works on the Apify free plan - about 3,333 results for the $5 monthly credit.
Measured cost: about 0.002 USD per 1,000 announcements on local runs (256 MB, plain HTML, no proxy, no browser), leaving a wide margin. The 335-result cat.-3 / five-day query needs 17 result pages at one request per second and took about 12 s for the first 100 rows locally.
FAQ
Does it need an API key? No. The Bundesanzeiger search is public and server-rendered.
Does it use a browser or proxies? No. Plain HTTP + Cheerio, one request per second, honest User-Agent.
Why are some categories empty with a date range? The portal's category 59 (insolvency) currently ignores the publication-date filter in some combinations and returns 0 rows even though notices exist; without dates it returns the full list. This is a source-side behaviour, documented in the PR that added the Actor, not a scraper bug.
Is this legal? The source is a public official gazette. robots.txt only
disallows /nlp and the maintenance page; the terms documents checked contain no
anti-scraping clause. The Actor never requests /nlp, never logs in and never
touches paid content.
Can I monitor several companies? Yes: put one watchlist item per keyword (or company name), optionally with a category and a court filter.
Maintenance
- Tested daily by Steadfetch against the live portal with the registered default input; failures are reported before customers see them.
- If the Wicket form or the result table changes, the run fails with a clear message instead of delivering wrong rows. Steadfetch repairs published Actors before starting new builds.
- Tested daily, output-schema validated on every run (
strictSchemadefaults to true).