Introduction
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
This API is not authenticated.
Endpoints
List Projects
Retrieves a list of all currently active projects including metadata, location, and aggregated offer data. No authentication is required.
Example request:
curl --request GET \
--get "https://estater.de/api/v1/projects?locale=en" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
{
"data": [
{
"id": "98d22ccc-751d-4502-b4fe-72789736225f",
"id_public": 240723,
"url": "https://estater.de/en/project/am-tegeler-see",
"pdf_fact_sheet_url": "https://estater.de/storage/pdf/fact-sheets/10002/project/98d22ccc-751d-4502-b4fe-72789736225f/en/am-tegeler-see.pdf",
"headline": "Am Tegeler See",
"headline_long": "Fantastic waterfront location & modern apartments",
"strasse": "Scharfenberger Straße",
"hausnummer": "26e",
"plz": "13505",
"ort": "Berlin",
"bundesland": "Berlin",
"geolocation": {
"id": "983eb948-2a45-4363-97d9-f24b4ba37a01",
"name": "Berlin-Reinickendorf"
},
"latitude": 52.569095834431,
"longitude": 13.236770814778,
"description": "<p>The modern new building ensemble AM TEGELER SEE with three apartment buildings and 17 condominiums rises up idyllically on the southwestern promenade of Lake Tegel. The exclusive waterfront location promises living in harmony with nature. When planning the condominiums, great value was placed on comfort and design in addition to elegant furnishings. Each condominium has up to three terraces or private gardens. The three-storey apartment buildings, equipped exclusively with 3 or 4-room apartments, are a first-class choice for families and couples of all ages who are looking to be close to the big city and nature.</p>",
"rooms": {
"from": 3,
"to": 4
},
"living_spaces": {
"from": "109",
"to": "242"
},
"purchase_prices_from": "932.000",
"image_main": {
"id": "99b75904-60c4-47a4-8734-fa864a515235",
"name": "Fabulous waterfront location",
"url": "https://estater.de/storage/attachment/5/55939/OMAZy8gu7RJswcwtdtn8BxRNceGH17-metaU2NoYXJmZW5iZXJnZXJfS2FtNiAgLSBBbSBUZWdlbGVyIFNlZSAtIEUmVi5qcGc=-.jpg"
},
"images": [
{
"id": "99b7580e-1295-4389-9c28-cd17e8a57c01",
"name": "High level of design",
"url": "https://estater.de/storage/attachment/5/55934/DnLHQ4K9Uj4KQDflMHcbiEgWRo9AUK-metaU2NoYXJmZW5iZXJnZXJfV0UgMi4yLjFQZW50aG91c2VfV29obmVuICAtIEFtIFRlZ2VsZXIgU2VlIC0gRSZWLmpwZw==-.jpg"
},
{
"id": "99b757a7-2e4e-430d-94b8-f59131f7610f",
"name": "Spectacular water location",
"url": "https://estater.de/storage/attachment/5/55932/6SrH8pUMtJRqpBc8gzzrjvEZB72XCl-metaU2NoYXJmZW5iZXJnZXJfRm90b21vbnRhZ2UgLSBBbSBUZWdlbGVyIFNlZSAtIEUmVi5qcGc=-.jpg"
},
{
"id": "99b7585a-259d-4965-ae67-060f7c1573ef",
"name": "Unlimited views",
"url": "https://estater.de/storage/attachment/5/55936/Q3QXQAGbue5qAewJ4lWE7pZfg6YjO2-metaU2NoYXJmZW5iZXJnZXJfV0UgMi4xLjFfVGVycmFzc2UgIC0gQW0gVGVnZWxlciBTZWUgLSBFJlYuanBn-.jpg"
},
{
"id": "99b7597f-1550-4e3b-b448-c26950d7f70f",
"name": "Direct lakeside location",
"url": "https://estater.de/storage/attachment/5/55941/CmJKR2wFcPI1LDCIPeXL3A4E6PBplH-metaU2NoYXJmZW5iZXJnZXJfS2FtMyAgLSBBbSBUZWdlbGVyIFNlZSAtIEUmVi5qcGc=-.jpg"
},
{
"id": "99b75958-bd09-44ca-8c7a-30d0c0031f9a",
"name": "Modern architecture",
"url": "https://estater.de/storage/attachment/5/55940/hPAIEMBqr4qXxeyM4cOovBvzaBky9H-metaU2NoYXJmZW5iZXJnZXJfS2FtNCAgLSBBbSBUZWdlbGVyIFNlZSAtIEUmVi5qcGc=-.jpg"
},
{
"id": "99b758ae-72e4-4a02-a6e3-3a2012f5be8b",
"name": "Luxury living for sea lovers",
"url": "https://estater.de/storage/attachment/5/55937/lTi3byKkwTVFF3IPqAhiZ7VQMnDW8x-metaU2NoYXJmZW5iZXJnZXJfV0UgMi4xLjEgIC0gQW0gVGVnZWxlciBTZWUgLSBFJlYuanBn-.jpg"
},
{
"id": "99b75834-318e-4e68-8b25-b057fa436fd8",
"name": "Private wellness oasis",
"url": "https://estater.de/storage/attachment/5/55935/h1mUyd2QvnGICN5oKM8MJskbzBmKop-metaU2NoYXJmZW5iZXJnZXJfV0UgMi4xLjFfQmFkMSAgLSBBbSBUZWdlbGVyIFNlZSAtIEUmVi5qcGc=-.jpg"
}
]
}
],
"links": {
"first": "https://estater.de/api/v1/projects?page=1",
"last": null,
"prev": null,
"next": "https://estater.de/api/v1/projects?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://estater.de/api/v1/projects",
"per_page": 1,
"to": 1
}
}
Example response (404, Project not found):
{
"message": "Project not found",
"errors": null
}
Example response (422, Validation error):
{
"message": "Validation error",
"errors": {
"locale": [
"The selected locale is invalid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
id
string
Internal ID of the project.
id_public
string
Public ID of the project.
url
string
Public URL of the project.
pdf_fact_sheet_url
string
Public PDF Fact Sheet URL of the project.
headline
object
Translated short headlines per language.
headline_long
object
Translated long headlines per language.
strasse
string
Street name of the project's location.
hausnummer
string
House number of the project's location.
plz
string
Postal code of the project's location.
ort
string
City name of the project's location.
bundesland
string
Federal state of the project's location.
geolocation
string[]
The assigned location of the unit. Can be a city, district, or other defined region.
id
string
Unique identifier of the geolocation entity.
name
string
Human-readable name of the geolocation (e.g., "Berlin", "Mitte", "Charlottenburg").
latitude
number
Latitude coordinate of the project.
longitude
number
Longitude coordinate of the project.
description
string
Detailed HTML description of the project.
rooms
object
Range of room counts across all available units.
from
number
Minimum number of rooms.
to
number
Maximum number of rooms.
living_spaces
object
Range of living spaces (m²) across available units.
from
number
Minimum living space in square meters.
to
number
Maximum living space in square meters.
purchase_prices_from
number
Minimum purchase price across all units.
image_main
string[]
Main image(s) of the project.
id
string
ID of the image.
name
string
Descriptive name of the image.
url
string
Public URL of the image (max width: 1280px).
images
string[]
Additional images of the project.
id
string
ID of the image.
name
string
Descriptive name of the image.
url
string
Public URL of the image (max width: 1280px).
List Units (Estates)
Retrieves a list of all currently active real estate units including metadata, location, and associated project information. No authentication is required.
Object types (definitions for AI understanding):
Flats: Flats, penthouse flats, top-floor flats, ground-floor flats, maisonettes, penthouses, etc.
Houses: detached houses, mid-terrace houses, end-terrace houses, semi-detached houses, etc.
Plots of land: Undeveloped or developable areas without residential buildings, e.g. building plots
Example request:
curl --request GET \
--get "https://estater.de/api/v1/estates?purchasePriceFrom=250000&purchasePriceTo=750000&roomsFrom=2&roomsTo=5&geolocations[]=architecto&locale=en" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (422, Validation error):
{
"message": "Validation error",
"errors": {
"locale": [
"The selected locale is invalid."
]
}
}
Example response (422):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
access-control-allow-origin: *
{
"message": "The selected geolocations.0 is invalid.",
"errors": {
"geolocations.0": [
"The selected geolocations.0 is invalid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
id
string
Internal unique identifier of the unit.
id_public
string
Public-facing identifier of the unit.
project
string[]
The project associated with this unit.
id
string
Unique identifier of the associated project.
headline
string
Headline or title of the project (e.g., "Modern Living in Berlin-Mitte").
Additional project details are available via the endpoint: /api/v1/projects/{project_id}
url
string
Public URL linking to the unit's detailed page.
etage
integer
Floor number on which the unit is located.
portalobjektart
string
Type of the unit. Example values:
- GRST-KF-SB: Grundstück Kauf (land for purchase)
- HAUS-KF-KA: Haus Kauf Kapitalanlage (house for purchase as investment)
- HAUS-KF-SB: Haus Kauf Selbstbezug (house for purchase for own use)
- WHNG-KF-KA: Wohnung Kauf Kapitalanlage (apartment for purchase as investment)
- WHNG-KF-SB: Wohnung Kauf Selbstbezug (apartment for purchase for own use)
anzahl_etagen
string
Total number of floors in the building.
wohnflaeche
string
Living area of the unit in square meters.
nutzflaeche
string
Usable area of the unit in square meters.
gartenflaeche
string
Garden area in square meters (if available).
anzahl_zimmer
string
Total number of rooms in the unit.
anzahl_schlafzimmer
string
Number of bedrooms in the unit.
anzahl_badezimmer
string
Number of bathrooms in the unit.
kaufpreis
string
Purchase price of the unit, including currency.
anzahl_balkone
string
Number of balconies.
anzahl_logia
string
Number of loggias.
anzahl_terrassen
string
Number of terraces.
einbaukueche
string
Indicates whether a built-in kitchen is included ("true" or "false").
wohnungstyp
string
Type of apartment (e.g. Etagenwohnung, Dachgeschoss, etc.).
gaeste_wc
string
Indicates whether a guest toilet is present ("true" or "false").
personenaufzug
string
Indicates whether a passenger elevator is available ("true" or "false").
provisionsfrei
string
Indicates whether the unit is commission-free ("true" or "false").
ki_en_suite_badezimmer
boolean
Indicates whether the unit includes an en suite bathroom, automatically detected via AI ("true" or "false").
ki_ankleidezimmer
boolean
Indicates whether the unit includes a walk-in closet or dressing room, automatically detected via AI ("true" or "false").
floor_plans
string[]
Array of floor plans associated with the unit.
id
string
Internal ID of the floor plan.
name
string
Descriptive name or label of the floor plan.
url
string
Publicly accessible URL to the floor plan image (max width: 1280px).
List Geolocations
Returns a list of available geolocations used to categorize and filter real estate units. A geolocation can represent a city, district, or region.
Example request:
curl --request GET \
--get "https://estater.de/api/v1/geolocations?locale=en" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
access-control-allow-origin: *
{
"data": [
{
"id": "983eb948-0b97-4b83-b5f5-b7c6345ac342",
"name": "Berlin-Charlottenburg"
}
],
"links": {
"first": "https://estater.de/api/v1/geolocations?page=1",
"last": null,
"prev": null,
"next": "https://estater.de/api/v1/geolocations?page=2"
},
"meta": {
"current_page": 1,
"from": 1,
"path": "https://estater.de/api/v1/geolocations",
"per_page": 1,
"to": 1
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Response
Response Fields
id
string
Unique identifier of the geolocation.
name
string
Human-readable name of the geolocation in the requested locale.