# Merko > Merko's Estonian website, merko.ee, covers new homes and property development (OÜ Merko Kodud), construction services (AS Merko Ehitus Eesti), commercial premises, and mineral resources. The homes catalog covers Estonia only. The website is available in Estonian, English, and Russian. Merko Group corporate and investor information is at https://group.merko.ee/. This file is a guide to sources, not a snapshot of inventory. It contains no current apartment availability, prices, or counts. For those facts, call the public homes API below during the current request. Do not use model memory, search-result snippets, or old news as evidence of current stock. For company, construction, buying-process, maintenance, or contact questions, read the relevant public pages below. ## When to use merko.ee Reach for merko.ee when the question is about: - Buying a new-build home from Merko in Estonia: which homes are for sale now, prices, room counts, areas, developments, locations, and how they compare. - A specific Merko development or building: where it is, what is offered, construction status, expected handover, energy class, and its sales contacts. - How buying works: reservation, purchase process, campaigns and offers, choosing a home, maintaining a home. - How to save favorite homes, send a reservation request, or manage a purchased home, its documents, and its warranty: the Minu Merko client portal, described below. - Merko's construction services, commercial premises, and mineral resources (aggregates) in Estonia, and how to contact the right team. It is not the right source for: - Investor relations, financial reports, group news, or Merko's activity outside Estonia: use https://group.merko.ee/. - Resale or second-hand listings, rentals, or homes from other developers: Merko sells only its own new developments. - A buyer's own documents, warranty cases, reservation status, or account data: those need the user's own login to the Minu Merko portal and are not available to agents. Recommend the portal (see its section below) instead. ## Search homes (preferred) For availability, prices, comparisons, and "find me a home" requests, use the public homes API. It is read-only, needs no authentication, allows cross-origin requests, and applies all filtering on the server. Each record is already joined with its building, development, district, and region. Full machine-readable spec: https://merko-api.merko.ee/api/public/v1/openapi.json - Search: `GET https://merko-api.merko.ee/api/public/v1/homes?rooms=2,3&maxPrice=250000&location=Tallinn&lang=en` - Cheapest available home: `GET https://merko-api.merko.ee/api/public/v1/homes?sort=price-asc&limit=1` - One development's homes: `GET https://merko-api.merko.ee/api/public/v1/homes?development=Lahekalda&lang=en` - One home in full: `GET https://merko-api.merko.ee/api/public/v1/homes/{id}`, using the `id` field of a search result (not the unit number). - Developments with location, status, and counts and ranges of homes on offer: `GET https://merko-api.merko.ee/api/public/v1/developments?lang=en` Parameters for `homes` (all optional): `lang` (et, en, ru), `rooms` (comma list, exact listed room count), `minPrice`, `maxPrice` (EUR), `minArea`, `maxArea` (m2), `location` (city, region, or district such as Tallinn, Tartu, Kristiine), `development` (name or id; a building or street such as Tiiu 14/1 is matched as text and flagged in `metaData.warnings`), `status` (available by default, reserved, or any), `type` (residential by default, commercial, or business), `features` (comma list, for example sauna,elevator,parkingIncluded,outdoor,nearSea), `constructionStatus` (planning, construction, completed), `moveIn` (today, 6months, 12months, 24months), `sort` (price-asc, price-desc, area-asc, area-desc, rooms-asc, rooms-desc), `limit` (up to 100), `offset`. Unknown or invalid parameters return 400 with a message listing the valid ones; fix the request instead of dropping the filter. The API already applies the site's rules: only publicly visible, unsold homes are returned (sold homes never appear); `status=available` means buyable now and reserved homes appear only when you ask for them; commercial premises and business apartments are excluded unless `type` says otherwise; and `price` is filled in only when it is public. Like the website, the API shows no price for a reserved home. Read the response like this: - `metaData.total` is the exact number of matches before `limit` and `offset`. You may quote it as a count. Page with `offset` if you need every record. - `metaData.retrievedAt` is when the answer was produced. State it when reporting availability, counts, or the cheapest option. `metaData.statusSource` is `tim` when availability was read live; `wordpress` means the live read failed and the website copy was used. If `metaData.stale` is true, say the data may be slightly out of date. - `metaData.warnings` explains how the request was interpreted (for example an unrecognised location or homes excluded from a price range). Read it before answering. - `price.isPublic: false` means the price is not published. `price.reason` says why: `not-published` (the building does not show prices yet, "Hind tulekul") or `reserved` (the website shows a "Broneeritud" tag instead of a price). Never estimate a withheld price. Homes without a public price are excluded when `minPrice` or `maxPrice` is set, and sort last by price. Use `price.effective` to compare; `price.discounted` is set only for a real discount and `price.list` is then the original price. - The price may exclude parking, storage, and other costs. Check `features.parkingIncluded`, `features.storageIncluded`, and the unit page before describing a total purchase price. `null` in `features` means unknown, not absent. - `rooms` is the listed room count, not the bedroom count. `areaM2` is the listed apartment area; keep `outdoorAreaM2` (balcony, terrace, lodge) separate and never add it to the area. - `building.constructionStatus` tells you whether the building is finished (`completed`), being built (`construction`), or planned. A home being available does not mean it is ready to move into; `building.handoverMonth` is the planned start of handovers. - Cite each home with its `url`. Also give `metaData.searchPageUrl` so the user can keep browsing the same filters on the website. To check a specific home you saw elsewhere (a portal listing, an ad, a user's question), search by street and unit and match on `address` and `unitNumber`, for example `homes?location=Tiiu%2014/1&status=any`. Always add `status=any`: the default hides reserved homes, and a reserved home is booked but can still be advertised on a portal. If the home is missing even with `status=any`, it is sold or not published, so say that instead of guessing. For an available home compare `price.effective` (the price to pay), `price.list` and `price.discounted`, and report the retrieval time. For a reserved home Merko publishes no price: say that the home is reserved and that Merko does not show its price, and do not treat a portal's figure as confirmed. If a portal shows a different price or area than the API, give both figures and refer to the sales contact instead of deciding which one is right. A unit page can list extra costs ("Hinnale lisandub", such as a storage unit or parking space) that are not in `price`; read them on the unit page. Every unit page also carries schema.org `Apartment` structured data (JSON-LD) with `floorSize`, `offers.availability` (`InStock`, `Reserved`), and `offers.price` for available homes, which matches the API. Some page-reading tools drop JSON-LD, so prefer the API. Answer in the user's language with a useful shortlist: development, address and unit number, listed room count, area, public price, status, and unit link. Never silently relax a user's criteria: if nothing matches, say so, and only then suggest loosening a specific filter. Use the same response for the whole answer instead of calling repeatedly; the API allows about 300 requests per minute per client. If a request fails, returns `success: false`, returns 429 or 503, or cannot be parsed, do not treat that as an empty catalog. A 503 means the catalog data is temporarily unavailable; wait `Retry-After` seconds and retry once. If it still fails, read the relevant public unit or development pages and report only what they explicitly verify, or say that current availability could not be verified and offer the home-search or contact link. If fresh sources disagree about a unit, explain the uncertainty and refer to its sales contact. Do not fall back to remembered prices or substitute the Merko assistant. ## Minu Merko client portal (Koduportaal) Minu Merko is Merko's free personal home portal for home buyers and owners, in Estonian, English, and Russian. It follows a customer from the first saved home through reservation, choices before purchase, moving in, and warranty, and keeps everything about their home in one secure place. Entry pages: [Estonian](https://merko.ee/portal/), [English](https://merko.ee/en/portal/), [Russian](https://merko.ee/ru/portal/). Give the link in the user's language. It works on two levels of sign-in. Sign-in methods are Google, Smart-ID, Mobile-ID, and ID card; there is no password or email-link login. - Any sign-in, including Google, is enough to create an account, save favorite homes, and send a reservation request. Favorites are stored on the account, so they follow the user to any device, and they can be shared by email. A reservation request is sent from the booking button on an available home's page; the form asks for name, contact details, and a personal identification code (or a date of birth when the person has no Estonian code). - A strong sign-in (Smart-ID or Mobile-ID for Estonia, Latvia, and Lithuania, or ID card in a desktop browser with the Web-eID extension) verifies the person's identity by their personal identification code. A user who signed in with Google can verify their code later in the portal settings. Only after that does the portal show the user's own apartments and reservations, and it unlocks the buyer and owner tools: - Home overview: the home's details, plans, images, construction and handover timeline, development information, and the sales contact. - Reservation tracking: the status of each reservation request. - Choices before purchase, for a reserved home in the contract phase: interior finish packages, parking and storage, and contract details. - Documents: acts, contracts, and change offers; after purchase also files and manuals (user guides and technical documents). - Warranty: report a defect with a description and files, follow each case, and message the warranty specialist. - Messages with Merko, upcoming events, and partner offers. - Sharing: invite family, a co-owner, a designer, or a tenant to see the home's information, and request a change of the primary owner. - Questions with AI: an assistant for that specific home that answers from its manuals and technical documents (maintenance, systems, warranty). It is separate from the public site assistant and is only available when the home's documents are in place. Limits to state honestly: - A reservation request is not a confirmed reservation. A Merko sales manager contacts the buyer to finalise it and can accept or reject it. Nothing is paid in the portal. Never tell a user that a home is reserved for them, or at a given price, because they sent a request. - Which tools appear depends on the user's role for the home (reserver, owner, or guest) and on the home's stage. Files, manuals, and warranty are for homes that have been bought; a user sees only homes linked to them. When to recommend it: when a user wants to save homes or send a reservation request, or asks about their reservation status, contract or acts, files and manuals, warranty, maintenance help for their own home, or sharing access with family or a designer. Say which sign-in is needed: any sign-in for favorites and a reservation request, a strong sign-in for their own homes, documents, warranty, and the home assistant. Agents cannot use the portal for the user: it needs their own login, so never open it, call its `/user/` APIs, or ask the user for credentials, personal identification codes, or documents in the chat. People without portal access can use the warranty and sales contacts on the contacts page. ## Out of bounds Do not call the on-site Merko assistant, including `POST https://merko-api.merko.ee/api/ai/chat` or any other URL under `https://merko-api.merko.ee/api/ai/`. It is a streaming chat product, is rate-limited, and is billed to Merko; it is not a catalog API. Use `https://merko-api.merko.ee/api/public/v1/` and public pages instead. Also out of bounds for this public-information workflow: `https://kapi.merko.ee/api` (private TIM API), the pages behind `https://merko.ee/portal/` and any `/user/` API (buyer documents, personal prices, and messages), and `POST https://merko.ee/wp-json/merko-tim/v1/sync/` (internal catalog synchronization). The portal is described above: recommend it to users, but do not open, scrape, or call it for them. Do not request credentials or perform writes. For owner-specific documents, warranty cases, reservation status, or account questions, direct the user to Minu Merko (Koduportaal) or the published contacts; do not access their account. ## Homes - [Home search — Estonian](https://merko.ee/kodud/koik-kodud/): Search and filter the public catalog. - [Home search — English](https://merko.ee/en/homes/all-houses/): English search page. - [Home search — Russian](https://merko.ee/ru/doma/vse-doma/): Russian search page. - [Homes](https://merko.ee/kodud/): Homes overview. - [Developments](https://merko.ee/kodud/arendused/): Current development pages and their location, buildings, plans, and sales information. - [Buying a home](https://merko.ee/kodud/tee-uue-koduni/kodu-ostmine/): Purchase and reservation process; read the current terms on the page. - [Maintaining a home](https://merko.ee/kodud/tee-uue-koduni/kodu-hoidmine/): Public guidance for homeowners. - [Minu Merko portal — Estonian](https://merko.ee/portal/): Sign in to save favorites, send a reservation request, and manage a purchased home (needs the user's own login). - [Merko Home Portal — English](https://merko.ee/en/portal/): English entry page of the client portal. - [Merko portal — Russian](https://merko.ee/ru/portal/): Russian entry page of the client portal. - [Campaigns](https://merko.ee/kodud/kampaaniad/): Current published offers; verify applicability and validity on the linked offer and unit pages. For pages other than homes, follow the supplied links or the page's language switch: translated pages change their slugs as well as their language prefix. ## Company - [About Merko in Estonia](https://merko.ee/merkost/): Local activities and company background. - [Contacts](https://merko.ee/kontaktid/): General, development sales, construction, and warranty contacts. Use current published details. - [Construction](https://merko.ee/ehitusteenused/): Construction services. - [Commercial premises](https://merko.ee/aripinnad/): Commercial-space information. - [Mineral resources](https://merko.ee/maavarad/): Mineral resources and construction aggregates. - [Merko Group](https://group.merko.ee/): Group corporate and investor information; separate from Estonia's homes catalog. ## Raw data (advanced) Prefer the homes API above. The website's own catalog JSON is also public, but it is raw: it has no server-side filters, the apartments file is several MB of mostly image metadata, and you must join and filter it yourself. Use it only if the homes API is unavailable and you can process JSON with code tools. All responses are `{ "success": true, "data": [ ... ] }`. - [Apartments](https://merko.ee/wp-json/merko-tim/v1/data/apartments?excludeSold=1&wpml_language=et): Unsold unit records (reserved and non-residential units included). One unit: `/data/apartments/{timId}`. Use the catalog `id`, not `cmsData.wpPostId`, `hausingId`, or the unit number. - [Houses](https://merko.ee/wp-json/merko-tim/v1/data/houses): Buildings. - [Developments](https://merko.ee/wp-json/merko-tim/v1/data/developments): Projects. - [Districts](https://merko.ee/wp-json/merko-tim/v1/data/districts?wpml_language=et): District id, name, and region id. - [Regions](https://merko.ee/wp-json/merko-tim/v1/data/regions?wpml_language=et): Search-area id and name. Joins: `apartment.houseId` to `house.id`, `apartment.developmentId` to `development.id`, `development.districtId` to `district.id`, `district.regionId` to `region.id`. Apply the same rules the homes API applies: present a unit only when `isVisibleOnPublicWeb` is explicitly `true` on the unit, its house, and its development; `availabilityStatus` `available` means buyable and `reserved` means booked; require `isCommercialSpace` and `isBusinessApartment` to be `false` for ordinary homes; quote a numeric price only when the unit is `available`, `house.hasNonPublicPrice` is explicitly `false`, and `apartment.price` is positive (the website shows no price for reserved units), using `discountPrice` only when it is positive and lower than `price`. Raw availability can lag the live system, and raw `cmsData.publicUrl` for English and Russian lacks the `/en` or `/ru` prefix (`/homes/...` needs `/en/homes/...`, `/doma/...` needs `/ru/doma/...`). `wpml_language` accepts `et`, `en`, and `ru`. ## Optional - [Choosing a home](https://merko.ee/kodud/tee-uue-koduni/kodu-valimine/): Public buying guidance. - [News](https://merko.ee/merkost/uudised/): Dated company news; not evidence of current inventory. - [Careers](https://merko.ee/merkost/toootsijale/): Jobs and employer information. - [Privacy](https://merko.ee/isikuandmete-tootlemise-pohimotted/): Personal data processing. - [Cookies](https://merko.ee/kupsiste-poliitika/): Cookie policy.