
ZVG Portal Scraper
hipersoft/zvg-portal-scraper
Scrape German court foreclosure auctions (Zwangsversteigerungen) from the official ZVG portal for all 16 states: case number, court, property type, address, market value (Verkehrswert), auction date, venue, auction type, land register, description and appraisal documents.
Total users
2Monthly users
1Total runs
12Per auction
$0.0025Last rebuilt
Oct 26, 2026Overview
ZVG Portal Scraper extracts court-ordered property auctions (Zwangsversteigerungen) from the official German ZVG portal (zvg-portal.de) run by the state justice administrations, for all 16 federal states (Bundesländer): Bayern, Nordrhein-Westfalen, Baden-Württemberg, Berlin, Hessen, Niedersachsen, Sachsen and more. For every auction you get the case number (Aktenzeichen), local court (Amtsgericht), state, property type (Einfamilienhaus, Eigentumswohnung, Grundstück…), address, postal code, city, market value (Verkehrswert) in euros, auction date and time, cancelled flag and last update. Turn on Full details and documents to also get the type of auction, land register (Grundbuch) entry, full property description, auction venue and links to the appraisal (Gutachten), exposé and official notice PDFs. Export to CSV, Excel or JSON. Ideal for property investors, real estate agents, auction buyers and German property market research.
What does ZVG Portal Scraper do?
- 🇩🇪 German foreclosure auctions from the official court portal.
- 🗺️ All 16 states: Bayern, NRW, Baden-Württemberg, Berlin, Hamburg, Hessen, Sachsen…
- 🏠 Property type: houses, apartments, land, commercial, garages.
- 💶 Market value (Verkehrswert) as a number.
- 📅 Auction date and time, with cancelled dates filtered out.
- ⚖️ Case number and local court.
- 📍 Address, postal code and city.
- 📝 Description, land register and auction venue (optional).
- 📄 Appraisal, exposé and official notice PDF links (optional).
- 🔎 Keyword filter: Einfamilienhaus, Eigentumswohnung, Grundstück, city names.
What data can you scrape from the ZVG portal?
| Field | Description |
|---|---|
| Auction | ID, detail link, case number, court, state, last update |
| Property | Property type, address, postal code, city |
| Value | Market value, individual values |
| Date | Auction date, date text, cancelled flag |
| Details* | Auction type, land register, description, auction venue |
| Documents* | Appraisal, exposé, official notice and other PDFs |
* With Full details and documents turned on.
Use cases for German foreclosure data
- Property investors: find houses, apartments and land below market price at court auctions.
- Real estate agents and appraisers: monitor upcoming auctions in your region.
- Auction buyers: download appraisals and exposés in bulk before viewing dates.
- Market research: analyse foreclosure volumes and values by state and court.
- Proptech: feed auction data into deal-sourcing tools and alerts.
How to scrape the ZVG portal
- Click Try for free to open ZVG Portal Scraper in Apify Console.
- Choose states (Bundesländer).
- Optionally add keywords and turn on Full details and documents.
- Set Max auctions and click Start.
- Download the auctions as CSV, Excel or JSON.
Input
Example input
{
"states": ["by", "nw", "bw"],
"keywords": ["Einfamilienhaus", "Eigentumswohnung"],
"includeCancelled": false,
"includeDetails": true,
"maxItems": 1000
}
| Field | Description |
|---|---|
| States | Bundesländer to collect. |
| Keywords | Filter on property type, address, city or court. |
| Include cancelled dates | Also include cancelled auctions. |
| Full details and documents | Adds description, land register, venue and PDF links. |
| Max auctions | Stop after this many (0 = no limit). |
Output
Auction example (with details)
{
"auctionId": 49105,
"url": "https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=49105&land_abk=by",
"caseNumber": "1514 K 0262/2025",
"court": "München in Bayern",
"state": "Bayern",
"objectType": "Mehrfamilienhaus",
"address": "Eichenauer Straße 20, 81245 München",
"postalCode": "81245",
"city": "München",
"marketValue": 2100000,
"auctionDate": "2026-10-08T10:00:00",
"cancelled": false,
"auctionType": "Zwangsversteigerung zum Zwecke der Aufhebung der Gemeinschaft",
"description": "Grdst. zu 958 m², bebaut mit MFH (KG, EG, OG, DG) und Doppelgarage…",
"auctionLocation": "Amtsgericht München, Justizgebäude Infanteriestraße 5, 80797 München, Sitzungssaal 202",
"documents": [
{ "name": "Gutachten1.pdf", "url": "https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=by&file_id=126671&zvg_id=49105" }
]
}
Output schema
| Field | Type | Description |
|---|---|---|
auctionId, url, caseNumber, court, state, lastUpdated |
mixed | Auction. |
objectType, address, postalCode, city |
string | Property. |
marketValue, marketValues |
mixed | Market value in EUR. |
auctionDate, auctionText, cancelled |
mixed | Date. |
auctionType, landRegister, description, auctionLocation |
string | Details. |
documents |
array | PDF documents. |
scrapedAt |
string | Source info. |
How much does it cost?
ZVG Portal Scraper uses pay-per-auction pricing: a small fixed price per auction, with automatic discounts on higher Apify plans. See the Pricing tab for the exact price.
More property data
- RE/MAX Portugal Scraper: Portuguese property listings.
- OnTheMarket Scraper: UK property.
- HiBid Scraper: online auction lots.
FAQ
What is a Zwangsversteigerung? A court-ordered (foreclosure) property auction in Germany, published on the official ZVG portal.
Why is the market value a sum?
Some auctions include several lots (e.g. apartment and parking space); marketValues lists each value and marketValue is the total.
What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.
Can I integrate ZVG Portal Scraper with other apps? ZVG Portal Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is it legal to scrape the ZVG portal? The scraper collects publicly announced court auction notices. You are responsible for using the data in line with the portal's terms and GDPR.
Notes
Original clean-room implementation. Returns only public data. Not affiliated with the German justice administrations.
Input
| Field | Type | Description |
|---|---|---|
statesStates (Bundesländer) | array | German states to collect auctions from. Default: ["by"] |
keywordsKeywords | array | Optional. Keep only auctions whose property type, address, city or court contains one of these, e.g. Einfamilienhaus, Eigentumswohnung, Grundstück, München. |
includeCancelledInclude cancelled dates | boolean | Also include auctions whose date was cancelled (aufgehoben). Default: false |
includeDetailsFull details and documents | boolean | Also collect auction type, land register, full description, auction venue and links to appraisal, exposé and official notice PDFs. Slower. Default: false |
maxItemsMax auctions | integer | Stop after this many auctions. 0 means no limit. Default: 200 |
proxyConfigurationProxy configuration | object | Not required for normal use. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~zvg-portal-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"states": [
"by",
"nw"
],
"maxItems": 50
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/zvg-portal-scraper").call(run_input={
"states": [
"by",
"nw"
],
"maxItems": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/zvg-portal-scraper').call({
"states": [
"by",
"nw"
],
"maxItems": 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Auction One foreclosure auction scraped | $0.0025 | $0.0013 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
CNN Fear & Greed Index Scraper
Scrape the CNN Fear & Greed Index: current market-sentiment score and rating, a full historical timeline, and all seven component indicators. Clean structured JSON, CSV or Excel for trading signals, backtesting, dashboards and alerting.
547 runs · 6 users · $0.003 / item scrapedDivar Scraper
Scrape classified ads from Divar, Iran's largest marketplace: title, price (Toman), category, city, district, images and the listing URL. Search any Iranian city with an optional keyword and export one clean row per ad as JSON, CSV or Excel. For market research, price tracking and n8n.
224 runs · 22 users · $0.003 / listing scrapedAirbnb Scraper
Search Airbnb by location and scrape listings: name, property type, price, rating, reviews, coordinates, photos, badges and link. For short-term rental, pricing and market research.
122 runs · 2 users · $0.005 / listing scrapedSingapore HDB Property Information Scraper
Export master data for every HDB block in Singapore (~13,300 blocks): address, town, year completed, max floor, total units, unit mix by flat type (sold & rental) and amenities (market/hawker, carpark, commercial, pavilion). Filter by town, street, year. Public open data, no setup.
113 runs · 1 users · $0.002 / block scrapedPropertyGuru Singapore Scraper
Scrape PropertyGuru Singapore property listings: price, beds, baths, size, address, property type, agent and URL. For property research and lead generation.
106 runs · 3 users · $0.004 / listing scrapedEdgeProp Singapore Property Scraper
Scrape EdgeProp Singapore property listings for sale and rent: price, address, beds, baths, size, PSF and URL.
105 runs · 1 users · $0.004 / listing scrapedSend the site and the fields. We build it and you get it first.