Bundesanzeiger Notices Scraper (Company & Insolvency) avatar

Bundesanzeiger Notices Scraper (Company & Insolvency)

Pricing

from $1.20 / 1,000 announcement delivereds

Go to Apify Store
Bundesanzeiger Notices Scraper (Company & Insolvency)

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

Steadfetch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

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. maxRows caps 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 filled maxRows. 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-check event 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-start price, 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 (strictSchema defaults to true).