APIs / Real estate / ZVG-Portal
1 credit per call5 endpoints13 datapoints
ZVG-Portal API
ZVG-Portal API for German court foreclosure auctions by state and court, with market values, auction dates and documents as JSON. 1 credit per successful call.
{
"success": true,
"data": {
"search_parameters": {
"land": "hb",
"sort": "price_asc",
"page": 1,
"per_page": 2
},
"search_metadata": {
"total_results": 17,
"page": 1,
"per_page": 2,
"total_pages": 9,
"has_next_page": true,
"upstream_total": 17,
"filtered_out": 0,
"dropped_invalid": 0
},
"listings": [
{
"zvg_id": 4829,
"land": "hb",
"case_number": "0011 b K 0031/2025",
"updated_at": "2026-11-03T10:52:00+01:00",
"court": "Bremen",
"object_type": "Einfamilienhaus",
"address": {
"text": "Batteriestraße 79, 27568 Bremerhaven, Lehe",
"street": "Batteriestraße 79",
"postal_code": "27568",
"city": "Bremerhaven",
"district": "Lehe"
},
"verkehrswert": {
"raw": "Verkehrswert gemäß §§ 74 a Abs. 5, 85 a Abs. 2 ZVG: 15.000,00 € (11b K 31,32/25). Wert des jeweiligen ½ Miteigentumsanteils: 7.500,00 € (11b K 31/25 bzw. 11 b K 32/25).",
"amount": 15000,
"currency": "EUR",
"amounts": [
15000,
31.32,
7500
]
},
"auction_date": "2026-12-16T09:30:00+01:00",
"auction_date_text": "Mittwoch, 16. Dezember 2026, 09:30 Uhr",
"cancelled": false,
"attachments": [
{
"file_id": 8365,
"name": "Amtliche Bekanntmachung",
"size_kb": 62.75,
"size_text": "62.75 kB",
"url": "https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=hb&file_id=8365&zvg_id=4829"
}
],
"url": "https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=4829&land_abk=hb"
},
{
"zvg_id": 4830,
"land": "hb",
"case_number": "0011 a K 0172/2011",
"updated_at": "2026-11-02T15:48:00+01:00",
"court": "Bremen",
"object_type": "Eigentumswohnung (1 bis 2 Zimmer), 2-Zimmer Wohnung",
"address": {
"text": "Georgstraße 108, 27570 Bremerhaven, Geestemünde",
"street": "Georgstraße 108",
"postal_code": "27570",
"city": "Bremerhaven",
"district": "Geestemünde"
},
"verkehrswert": {
"raw": "53.000,00 €.",
"amount": 53000,
"currency": "EUR",
"amounts": [
53000
]
},
"auction_date": "2026-12-16T10:30:00+01:00",
"auction_date_text": "Mittwoch, 16. Dezember 2026, 10:30 Uhr",
"cancelled": false,
"attachments": [
{
"file_id": 8367,
"name": "Amtliche Bekanntmachung",
"size_kb": 62.13,
"size_text": "62.13 kB",
"url": "https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=hb&file_id=8367&zvg_id=4830"
}
],
"url": "https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=4830&land_abk=hb"
}
]
},
"meta": {
"endpoint_family": "search",
"request_id": "req_b8dc1423eba74ba8a19b1237a36f4ab0",
"credits_charged": 1,
"credits_remaining": 1801
}
}Sample data
What one call returns
A recorded run of search: the fields and shapes you will get, shortened to 2 items.
| # | zvg_idinteger | landstring | case_numberstring | updated_atstring | courtstring | object_typestring | addressobject | verkehrswertobject | auction_datestring | auction_date_textstring | cancelledboolean | attachmentsobject[] | urlurl |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 4829 | hb | 0011 b K 0031/2025 | 2026-11-03T10:52:00+01:00 | Bremen | Einfamilienhaus | {5 fields} | {4 fields} | 2026-12-16T09:30:00+01:00 | Mittwoch, 16. Dezember 2026, 09:30 Uhr | false | [1 item] | https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=4829&land_abk=hb |
| 2 | 4830 | hb | 0011 a K 0172/2011 | 2026-11-02T15:48:00+01:00 | Bremen | Eigentumswohnung (1 bis 2 Zimmer), 2-Zimmer Wohnung | {5 fields} | {4 fields} | 2026-12-16T10:30:00+01:00 | Mittwoch, 16. Dezember 2026, 10:30 Uhr | false | [1 item] | https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=4830&land_abk=hb |
[
{
"zvg_id": 4829,
"land": "hb",
"case_number": "0011 b K 0031/2025",
"updated_at": "2026-11-03T10:52:00+01:00",
"court": "Bremen",
"object_type": "Einfamilienhaus",
"address": {
"text": "Batteriestraße 79, 27568 Bremerhaven, Lehe",
"street": "Batteriestraße 79",
"postal_code": "27568",
"city": "Bremerhaven",
"district": "Lehe"
},
"verkehrswert": {
"raw": "Verkehrswert gemäß §§ 74 a Abs. 5, 85 a Abs. 2 ZVG: 15.000,00 € (11b K 31,32/25). Wert des jeweiligen ½ Miteigentumsanteils: 7.500,00 € (11b K 31/25 bzw. 11 b K 32/25).",
"amount": 15000,
"currency": "EUR",
"amounts": [
15000,
31.32,
7500
]
},
"auction_date": "2026-12-16T09:30:00+01:00",
"auction_date_text": "Mittwoch, 16. Dezember 2026, 09:30 Uhr",
"cancelled": false,
"attachments": [
{
"file_id": 8365,
"name": "Amtliche Bekanntmachung",
"size_kb": 62.75,
"size_text": "62.75 kB",
"url": "https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=hb&file_id=8365&zvg_id=4829"
}
],
"url": "https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=4829&land_abk=hb"
},
{
"zvg_id": 4830,
"land": "hb",
"case_number": "0011 a K 0172/2011",
"updated_at": "2026-11-02T15:48:00+01:00",
"court": "Bremen",
"object_type": "Eigentumswohnung (1 bis 2 Zimmer), 2-Zimmer Wohnung",
"address": {
"text": "Georgstraße 108, 27570 Bremerhaven, Geestemünde",
"street": "Georgstraße 108",
"postal_code": "27570",
"city": "Bremerhaven",
"district": "Geestemünde"
},
"verkehrswert": {
"raw": "53.000,00 €.",
"amount": 53000,
"currency": "EUR",
"amounts": [
53000
]
},
"auction_date": "2026-12-16T10:30:00+01:00",
"auction_date_text": "Mittwoch, 16. Dezember 2026, 10:30 Uhr",
"cancelled": false,
"attachments": [
{
"file_id": 8367,
"name": "Amtliche Bekanntmachung",
"size_kb": 62.13,
"size_text": "62.13 kB",
"url": "https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=hb&file_id=8367&zvg_id=4830"
}
],
"url": "https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=4830&land_abk=hb"
}
]zvg_id,land,case_number,updated_at,court,object_type,address,verkehrswert,auction_date,auction_date_text,cancelled,attachments,url
4829,hb,0011 b K 0031/2025,2026-11-03T10:52:00+01:00,Bremen,Einfamilienhaus,"{""text"":""Batteriestraße 79, 27568 Bremerhaven, Lehe"",""street"":""Batteriestraße 79"",""postal_code"":""27568"",""city"":""Bremerhaven"",""district"":""Lehe""}","{""raw"":""Verkehrswert gemäß §§ 74 a Abs. 5, 85 a Abs. 2 ZVG: 15.000,00 € (11b K 31,32/25). Wert des jeweiligen ½ Miteigentumsanteils: 7.500,00 € (11b K 31/25 bzw. 11 b K 32/25)."",""amount"":15000,""currency"":""EUR"",""amounts"":[15000,31.32,7500]}",2026-12-16T09:30:00+01:00,"Mittwoch, 16. Dezember 2026, 09:30 Uhr",false,"[{""file_id"":8365,""name"":""Amtliche Bekanntmachung"",""size_kb"":62.75,""size_text"":""62.75 kB"",""url"":""https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=hb&file_id=8365&zvg_id=4829""}]",https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=4829&land_abk=hb
4830,hb,0011 a K 0172/2011,2026-11-02T15:48:00+01:00,Bremen,"Eigentumswohnung (1 bis 2 Zimmer), 2-Zimmer Wohnung","{""text"":""Georgstraße 108, 27570 Bremerhaven, Geestemünde"",""street"":""Georgstraße 108"",""postal_code"":""27570"",""city"":""Bremerhaven"",""district"":""Geestemünde""}","{""raw"":""53.000,00 €."",""amount"":53000,""currency"":""EUR"",""amounts"":[53000]}",2026-12-16T10:30:00+01:00,"Mittwoch, 16. Dezember 2026, 10:30 Uhr",false,"[{""file_id"":8367,""name"":""Amtliche Bekanntmachung"",""size_kb"":62.13,""size_text"":""62.13 kB"",""url"":""https://www.zvg-portal.de/index.php?button=showAnhang&land_abk=hb&file_id=8367&zvg_id=4830""}]",https://www.zvg-portal.de/index.php?button=showZvg&zvg_id=4830&land_abk=hbRecorded from our API · 2 items shown · 13 datapoints per itemGET /v1/zvg-portal/search?land=hb&sort=price_asc&per_page=2
13 datapoints
Identity
- zvg_idinteger
- object_typestring
Contact
- urlurl
Location
- addressobject
Other
- landstring
- case_numberstring
- updated_atstring
- courtstring
- verkehrswertobject
- auction_datestring
- auction_date_textstring
- cancelledboolean
- attachmentsobject[]
Playground
Run this API
curl "https://api.perceptlayer.com/v1/zvg-portal/search?land=hb&sort=price_asc&per_page=2" \
-H "X-API-Key: $API_KEY"ZVG-Portal · 5 endpoints
Endpoints
Every endpoint takes the same key. Open one for its parameters and an example request.
| Endpoint | Required parameters | Cost |
|---|---|---|
GET/v1/zvg-portal/court | court+3 optional | 1 credit |
GET/v1/zvg-portal/listing | zvg_idland | 1 credit |
GET/v1/zvg-portal/locations | none+2 optional | 1 credit |
GET/v1/zvg-portal/reference | none | 1 credit |
GET/v1/zvg-portal/search | land+16 optional | 1 credit |
Overview
About the ZVG-Portal API
What you can get
The ZVG-Portal API returns ZVG-Portal court auction data as JSON through 5 endpoints.
- Search:
searchtakes aland(bw, by, be, br, hb, hh, he, mv, ni, nw, rp, sl, sn, st, sh or th), withcourt,object_type[](repeatable),procedure_type(a numeric code),plz,city,district,street,house_number,case_number,date_from,date_to,min_price,max_price,sort(updated, auction_date, case_number, price_asc or price_desc),pageandper_page. - Courts:
courttakes acourt, with the samesortvalues,pageandper_page. - Listings:
listingtakes azvg_idand aland. - Lookups:
locationstakes aq, withland;referencetakes no parameters.
The recorded search for Bremen (land=hb), sorted by price_asc, returns search_metadata with total_results (17), total_pages and has_next_page, and listings, each with zvg_id, land, case_number, updated_at, court, object_type, address, verkehrswert (amount, currency), auction_date, auction_date_text, cancelled, attachments and url.
How a call works
Search a state: GET /v1/zvg-portal/search?land=hb&sort=price_asc&per_page=2 with your key in the X-API-Key header. Each listing's zvg_id and land are what listing takes. Check has_next_page before asking for the next page. Every successful call costs 1 credit; failed calls cost nothing.
More real estate APIs
Use cases
Track upcoming foreclosure auctions in a German state or court district
Use the ZVG-Portal API to track upcoming foreclosure auctions in a German state or court districtSort by `auction_date` to build an auction calendar
Use the ZVG-Portal API to sort by `auction_date` to build an auction calendarCompare `verkehrswert` across object types and cities
Use the ZVG-Portal API to compare `verkehrswert` across object types and citiesPull the attached documents for a case from `attachments`
Use the ZVG-Portal API to pull the attached documents for a case from `attachments`FAQ
Questions
Do I need a ZVG-Portal account?
No. You call this ZVG-Portal API with your Perceptlayer key in the `X-API-Key` header, with no ZVG-Portal login.
How much does the ZVG-Portal API cost?
Each successful call costs one credit. New accounts get free credits to start, and credit packs bring the price down as you scale.
What format are responses in?
Every endpoint returns JSON, with no HTML parsing on your side.
What is `verkehrswert`?
The market value (Verkehrswert) set for the property in the auction proceedings, returned with `amount` and `currency`.
Should I build a ZVG-Portal scraper instead?
You can, but a ZVG-Portal scraper is code you maintain: page changes break it, requests get blocked, and ZVG-Portal's terms govern how you collect data. The ZVG-Portal API gives you 5 endpoints of named JSON fields for 1 credit per successful call, and failed calls cost nothing. A scraper makes sense only for data these endpoints don't return, so check the response in the playground on this page first.
Try the ZVG-Portal API with 100 free credits
No credit card. Failed calls are never billed.