German Insolvency Announcements Scraper
Pricing
from $2.00 / 1,000 results
German Insolvency Announcements Scraper
Unofficial scraper for public German insolvency announcements from the federal and state justice portal. Filter by federal state, publication type, and date, then export normalized records through an Apify dataset.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Raso sol
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
An unofficial Apify Actor that extracts public insolvency announcements from the German federal and state justice portal at neu.insolvenzbekanntmachungen.de.
The Actor uses Playwright for the portal's stateful Jakarta Faces workflow, BeautifulSoup for deterministic result parsing, Apify Dataset for records, Key-value Store for RUN_SUMMARY, and one sticky Apify Proxy session per browser context.
Important use notice
The source can publish information about natural persons as well as companies. Use the Actor only for a lawful purpose, minimize retention, restrict access, and comply with the source portal's terms and applicable data-protection law. This project is not affiliated with or endorsed by the German justice authorities.
The portal states that result sessions expire after 60 minutes and that direct linking to search results is not permitted. Dataset records therefore expose only the official search-page URL, never session-bound popup URLs.
Input
| Field | Default | Purpose |
|---|---|---|
federalState | BW | Source federal-state code, or NO_CODE for all states |
announcementType | SICHMASS | Source publication-type code |
dateFrom | 14 days before dateTo | First publication date, YYYY-MM-DD |
dateTo | Today in Europe/Berlin | Last publication date, YYYY-MM-DD |
includeDetailText | true | Open publication popups and extract their text |
maxItems | 50 | Unique-record limit, maximum 1,000 |
maxPages | 20 | Result-page safety limit |
requestDelayMs | 1000 | Polite delay with small jitter |
navigationTimeoutSecs | 30 | Browser navigation and result timeout |
maxRetries | 5 | Clean browser/proxy sessions after temporary failures |
proxyConfiguration | Apify Proxy enabled | Integrated Apify Proxy configuration |
Apify Proxy is required. The Actor rejects disabled proxy configuration and custom proxy URLs. It never logs proxy URLs or credentials.
Example input:
{"federalState": "BW","announcementType": "SICHMASS","dateFrom": "2026-08-13","dateTo": "2026-08-27","includeDetailText": true,"maxItems": 50,"proxyConfiguration": {"useApifyProxy": true}}
Output
Records are pushed to the default dataset as soon as each result page has been parsed. They contain normalized dates, case and court data, debtor/company information, parsed register fields, optional publication text, a deterministic recordId, and an extraction timestamp.
RUN_SUMMARY contains counts, timings, the sanitized effective input, retry and proxy-session counts, up to 20 typed errors, and isPartial.
Failure semantics:
- A run that cannot obtain its first valid result page fails.
- A query exceeding the source portal's 1,000-result cap fails immediately with
queryTooBroadand instructions to narrow its filters. - Temporary browser, portal, or proxy problems create a clean context with a new sticky proxy session.
- Detail-document failures preserve the base result with
detailText: null. - An exhausted later-page failure preserves already stored records and succeeds with
isPartial: true. - Repeated pages and duplicate records are detected.
Local development
Requirements: Python 3.12, Node.js 22, Apify CLI, and an Apify account with Proxy access.
python3.12 -m venv .venvsource .venv/bin/activatepython -m pip install --require-hashes -r requirements-dev.lockplaywright install chromiumapify loginapify run --purge
Run the focused checks:
python -m ruff check .python -m pytestpython -m compileall -q srcapify validate-schemadocker build --platform linux/amd64 -t german-insolvency-announcements-scraper:local .
The current Apify Playwright image is published for Linux AMD64. The explicit platform flag is required when building it on an Apple Silicon Mac. Local use of Apify Proxy also requires the Proxy external-access feature on the Apify account; cloud Actor runs use the platform's internal Proxy access.
requirements.lock and requirements-dev.lock are fully resolved with package
hashes. Regenerate them from the short direct-dependency files with
uv pip compile --python-version 3.12 --generate-hashesGitHub deployment
Pull requests run .github/workflows/ci.yml. Pushes to main validate the
project, deploy the beta Apify build tag, and run a one-record cloud smoke test
against the exact build number. Production latest deployment requires a
manual workflow run with release_latest=true, a successful beta smoke test,
and approval through the apify-production GitHub environment.
Configure:
- Repository secret
APIFY_TOKEN. - Repository variable
APIFY_ACTOR_ID. - Protected environment
apify-productionwith required reviewers.
Missing deployment configuration fails with an explicit message instead of silently skipping the deployment job.
Source limitations
The portal documents a 1,000-result cap for broad searches. Older consumer-insolvency records can require additional identifying search parameters, so broad historical searches may not contain every natural-person proceeding. The Actor reports what the source returns and does not attempt to bypass these rules.