Realistimo
Free MCP server with Bulgarian property prices, rental yields, deal costs and neighbourhood profiles
Should I use this
Quality & Safety
Findings (1)
- LOWin realistimo_neighbourhood_profile
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"realistimo": {
"url": "https://realistimo.com/mcp"
}
}
}Remote endpoints
https://realistimo.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
🟢realistimo_deal_cost(price, location, role, propertyKind, taxAssessment, ...)
What a property purchase or sale in Bulgaria costs on top of the price: notary fee, registration, the municipality's local acquisition tax, broker commission, certificates, the seller's income tax, and — with a mortgage — the bank's fees, the loan and the monthly payment. For an apartment with a place and an area it adds the likely rent, yield and payback. Use for „колко струва покупката/продажбата", „такси при покупка на имот", „нотариални такси", „местен данък", „колко пари ми трябват за апартамент за 120 000 евро". Amounts in euros.
Input Schema
{
"type": "object",
"properties": {
"price": {
"type": "number",
"minimum": 1,
"maximum": 100000000,
"description": "The price in euros."
},
"location": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Where the property is; sets the municipality's local tax rate. Without it the legal maximum of 3% is used."
},
"role": {
"type": "string",
"enum": [
"buyer",
"seller",
"both"
],
"description": "Whose costs: buyer (default), seller, or both sides."
},
"propertyKind": {
"type": "string",
"enum": [
"apartment",
"house",
"plot",
"garage",
"commercial"
],
"description": "Default apartment. commercial = shop, office or other business property."
},
"taxAssessment": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "The данъчна оценка in euros, if known; fees are charged on the higher of it and the price."
},
"mortgage": {
"type": "boolean",
"description": "true when the buyer takes a mortgage (ипотечен кредит)."
},
"downPaymentPercent": {
"type": "number",
"minimum": 15,
"maximum": 100,
"description": "Own funds as a percent of the price; default 20, banks lend at most 85%."
},
"loanYears": {
"type": "integer",
"minimum": 1,
"maximum": 40,
"description": "Loan term in years; default 30."
},
"interestRatePercent": {
"type": "number",
"minimum": 0,
"maximum": 30,
"description": "Annual interest rate; default is Realistimo's current average rate."
},
"broker": {
"type": "boolean",
"description": "false when no broker is involved (no commission). Default true."
},
"saleIncomeTax": {
"type": "string",
"enum": [
"exempt",
"taxable"
],
"description": "For a seller: exempt (default, ЗДДФЛ чл. 13) or taxable. A taxable sale needs purchasePrice."
},
"purchasePrice": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "What the seller paid for the property, in euros — the base of a taxable gain."
},
"inherited": {
"type": "boolean",
"description": "true when the seller inherited the property (no income tax)."
},
"areaSqm": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "Floor area in m²; with an apartment and a location it adds rent and yield."
},
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
],
"description": "Language of the answer's labels and of the realistimo.com link: bg, en, tr, de, ru, ro, el or uk. Default bg."
}
},
"required": [
"price"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
]
},
"url": {
"type": "string",
"description": "The realistimo.com page this answer comes from."
},
"notes": {
"type": "array",
"items": {
"type": "string"
},
"description": "How to read the figures; repeat the relevant ones to the user."
},
"place": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"city",
"neighbourhood",
"village",
"other"
]
},
"subAreas": {
"type": "array",
"items": {
"type": "string"
}
},
"otherMatches": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"kind",
"subAreas",
"otherMatches"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"municipality": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"localTaxPercent": {
"type": "number"
},
"localTaxRateListed": {
"type": "boolean",
"description": "false when the 3% legal maximum stood in for an unknown municipal rate."
}
},
"required": [
"name",
"localTaxPercent",
"localTaxRateListed"
],
"additionalProperties": false
},
"role": {
"type": "string",
"enum": [
"buyer",
"seller",
"both"
]
},
"priceEur": {
"type": "number"
},
"taxBaseEur": {
"type": "number"
},
"buyer": {
"anyOf": [
{
"type": "object",
"properties": {
"feesEur": {
"type": "number"
},
"feesPercentOfPrice": {
"type": "number"
},
"cashNeededEur": {
"type": "number",
"description": "Price (or down payment with a loan) plus the buyer's fees."
}
},
"required": [
"feesEur",
"feesPercentOfPrice",
"cashNeededEur"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"seller": {
"anyOf": [
{
"type": "object",
"properties": {
"feesEur": {
"type": "number"
},
"feesPercentOfPrice": {
"type": "number"
},
"netProceedsEur": {
"type": "number"
}
},
"required": [
"feesEur",
"feesPercentOfPrice",
"netProceedsEur"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string"
},
"label": {
"type": "string"
},
"amountEur": {
"type": "number"
},
"paidBy": {
"type": "string",
"enum": [
"buyer",
"seller"
]
},
"paidTo": {
"type": "string"
},
"stage": {
"type": "string"
},
"indicative": {
"type": "boolean",
"description": "A typical market fee rather than an amount set by law."
},
"law": {
"type": "boolean"
}
},
"required": [
"item",
"label",
"amountEur",
"paidBy",
"paidTo",
"stage",
"indicative",
"law"
],
"additionalProperties": false
}
},
"mortgage": {
"anyOf": [
{
"type": "object",
"properties": {
"loanEur": {
"type": "number"
},
"downPaymentEur": {
"type": "number"
},
"monthlyPaymentEur": {
"type": "number"
},
"termYears": {
"type": "number"
},
"interestRatePercent": {
"type": "number"
}
},
"required": [
"loanEur",
"downPaymentEur",
"monthlyPaymentEur",
"termYears",
"interestRatePercent"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"rentalInvestment": {
"anyOf": [
{
"type": "object",
"properties": {
"likelyMonthlyRentEur": {
"type": "number"
},
"netMonthlyRentEur": {
"type": "number",
"description": "After 9% tax and 8% upkeep."
},
"grossYieldPercent": {
"type": "number"
},
"netYieldPercent": {
"type": "number"
},
"paybackYears": {
"type": "number"
},
"monthlyCashflowAfterLoanEur": {
"type": [
"number",
"null"
]
}
},
"required": [
"likelyMonthlyRentEur",
"netMonthlyRentEur",
"grossYieldPercent",
"netYieldPercent",
"paybackYears",
"monthlyCashflowAfterLoanEur"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"feesAsOf": {
"type": "string"
}
},
"required": [
"language",
"url",
"notes",
"place",
"municipality",
"role",
"priceEur",
"taxBaseEur",
"buyer",
"seller",
"lines",
"mortgage",
"rentalInvestment",
"feesAsOf"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢realistimo_market_stats(location, offerType, propertyType, rooms, language)
Asking-price statistics from Realistimo's live listings for an oblast capital (София, Пловдив, Варна, Бургас, …) or one of its квартали: price and price per m² (P10–P90, median), how many listings, the share with a price cut, the city's 12-month trend per m², the gross rental yield for apartments, and the city's quarterly count of registered sales and mortgages. Use for „колко струва квадратен метър в Лозенец", „цени на апартаменти във Варна", „наеми в Пловдив", „доходност от наем". Prices in euros.
Input Schema
{
"type": "object",
"properties": {
"location": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "A place in Bulgaria — city, квартал (neighbourhood) or village — in Bulgarian or Latin letters, e.g. \"София\", \"Лозенец, София\", \"Varna\"."
},
"offerType": {
"type": "string",
"enum": [
"SALE",
"RENT"
],
"description": "SALE (продажба, default) or RENT (наем)."
},
"propertyType": {
"type": "string",
"enum": [
"APARTMENT",
"HOUSE",
"FLOOR_HOUSE",
"OFFICE",
"PLOT_FOR_CONSTRUCTION"
],
"description": "Default APARTMENT. FLOOR_HOUSE = етаж от къща; PLOT_FOR_CONSTRUCTION = парцел за строеж."
},
"rooms": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Rooms, for APARTMENT, HOUSE or FLOOR_HOUSE only; 4 means four or more."
},
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
],
"description": "Language of the answer's labels and of the realistimo.com link: bg, en, tr, de, ru, ro, el or uk. Default bg."
}
},
"required": [
"location"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
]
},
"url": {
"type": "string",
"description": "The realistimo.com page this answer comes from."
},
"notes": {
"type": "array",
"items": {
"type": "string"
},
"description": "How to read the figures; repeat the relevant ones to the user."
},
"place": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"city",
"neighbourhood",
"village",
"other"
]
},
"subAreas": {
"type": "array",
"items": {
"type": "string"
}
},
"otherMatches": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"kind",
"subAreas",
"otherMatches"
],
"additionalProperties": false
},
"figuresFor": {
"type": [
"string",
"null"
],
"description": "The place the figures describe — the квартал, or its city when the квартал has none of its own."
},
"segment": {
"type": "object",
"properties": {
"offerType": {
"type": "string",
"enum": [
"SALE",
"RENT"
]
},
"propertyType": {
"type": "string"
},
"rooms": {
"type": [
"number",
"null"
]
}
},
"required": [
"offerType",
"propertyType",
"rooms"
],
"additionalProperties": false
},
"available": {
"type": "boolean",
"description": "false when Realistimo publishes no figures for this place or segment; `notes` says why."
},
"listingsInSample": {
"type": [
"number",
"null"
]
},
"askingPriceEur": {
"anyOf": [
{
"type": "object",
"properties": {
"p10": {
"type": "number"
},
"p25": {
"type": "number"
},
"p50": {
"type": "number"
},
"p75": {
"type": "number"
},
"p90": {
"type": "number"
}
},
"required": [
"p10",
"p25",
"p50",
"p75",
"p90"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"askingPricePerM2Eur": {
"anyOf": [
{
"$ref": "#/properties/askingPriceEur/anyOf/0"
},
{
"type": "null"
}
]
},
"priceCutSharePercent": {
"type": [
"number",
"null"
],
"description": "Share of the listings whose price was cut by 3% or more."
},
"trend": {
"anyOf": [
{
"type": "object",
"properties": {
"place": {
"type": "string"
},
"eurPerM2ByMonth": {
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string"
},
"eurPerM2": {
"type": "number"
}
},
"required": [
"month",
"eurPerM2"
],
"additionalProperties": false
}
},
"changePercent": {
"type": [
"number",
"null"
]
}
},
"required": [
"place",
"eurPerM2ByMonth",
"changePercent"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"rentalYield": {
"anyOf": [
{
"type": "object",
"properties": {
"grossPercent": {
"type": "number"
},
"paybackYears": {
"type": "number"
},
"rentPerM2Eur": {
"type": "number"
},
"salePerM2Eur": {
"type": "number"
}
},
"required": [
"grossPercent",
"paybackYears",
"rentPerM2Eur",
"salePerM2Eur"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"registry": {
"anyOf": [
{
"type": "object",
"properties": {
"period": {
"type": "string"
},
"sales": {
"type": "number"
},
"mortgages": {
"type": "number"
}
},
"required": [
"period",
"sales",
"mortgages"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Агенция по вписванията: sales and mortgages registered in the whole city in the latest published quarter."
}
},
"required": [
"language",
"url",
"notes",
"place",
"figuresFor",
"segment",
"available",
"listingsInSample",
"askingPriceEur",
"askingPricePerM2Eur",
"priceCutSharePercent",
"trend",
"rentalYield",
"registry"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢realistimo_market_index(period, language)
„Индекс Realistimo": the monthly edition of average asking prices per m² in Bulgaria's largest cities, with the change on the previous month (and on the year where the edition shows it) and the квартали whose prices rose and fell most. Use for „как се движат цените на имотите", „пазарен индекс", „цени на имоти за септември". The latest edition unless a month is asked for.
Input Schema
{
"type": "object",
"properties": {
"period": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "A month, YYYY-MM. Default: the latest edition."
},
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
],
"description": "Language of the answer's labels and of the realistimo.com link: bg, en, tr, de, ru, ro, el or uk. Default bg."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
]
},
"url": {
"type": "string",
"description": "The realistimo.com page this answer comes from."
},
"notes": {
"type": "array",
"items": {
"type": "string"
},
"description": "How to read the figures; repeat the relevant ones to the user."
},
"period": {
"type": [
"string",
"null"
]
},
"cities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"avgEurPerM2": {
"type": "number"
},
"monthOnMonthPercent": {
"type": [
"number",
"null"
]
},
"yearOnYearPercent": {
"type": [
"number",
"null"
]
},
"listingsSampled": {
"type": "number"
}
},
"required": [
"name",
"avgEurPerM2",
"monthOnMonthPercent",
"yearOnYearPercent",
"listingsSampled"
],
"additionalProperties": false
}
},
"risingNeighbourhoods": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"city": {
"type": "string"
},
"avgEurPerM2": {
"type": "number"
},
"monthOnMonthPercent": {
"type": "number"
}
},
"required": [
"name",
"city",
"avgEurPerM2",
"monthOnMonthPercent"
],
"additionalProperties": false
}
},
"fallingNeighbourhoods": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"city": {
"type": "string"
},
"avgEurPerM2": {
"type": "number"
},
"monthOnMonthPercent": {
"type": "number"
}
},
"required": [
"name",
"city",
"avgEurPerM2",
"monthOnMonthPercent"
],
"additionalProperties": false
}
},
"publishedEditions": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"language",
"url",
"notes",
"period",
"cities",
"risingNeighbourhoods",
"fallingNeighbourhoods",
"publishedEditions"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢realistimo_estimate_price(location, areaSqm, propertyType, rooms, askingPrice, ...)
An estimate of what a property in an oblast capital (София, Пловдив, Варна, Бургас, …) or one of its квартали would ask on sale and on rent: the median asking price per m² of Realistimo's live listings there — the figures of its price statistics pages — times the area. With askingPrice it also says where that price sits among the listings' prices per m² (below the cheapest 10%, under or over the median, above the dearest 10%). Use for „колко струва апартаментът ми", „колко наем да искам", „скъпа ли е тази обява". Not an appraisal.
Input Schema
{
"type": "object",
"properties": {
"location": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "A place in Bulgaria — city, квартал (neighbourhood) or village — in Bulgarian or Latin letters, e.g. \"София\", \"Лозенец, София\", \"Varna\"."
},
"areaSqm": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "Floor area in m² (plot area for a plot)."
},
"propertyType": {
"type": "string",
"enum": [
"APARTMENT",
"HOUSE",
"FLOOR_HOUSE",
"OFFICE",
"PLOT_FOR_CONSTRUCTION"
],
"description": "Default APARTMENT."
},
"rooms": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Rooms, for APARTMENT, HOUSE or FLOOR_HOUSE; four or more are one group, as on the statistics pages."
},
"askingPrice": {
"type": "number",
"minimum": 1,
"maximum": 100000000,
"description": "A price in euros to check against the listings."
},
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
],
"description": "Language of the answer's labels and of the realistimo.com link: bg, en, tr, de, ru, ro, el or uk. Default bg."
}
},
"required": [
"location",
"areaSqm"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
]
},
"url": {
"type": "string",
"description": "The realistimo.com page this answer comes from."
},
"notes": {
"type": "array",
"items": {
"type": "string"
},
"description": "How to read the figures; repeat the relevant ones to the user."
},
"place": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"city",
"neighbourhood",
"village",
"other"
]
},
"subAreas": {
"type": "array",
"items": {
"type": "string"
}
},
"otherMatches": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"kind",
"subAreas",
"otherMatches"
],
"additionalProperties": false
},
"figuresFor": {
"type": [
"string",
"null"
],
"description": "The place the figures describe — the квартал, or its city when the квартал has none of its own."
},
"propertyType": {
"type": "string"
},
"areaSqm": {
"type": "number"
},
"rooms": {
"type": [
"number",
"null"
]
},
"saleEstimateEur": {
"type": [
"number",
"null"
]
},
"salePricePerM2Eur": {
"type": [
"number",
"null"
]
},
"saleListingsUsed": {
"type": [
"number",
"null"
]
},
"monthlyRentEstimateEur": {
"type": [
"number",
"null"
]
},
"rentPricePerM2Eur": {
"type": [
"number",
"null"
]
},
"rentListingsUsed": {
"type": [
"number",
"null"
]
},
"askingPriceCheck": {
"anyOf": [
{
"type": "object",
"properties": {
"askingPerM2Eur": {
"type": "number"
},
"position": {
"type": "string"
},
"p10PerM2Eur": {
"type": "number"
},
"medianPerM2Eur": {
"type": "number"
},
"p90PerM2Eur": {
"type": "number"
},
"listingsCompared": {
"type": "number"
}
},
"required": [
"askingPerM2Eur",
"position",
"p10PerM2Eur",
"medianPerM2Eur",
"p90PerM2Eur",
"listingsCompared"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"language",
"url",
"notes",
"place",
"figuresFor",
"propertyType",
"areaSqm",
"rooms",
"saleEstimateEur",
"salePricePerM2Eur",
"saleListingsUsed",
"monthlyRentEstimateEur",
"rentPricePerM2Eur",
"rentListingsUsed",
"askingPriceCheck"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢realistimo_neighbourhood_profile(location, language)
A profile of a place in Bulgaria from Realistimo: its location page's own description, how many properties are listed for sale and for rent, the median asking price and rental yield where Realistimo publishes them, and — for a квартал of Sofia — the metro stations and kindergartens near it. Use for „какъв квартал е Лозенец", „добре ли е да се живее в Младост", „какво има в Банско", „кой квартал да избера".
Input Schema
{
"type": "object",
"properties": {
"location": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "A place in Bulgaria — city, квартал (neighbourhood) or village — in Bulgarian or Latin letters, e.g. \"София\", \"Лозенец, София\", \"Varna\"."
},
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
],
"description": "Language of the answer's labels and of the realistimo.com link: bg, en, tr, de, ru, ro, el or uk. Default bg."
}
},
"required": [
"location"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Output Schema
{
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"bg",
"en",
"tr",
"de",
"ru",
"ro",
"el",
"uk"
]
},
"url": {
"type": "string",
"description": "The realistimo.com page this answer comes from."
},
"notes": {
"type": "array",
"items": {
"type": "string"
},
"description": "How to read the figures; repeat the relevant ones to the user."
},
"place": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"city",
"neighbourhood",
"village",
"other"
]
},
"subAreas": {
"type": "array",
"items": {
"type": "string"
}
},
"otherMatches": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"kind",
"subAreas",
"otherMatches"
],
"additionalProperties": false
},
"description": {
"type": [
"string",
"null"
]
},
"descriptionLanguage": {
"type": [
"string",
"null"
]
},
"listings": {
"type": "object",
"properties": {
"forSale": {
"type": "number"
},
"forRent": {
"type": "number"
},
"saleUrl": {
"type": [
"string",
"null"
]
},
"rentUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"forSale",
"forRent",
"saleUrl",
"rentUrl"
],
"additionalProperties": false
},
"prices": {
"anyOf": [
{
"type": "object",
"properties": {
"figuresFor": {
"type": [
"string",
"null"
]
},
"apartmentMedianPriceEur": {
"type": [
"number",
"null"
]
},
"apartmentMedianPerM2Eur": {
"type": [
"number",
"null"
]
},
"rentalYieldPercent": {
"type": [
"number",
"null"
]
},
"statsUrl": {
"type": "string"
}
},
"required": [
"figuresFor",
"apartmentMedianPriceEur",
"apartmentMedianPerM2Eur",
"rentalYieldPercent",
"statsUrl"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"nearby": {
"anyOf": [
{
"type": "object",
"properties": {
"metro": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"planned": {
"type": "boolean"
},
"metres": {
"type": "number"
},
"minutes": {
"type": "number"
}
},
"required": [
"name",
"planned",
"metres",
"minutes"
],
"additionalProperties": false
}
},
"nearestMetro": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"planned": {
"type": "boolean"
},
"metres": {
"type": "number"
},
"minutes": {
"type": "number"
}
},
"required": [
"name",
"planned",
"metres",
"minutes"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"kindergartens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"metres": {
"type": "number"
},
"minutes": {
"type": "number"
}
},
"required": [
"name",
"metres",
"minutes"
],
"additionalProperties": false
}
}
},
"required": [
"metro",
"nearestMetro",
"kindergartens"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "A квартал of Sofia only."
}
},
"required": [
"language",
"url",
"notes",
"place",
"description",
"descriptionLanguage",
"listings",
"prices",
"nearby"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence