zvg-portal.de APIzvg-portal.de ↗
Access German foreclosure auction listings from ZVG-Portal via API. Search by state or court, retrieve property details, valuations, and document links.
curl -X GET 'https://api.parse.bot/scraper/390e8bb9-1861-46a3-9443-1777fb06d267/search_auctions?art=0&page=1&land_abk=nw' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for foreclosure auctions in a specific German state with optional filters and pagination. Results are sorted by auction date. Use get_courts to obtain valid ger_id values for filtering by court.
| Param | Type | Description |
|---|---|---|
| art | string | Auction type filter. '0' for Zwangsvollstreckung (foreclosure), '1' for Insolvenz (insolvency). Omit for all types. |
| page | integer | Page number for pagination. |
| ger_id | string | Court ID from get_courts endpoint (e.g., 'R3101' for Aachen). '0' for all courts in the state. |
| land_abkrequired | string | State abbreviation: bw, by, be, bb, hb, hh, he, mv, ni, nw, rp, sl, sn, st, sh, th. |
| all_results | boolean | If true, attempts to retrieve all results at once instead of paginating. |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"results": "array of auction summary objects with zvg_id, land_abk, aktenzeichen, court, description, value, date, last_update",
"total_count": "integer, total number of matching auctions"
},
"sample": {
"data": {
"page": 1,
"results": [
{
"date": "Dienstag, 12. Mai 2026, 09:00 Uhr",
"court": "in Nordrhein-Westfalen",
"value": "1.090.000,00 €",
"zvg_id": "167209",
"land_abk": "nw",
"description": "Mehrfamilienhaus:Am Hangeweiher 3, 52074 Aachen",
"last_update": "letzte Aktualisierung 12-03-2026 13:57",
"aktenzeichen": "0018 K 0039/2025"
}
],
"total_count": 7
},
"status": "success"
}
}About the zvg-portal.de API
The ZVG-Portal API provides structured access to German foreclosure auction data across all 16 federal states through 3 endpoints. Use search_auctions to query active listings filtered by state abbreviation, court ID, or auction type, then call get_auction_detail to retrieve the full record for any listing — including market valuation, auction venue, property description, and attached document links.
Searching Auctions
The search_auctions endpoint accepts a required land_abk state abbreviation (e.g., nw for North Rhine-Westphalia, by for Bavaria) and returns a paginated list of auction summaries. Each result object includes zvg_id, aktenzeichen (case reference), court, description, value, date, and last_update. You can narrow results with ger_id (a specific district court ID), and art to filter by auction type — '0' for Zwangsvollstreckung (foreclosure) or '1' for Insolvenz (insolvency proceedings). Set all_results to true to request all matching records without paginating.
Auction Detail
get_auction_detail takes a zvg_id and the matching land_abk from search results and returns the full auction record. Key response fields include Termin (auction date/time), Objekt/Lage (property type and location), Beschreibung (detailed description), Verkehrswert in € (estimated market value), Ort der Versteigerung (venue address), and a documents array with names and URLs for any attached appraisal or legal documents. The land_abk must correspond to the auction's origin state — mixing states will not return results.
Court Lookup
get_courts requires no parameters and returns a map of all German states, each with a name and a courts array of objects containing id and name. These court IDs are the valid values for the ger_id filter in search_auctions. For example, court ID R3101 corresponds to Aachen. Passing '0' as ger_id returns listings from all courts within the specified state.
- Monitor new foreclosure listings in a specific German state by polling search_auctions with a land_abk filter
- Build a property investment screening tool using Verkehrswert (market value) fields from get_auction_detail
- Map active auction listings to district courts across Germany using get_courts IDs
- Aggregate and compare auction dates and estimated values across multiple states for deal-flow analysis
- Retrieve attached appraisal documents via the documents array in get_auction_detail for due diligence workflows
- Filter insolvency-only auctions using the art='1' parameter to track distressed asset sales
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does ZVG-Portal have an official developer API?+
How do I filter auction results to a specific district court?+
get_courts to retrieve the full list of district courts and their IDs for each German state. Then pass the relevant id value as the ger_id parameter in search_auctions alongside the matching land_abk. For example, court ID R3101 targets Aachen within the nw (North Rhine-Westphalia) state scope. Pass ger_id='0' to include all courts in the state.Are historical or closed auctions accessible through this API?+
last_update field on each result indicates freshness. Auctions that have already concluded and been removed from the portal are not available. You can fork this API on Parse and revise it to add any archival or historical tracking logic you require.Does the API expose auction outcome data, such as final sale prices or winning bids?+
What does the documents field in get_auction_detail contain?+
documents field is an array of objects, each with a name (document label, typically an appraisal report or court notice) and a url pointing directly to the file on ZVG-Portal. Not every auction has attached documents; the array may be empty for listings without uploaded files.