Список строится из самого сервера, поэтому всегда совпадает с тем, что видит Ваш клиент.
Search properties
search_propertiesТолько чтениеSearch real estate properties in Montenegro. Supports natural language queries like "apartment in Budva near the sea under 200k" or structured filters. Returns up to 20 properties with key details. Prices in EUR.
Параметры
querystring- Natural language search, e.g. "villa with pool in Tivat"
citySlugstring- City name or slug, e.g. "budva", "tivat", "kotor", "herceg-novi". Supports partial matching.
listingType"sale" | "rent" | "daily-rent"- Listing type: sale, rent (long-term), daily-rent (short-term). Default: sale
propertyTypestring- Type slug: apartments, houses, villas, land, business, offices, hotels, residential-complexes, luxury-complexes, exclusive
minPricenumber- Min price in EUR
maxPricenumber- Max price in EUR
bedroomsinteger- Minimum bedrooms
bathroomsinteger- Minimum bathrooms
minAreanumber- Min area in m²
maxAreanumber- Max area in m²
maxDistanceToSeanumber- Max distance to sea in meters
limitinteger- Results per page (max 20). Default: 10
offsetinteger- Skip N results for pagination. Default: 0
sort"relevance" | "price_asc" | "price_desc" | "area_asc" | "area_desc" | "newest" | "sea_distance"- Sort order. Default: relevance
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
Возвращает: totalCount, properties, hasMore, searchTip
Get property details
get_propertyТолько чтениеGet full details of a specific property by internal ID or slug. "propertyId" is the internal database ID, NOT the property number shown in titles (e.g. "Apartment in Budva No. 2584" has propertyId=2473, propertyNumber="2584"). Use slug for reliable lookups.
Параметры
propertyIdinteger- Internal database ID (the "id" field in search results), not the number shown in the title
slugstring- Property URL slug
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
includeImageboolean- Also return the main photo inline as an image block. Default: false (photo URLs are always included)
Возвращает: id, propertyNumber, slug, title, url, canonicalUrl, price, currency, priceFormatted, propertyType, listingType, city, district, area, bedrooms, bathrooms, distanceToSea, imageUrl, isVerified, excerpt, contactUrl, description, address, latitude, longitude, landArea, rooms, floor, totalFloors, yearBuilt, furnished, parking, features, galleryUrls, totalPhotos, virtualTourUrl, videoUrl, agent, pricePerSqm, isSuperPrice, isUrgent, isNew
Find similar properties
find_similar_propertiesТолько чтениеFind properties similar to a given one. Uses AI embeddings to find visually and semantically similar listings. Great for "show me more like this" scenarios.
Параметры
propertyIdintegerобязательный- Reference property ID
limitinteger- Number of similar properties (max 12). Default: 6
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
Возвращает: totalCount, properties, hasMore, searchTip
List cities
list_citiesТолько чтениеGet list of all cities where MDRealty has properties. Use city slugs from this list for the citySlug filter in search_properties.
Параметры
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
Возвращает: cities
List property types
list_property_typesТолько чтениеGet available property types (apartment, house, villa, land, etc.) with slugs for search filters.
Параметры
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
Возвращает: propertyTypes
List listing types
list_listing_typesТолько чтениеGet available listing types (sale, rent) with slugs for search filters.
Параметры
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
Возвращает: listingTypes
List thematic collections
list_collectionsТолько чтениеList available thematic property collections, e.g. "Beachfront Villas", "Investment Apartments". Curated groups of properties organized by theme.
Параметры
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
limitinteger- Max results. Default: 10
Возвращает: collections
List articles
list_articlesТолько чтениеList blog articles about Montenegro real estate. Covers buying guides, investment tips, area overviews, and market analysis.
Параметры
categorystring- Category slug to filter by
limitinteger- Max results. Default: 10
offsetinteger- Skip N results. Default: 0
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
Возвращает: totalCount, articles, hasMore
Get article
get_articleТолько чтениеGet a blog article by slug or ID. Articles include guides about Montenegro locations, buying process, and investment advice.
Параметры
slugstring- Article URL slug
idinteger- Article ID
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Response language. Default: en
Возвращает: id, slug, title, url, canonicalUrl, excerpt, category, imageUrl, publishedAt, content, relatedProperties
Estimate purchase costs
estimate_deal_costТолько чтениеAuthoritative purchase-cost calculator for Montenegro, the same as /tools/deal-cost-calculator on mdrealty.me: property transfer tax (PROGRESSIVE — 3% up to €150,000, 5% for €150,000–500,000, 6% above; a new build from a VAT-registered developer is exempt) and the notary fee by the official tariff (Sl. list CG 49/2026; +5% of the tariff per party beyond two, +€15 per court interpreter, cadastre filing, 21% VAT). Also returns the agency fee: none for a listing from the MDRealty catalog, a separate deal-support fee for a property found elsewhere. Pass a price, or propertyId/slug of a catalog listing to use its price. Always use this instead of computing taxes or fees yourself.
Параметры
pricenumber- Property price in EUR. Not needed when propertyId or slug is given.
propertyIdinteger- Internal ID of a catalog listing (the "id" field of search results) — its price is used
slugstring- Slug of a catalog listing — its price is used
dealSupportboolean- The property was found elsewhere and MDRealty is asked to handle the purchase. Ignored for catalog listings.
newBuildFromVatPayerboolean- New build bought from a VAT-registered developer — no transfer tax. Default: the listing's own exemption for a catalog listing, otherwise false
buyersinteger- People buying (spouses = 2, a company = 1). Default: 1
sellersinteger- People selling, same rule. Default: 1
interpretersinteger- Court interpreters at the signing, one per language. Default: 0
cadastreFilingboolean- The notary files the cadastre application. Default: true
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Language of the links. Default: en
Возвращает: price, currency, property, transferTax, notary, extraFees, agencyFee, totalCosts, totalWithProperty, totalWithDealSupport, calculatorUrl, notes
Mortgage calculator
mortgage_calculatorТолько чтениеMonthly mortgage payment for a property price in EUR — the same annuity calculation and defaults as /tools/mortgage-calculator on mdrealty.me: down payment 30%, 20 years, and unless a rate is given, the cheapest current bank rate for the borrower segment (5% when no bank rate is on file). Indicative only: bank terms in Montenegro differ.
Параметры
pricenumberобязательный- Property price in EUR
downPaymentPctnumber- Down payment as % of the price. Default: 30
downPaymentnumber- Down payment in EUR — overrides downPaymentPct
termYearsinteger- Loan term in years. Default: 20
annualRatePctnumber- Annual interest rate, %. Default: the cheapest current bank rate for the segment
segment"resident" | "non_resident_permit" | "non_resident" | "young" | "diaspora"- Borrower: resident, non_resident_permit (has a residence permit), non_resident, young, diaspora. Default: resident
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Language of the link. Default: en
Возвращает: price, downPayment, downPaymentPct, loan, termYears, annualRatePct, rateSource, bank, monthlyPayment, totalPaid, totalInterest, calculatorUrl, note
Market price statistics
get_market_statsТолько чтениеAsking-price statistics of real estate in Montenegro from the MDRealty catalog: number of active listings, price and price-per-m² quartiles (25th percentile, median, 75th) and median area — for the whole country, a city or a region, a property type and a deal type (sale, monthly rent, nightly rent). A region (e.g. budvanskaya-rivera) covers every town in it; city.isRegion marks it. Groups with fewer than 5 listings are not shown. Refreshed daily; computedAt says when. Use it to answer "how much does an apartment in Budva cost per m²" instead of guessing from search results.
Параметры
citySlugstring- City or region slug from list_cities ("budva" works too); omit for the whole country and every city
propertyTypestring- Property type slug from list_property_types, e.g. apartments; omit for all types
listingType"sale" | "rent" | "daily-rent"- sale, rent (monthly) or daily-rent (nightly). Default: all three
limitinteger- Groups to return, 1–200. Default: 50
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Language of city and type names. Default: en
Возвращает: computedAt, currency, minGroupSize, totalGroups, groups, hasMore, note, searchTip
Compare properties
compare_propertiesТолько чтениеSide-by-side comparison of 2–4 MDRealty listings: price, price per m², area, bedrooms, bathrooms, distance to the sea, city, year built and the listing page, plus how each price per m² compares with the market median for similar listings (the same figures as get_market_stats). Pass the ids from search results, or slugs.
Параметры
propertyIdsinteger[]- Internal IDs (the "id" field of search results), not the listing number in the title
slugsstring[]- Listing slugs
locale"ru" | "en" | "sr" | "de" | "fr" | "tr" | "pl"- Language of titles, names and links. Default: en
Возвращает: properties, notFound, summary, marketComputedAt, note
Партнёрские и служебные ключи открывают дополнительные инструменты, например поиск по фото и проверку дублей. Чтобы получить партнёрский ключ, напишите нам.