Skip to content

Valuation Plus

This API hands out a brief valuation of a realestate object and additionally - if you have the permission - prices of comparable real estates.

POST /ibw/v2.0.1/valuation/plus

Supported media types:
JSON

Note that all possible request parameters are very similar to the Plus valuation web flow. So please have a look there first to get an impression of what is the meaning of the request parameters click here

Request

  • A JSON request object has to be send in the body of the post request which provides all available information of the real estate that should be valuated. It follows a list of all possible keys in the JSON request object.
  • All keys marked in bold are mandatory. Depending on the type of the real estate (key realEstateType) the key floor has to be set if it is an APARTMENT, otherwise (in case of a house) the key siteArea has to be set. This keys are marked with a i.
  • Furthermore, either a coordinate or an address has to be provided. In both cases all fields within that object have to be set and will not be accepted if any of them is empty or has a wrong format. That means that if you provide a address, you also have to provide the street, houseNo, zip and city.
  • Please note that the keywords are case sensitive, e.g. END_TERRACE_HOUSE will be recognized, but end_terrace_house not.

keys in JSON request Body

VALUE DESCRIPTION
comparisonRealEstates = true | false default false
rented true, false
realEstateType APARTMENT, SINGLE_FAMILY_HOUSE, MID_TERRACE_HOUSE, END_TERRACE_HOUSE, SEMIDETACHED_HOUSE
constructionYear integer, minimal value "1500", max is the actual year e.g "2015"
roomCount ONE, ONE_HALF, TWO, TWO_HALF,THREE, THREE_HALF, FOUR, FIVE, SIX_OR_MORE
livingArea double
siteArea Double i
floor GROUND_FLOOR, FLOOR_1, FLOOR_2, FLOOR_3, FLOOR_4, FLOOR_5, FLOOR_6, BASEMENT i
penthouse true, false
lift true, false
balcony true, false
cellar true, false
garden true, false
coordinate (WGS84) i **latitude** double
coordinate (WGS84) i **longitude** double
address i street (String)
houseNo (String)
zip (String)
city (String)
facilities: (the facilities always have to be provided in pairs of facility and quality)
wallCovering (Facility) GREAT, GOOD, AVERAGE, POOR
wallCoveringQuality (Quality) AS_NEW, WELL_KEPT, POOR
roof (Facility) GREAT, GOOD, AVERAGE, POOR
roofQuality (Quality) AS_NEW, WELL_KEPT, POOR
insulation (Facility) GREAT, GOOD, AVERAGE, POOR
insulationQuality (Quality) AS_NEW, WELL_KEPT, POOR
floorCovering (Facility) GREAT, GOOD, AVERAGE, POOR
floorCoveringQuality (Quality) AS_NEW, WELL_KEPT, POOR
window (Facility) GREAT, GOOD, AVERAGE, POOR
windowQuality (Quality) AS_NEW, WELL_KEPT, POOR
heating (Facility) GREAT, GOOD, AVERAGE, POOR
heatingQuality (Quality) AS_NEW, WELL_KEPT, POOR
sanitaryInstallation (Facility) GREAT, GOOD, AVERAGE, POOR
sanitaryInstallationQuality (Quality) AS_NEW, WELL_KEPT, POOR
parking:
parkingSpace int [0..5]
basementGarage int [0..5]
singleGarage int [0..5]
duplex int [0..5]
carport int [0..5]
doubleGarage int [0..5]
exposure:
exposureView VERY_ATTRACTIVE, ATTRACTIVE, TYPICAL, UNATTRACTIVE, VERY_UNATTRACTIVE
residentialEnvironment VERY_CALM, CALM, TYPICAL, NOISY, VERY_NOISY
amountOfSunlight VERY_BRIGHT, BRIGHT, AVERAGE, DARK, VERY_DARK
roomLayout VERY_SPACIOUS, SPACIOUS, AVERAGE, POOR, VERY_POOR

specialFeatures: (the special features always have to be given in pairs of cost and year)

VALUE DESCRIPTION
builtInKitchenCost integer
builtInKitchenYear integer
chimneyCost integer
chimneyYear integer
landscapeGardeningCost integer
landscapeGardeningYear integer
solarCollectorCost integer
solarCollectorYear integer
summerhouseCost integer
summerhouseYear integer
swimmingpoolCost integer
swimmingpoolYear integer
wintergardenCost integer
wintergardenYear integer
returnPdf = true | false (default false)

pdfDisplayParameter

VALUE DESCRIPTION
realtorLogoUrl String
realtorLogoAsBase64 String
addressVisible true, false (default true)
demographicDataVisible true, false (default true)
exemplificationsVisible true, false (default true)
comparisonObjectsVisible true, false (default true)

JSON:

{
    "realEstateType":"MID_TERRACE_HOUSE",
    "constructionYear":1988,
    "livingArea":70.6,
    "siteArea":79.6,
    "roomCount":"THREE",
    "penthouse":"false",
    "rented":false,
    "lift":"false",
    "balcony":"false",
    "cellar":"false",
    "garden":"false",
    "address":{
        "street":"Andreasstraße",
        "houseNo":"10a",
        "zip":"10243",
        "city":"Berlin"
    },
    "facilities":{
        "wallCovering":"GREAT",
        "wallCoveringQuality":"WELL_KEPT",
        "roof":"GOOD", "roofQuality":"POOR",
        "insulation":"GOOD", "insulationQuality":"POOR",
        "floorCovering":"GOOD", "floorCoveringQuality":"POOR",
        "window":"GOOD", "windowQuality":"POOR",
        "heating":"AVERAGE", "heatingQuality":"POOR",
        "sanitaryInstallation":"GOOD", "sanitaryInstallationQuality":"AS_NEW"
    },
    "parking":{
        "parkingSpace":1,
        "basementGarage":2,
        "singleGarage":0
    },
    "exposures":{"amountOfSunlight":"VERY_BRIGHT"},
    "specialFeatures":{
        "builtInKitchenCost":1000, "builtInKitchenYear":1990,
        "chimneyCost":2400, "chimneyYear":2004,
        "solarCollectorCost":5400, "solarCollectorYear":2014
    }
}

Response

Keys in response body:

VALUE DESCRIPTION
variance double
priceTotal integer
pricePerSqM double
totalPriceVarianceHigh integer
totalPriceVarianceLow integer
comparisonRealEstates: (will only be shown if requested and if consumer has the permission)
obid double
absoluteOriginalPrice double
absoluteAdjustedPrice double
originalPricePerSqm double
adjustedPricePerSqm double
offeringDate String
constructionYear integer
ozid integer
city String
street String
zip String
neighbourhoodId String
livingArea double
siteArea double
balconyOrGarden boolean
rented boolean
pdfContentBase64 String


{
    "priceTotal":200032,
    "pricePerSqM":2833.31,
    "variance":0.22,
    "totalPriceVarianceHigh":244039,
    "totalPriceVarianceLow":156025
}


If status 400 shown (BAD REQUEST) then it is furthermore possible that the geocoding was not possible for the given address or coordinate and therefore no or no unique neighbourhoodId could be determined. In this case the HTTP status code is 400 (Bad Request) with a detailed error message in the body. If you don't want to receive a 400 there is the possibility to get a 204 (No Content) if the flag showGeocodingErrors is set to false.