German Insolvency Announcements Scraper avatar

German Insolvency Announcements Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
German Insolvency Announcements Scraper

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

Raso sol

Maintained by Community

Actor 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

FieldDefaultPurpose
federalStateBWSource federal-state code, or NO_CODE for all states
announcementTypeSICHMASSSource publication-type code
dateFrom14 days before dateToFirst publication date, YYYY-MM-DD
dateToToday in Europe/BerlinLast publication date, YYYY-MM-DD
includeDetailTexttrueOpen publication popups and extract their text
maxItems50Unique-record limit, maximum 1,000
maxPages20Result-page safety limit
requestDelayMs1000Polite delay with small jitter
navigationTimeoutSecs30Browser navigation and result timeout
maxRetries5Clean browser/proxy sessions after temporary failures
proxyConfigurationApify Proxy enabledIntegrated 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 queryTooBroad and 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 .venv
source .venv/bin/activate
python -m pip install --require-hashes -r requirements-dev.lock
playwright install chromium
apify login
apify run --purge

Run the focused checks:

python -m ruff check .
python -m pytest
python -m compileall -q src
apify validate-schema
docker 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-hashes
when intentionally upgrading.

GitHub 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-production with 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.