Discover/ZVG-Portal API
live

ZVG-Portal 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.

Endpoint health
verified 6d ago
get_courts
search_auctions
get_auction_detail
3/3 passing latest checkself-healing
Endpoints
3
Updated
14d ago

What is the ZVG-Portal 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.

Try it
Auction type filter.
Page number for pagination (1-based).
Court ID from get_courts endpoint (e.g. 'R3101' for Aachen). '0' returns all courts in the state.
Two-letter German state abbreviation.
If true, attempts to retrieve all results at once instead of paginating.
api.parse.bot/scraper/390e8bb9-1861-46a3-9443-1777fb06d267/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/390e8bb9-1861-46a3-9443-1777fb06d267/search_auctions?art=0&page=1&ger_id=0&land_abk=bw&all_results=false' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace zvg-portal-de-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: ZVG Portal SDK — German foreclosure auction search and detail drill-down."""
from parse_apis.ZVG_Portal_API__German_Foreclosure_Auctions_ import (
    ZvgPortal, State, AuctionType, AuctionNotFound,
)

zvg = ZvgPortal()

# List available courts for a state to find court IDs for filtering
for state_info in zvg.state_courtses.list(limit=3):
    print(state_info.code, state_info.name, len(state_info.courts), "courts")

# Search foreclosure auctions in Nordrhein-Westfalen, filtered by type
for summary in zvg.auction_summaries.search(land_abk=State.NW, art=AuctionType.FORECLOSURE, limit=3):
    print(summary.aktenzeichen, summary.date, summary.value)

# Drill into the first result for full auction details
summary = zvg.auction_summaries.search(land_abk=State.BY, limit=1).first()
if summary:
    try:
        auction = summary.details()
        print(auction.objekt_lage, auction.verkehrswert, auction.ort_der_versteigerung)
        for doc in auction.documents:
            print(doc.name, doc.url)
    except AuctionNotFound as exc:
        print(f"Auction gone: {exc}")

print("exercised: state_courtses.list / auction_summaries.search / summary.details")
All endpoints · 3 totalmissing one? ·

Search for foreclosure auctions in a specific German state. Results are sorted by auction date and paginated (~20 per page). Supports filtering by auction type and court. Each result carries a zvg_id and land_abk pair needed to fetch full details. The total_count field reflects the full matching set server-side.

Input
ParamTypeDescription
artstringAuction type filter.
pageintegerPage number for pagination (1-based).
ger_idstringCourt ID from get_courts endpoint (e.g. 'R3101' for Aachen). '0' returns all courts in the state.
land_abkrequiredstringTwo-letter German state abbreviation.
all_resultsbooleanIf true, attempts to retrieve all results at once instead of paginating.
Response
{
  "type": "object",
  "fields": {
    "page": "integer, current page number",
    "results": "array of AuctionSummary objects",
    "total_count": "integer, total number of matching auctions"
  },
  "sample": {
    "data": {
      "page": 1,
      "results": [
        {
          "date": "Freitag, 12. Juni 2026, 08:30 Uhr",
          "court": "in Nordrhein-Westfalen",
          "value": "104.000,00 €",
          "zvg_id": "167535",
          "land_abk": "nw",
          "description": "Kfz-Stellplatz, Garage, Einfamilienhaus, Doppelhaushälfte:Bergstraße 12, 41836 Hückelhoven",
          "last_update": "letzte Aktualisierung 17-04-2026 12:07",
          "aktenzeichen": "0003 K 0005/2025"
        }
      ],
      "total_count": 1038
    },
    "status": "success"
  }
}

About the ZVG-Portal API

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.

Reliability & maintenanceVerified

The ZVG-Portal API is a managed, monitored endpoint for zvg-portal.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when zvg-portal.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official zvg-portal.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • 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
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does ZVG-Portal have an official developer API?+
No. ZVG-Portal (zvg-portal.de) is the official German government portal for foreclosure auction notices but does not publish a public developer API or data feed. This Parse API provides structured programmatic access to the same data.
How do I filter auction results to a specific district court?+
First call 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?+
The API reflects the live listings on ZVG-Portal, which primarily shows upcoming and recently updated auctions — the 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?+
Not currently. The API covers listing details, market valuations (Verkehrswert), scheduled dates, and document links, but ZVG-Portal does not publish outcome or realized-price data. You can fork the API on Parse and revise it to add any supplementary data source that records final auction results.
What does the documents field in get_auction_detail contain?+
The 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.
Page content last updated . Spec covers 3 endpoints from zvg-portal.de.
Related APIs in Real EstateSee all →
immowelt.de API
Search and browse real estate listings across Germany on Immowelt.de, with access to property details, images, and features for both rentals and sales. Filter results by location and sorting preferences to find properties that match your needs.
inberlinwohnen.de API
Search and browse affordable apartment listings from Berlin's state-owned housing companies, view detailed property information, and access company profiles and tenant guides. Find your next home in Berlin with comprehensive data on available rentals and housing provider information in one place.
eauctionsindia.com API
Search and browse property auction listings on eAuctions India, including live ongoing auctions and detailed specifications for each property. Get comprehensive auction information like bidding details, property descriptions, and metadata to help you find and monitor properties of interest.
immonet.de API
Search real estate listings across Germany and retrieve detailed property information including pricing, features, and location data from immonet.de. Find properties for sale or rent with comprehensive market data.
immoscout24.de API
Search and browse real estate listings from Germany's leading property portal Immobilienscout24. Filter by location, property type, and price range, and retrieve comprehensive listing details including size, amenities, contact information, and more.
govdata.de API
Search and retrieve official German government datasets including demographics, economic indicators, and business statistics, or browse available organizations and categories to discover relevant open data resources. Filter results by high-value datasets and access site statistics to learn about recently updated information from Germany's Federal Open Data Portal.
evergabe-online.de API
Search and retrieve public tender opportunities from Germany's e-Vergabe platform by keywords, contract types, CPV codes, and publication dates. Access detailed tender information and discover the latest procurement opportunities across construction and other sectors.
bundesanzeiger.de API
Search and retrieve official German business announcements, financial disclosures, and company filings from the Bundesanzeiger with full-text search and category filtering. Access detailed publication information and financial reports to monitor corporate announcements and regulatory filings.