German Foreclosure & Real Estate Scraper (zvg-portal.de) avatar

German Foreclosure & Real Estate Scraper (zvg-portal.de)

Pricing

from $5.00 / 1,000 results

Go to Apify Store
German Foreclosure & Real Estate Scraper (zvg-portal.de)

German Foreclosure & Real Estate Scraper (zvg-portal.de)

Scrapes official German real estate foreclosures (zvg-portal.de). Extracts cleaned market values, 50%/70% statutory bidding limits (§ 74a/85a ZVG), property categories, living area (m²), build year, court details, and full PDF appraisal texts.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Nathanael Araz

Nathanael Araz

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Security

Limited permissions

Share

🏢 German Foreclosure & Real Estate Scraper (zvg-portal.de)

Fast HTTPX No Browser Overhead 16 Bundesländer PDF Text Extraction

Effortlessly extract official judicial foreclosure auctions (Zwangsversteigerungen) from Germany's central portal zvg-portal.de. Monitor distressed real estate, analyze market values, and parse court appraisals in seconds.


⚡ Key Features

  • 🇩🇪 Full German Coverage: Scrape auctions across all 16 federal states (Bundesländer) and all local district courts (Amtsgerichte). Query specific states (e.g. nw, by, be) or all of Germany at once with "all".
  • 🚀 Zero-Browser Architecture: Powered by asynchronous HTTP requests (httpx). Runs up to 20× faster and 90% cheaper than conventional browser scrapers (Playwright/Puppeteer), saving substantial Apify compute credits.
  • 📄 Native PDF Text Extraction: Downloads official appraisal documents (Gutachten) and court decrees (Amtliche Bekanntmachung) in RAM and extracts the complete text directly into your JSON dataset using pypdf.
  • 💶 Clean Numbers & Statutory Bid Thresholds (50% / 70%): Automatically converts currency strings (including multi-lot Lfd. Nr. auctions) into floats (verkehrswert_eur: 270000.0) and computes the statutory 50% minimum bid limit (§ 85a ZVG: grenze_50_prozent_eur) and 70% creditor limit (§ 74a ZVG: grenze_70_prozent_eur).
  • 🏠 Investor Property Metrics: Automatically classifies objekt_kategorie (Eigentumswohnung, Einfamilienhaus, Mehrfamilienhaus, Gewerbeimmobilie, Grundstück) and extracts wohnflaeche_qm (living area in m²) and baujahr (construction year).
  • 🛡️ Automated Encoding Repair: Resolves government portal legacy issues: transparent ISO-8859-1 decoding and auto-repair of mixed/double-encoded German umlauts (ä, ö, ü, ß).

⚙️ Input Parameters

ParameterTypeDefaultDescription
bundeslaenderArray of Strings["nw"]State codes to scrape (bw, by, be, br, hb, hh, he, mv, ni, nw, rp, sl, sn, st, sh, th or all).
maxItemsInteger20Maximum number of detail records to scrape per run.
extractPdfTextBooleantrueExtract full-text from attached appraisal PDFs (Gutachten) directly in RAM.
includeCancelledBooleanfalseWhether to include cancelled/postponed auctions (aufgehobene Termine).

📦 Output Example

Each item pushed to the Apify dataset contains structured metadata, numerical values, and extracted document text:

{
"zvg_id": "168477",
"aktenzeichen": "0420 K 0008/2025",
"bundesland": "nw",
"amtsgericht": "Amtsgericht Krefeld",
"objekt_lage": "Einfamilienhaus: Wielandstr. 1, 47877 Willich, Willich",
"objekt_kategorie": "Einfamilienhaus",
"plz": "47877",
"ort": "Willich",
"wohnflaeche_qm": 104.76,
"baujahr": 1977,
"verkehrswert_raw": "270.000,00 €",
"verkehrswert_eur": 270000.0,
"grenze_50_prozent_eur": 135000.0,
"grenze_70_prozent_eur": 189000.0,
"termin_raw": "Mittwoch, 04. November 2026, 09:00 Uhr",
"status": "aktiv",
"art_der_versteigerung": "Versteigerung im Wege der Zwangsvollstreckung",
"grundbuch": "Willich Blatt 1044",
"beschreibung": "Laut Sachverständigengutachten handelt es sich um ein eingeschossiges, unterkellertes Einfamilienhaus mit ausgebautem Dachgeschoss sowie eine Garage, Baujahr: 1977, Wohnfläche: ca. 104,76 m²...",
"ort_der_versteigerung": "Amtsgericht Krefeld, Nebenstelle Preußenring, Preußenring 49, 47798 Krefeld, Etage 1, Sitzungssaal P 130",
"letzte_aktualisierung": "23-07-2026 11:14",
"pdf_links": [
{
"title": "Bekanntmachung",
"url": "https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=nw&file_id=378663&zvg_id=168477"
},
{
"title": "Dokument",
"url": "https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=nw&file_id=378664&zvg_id=168477"
}
],
"pdf_extracted_text": "=== Bekanntmachung ===\n420 K 8/25\nAmtsgericht Krefeld\nBeschluss\nIm Wege der Zwangsvollstreckung soll am Mittwoch, 04.11.2026, 09:00 Uhr...\n\n=== Dokument ===\nGUTACHTEN über den Verkehrswert\nEinfamilienhaus Wielandstraße 1, 47877 Willich...\nBaujahr: 1977, Wohnfläche: ca. 104,76 m²..."
}

🔄 Integrations & Workflows

Connect this Actor to your existing stack via Apify's API and Webhooks:

  • n8n & Make.com: Schedule recurring runs (e.g., daily at 07:00) to check for newly published auctions. Filter by verkehrswert_eur or specific postal codes and send instant alerts to Telegram, Slack, or Email.
  • Zapier: Automatically append newly discovered foreclosure auctions to Google Sheets, Airtable, or your CRM.
  • AI & LLM Enrichment: Pass pdf_extracted_text directly to OpenAI GPT-4o or Claude to extract renovation costs, building conditions, or legal encumbrances.
  • Python API:
    from apify_client import ApifyClient
    client = ApifyClient("YOUR_APIFY_TOKEN")
    run = client.actor("Nathan922/german-foreclosure-zvg-scraper").call(run_input={
    "bundeslaender": ["nw", "by"],
    "maxItems": 50,
    "extractPdfText": True
    })
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"Auction: {item['aktenzeichen']} | {item['ort']} | {item['verkehrswert_eur']} EUR")

⚖️ Disclaimer

This Actor retrieves public judicial foreclosure notifications published on zvg-portal.de by the state justice departments of Germany. Please configure respectful request rates.