TamleekPlusDocs

Using Tamleek Plus via the REST API

The current API (/v0/*) is the same underlying data as MCP, over plain HTTP with JSON responses — for your own backend, script, or notebook. It is an indicative, pre-release surface: a versioned, hardened, token-gated /v1 is planned (see roadmap note below). Treat /v0 as stable enough to build against today, but expect it to be superseded.

Auth

Every /v0/* request requires an X-API-Key header. There is no unauthenticated data endpoint — /health is the only public route. Missing or invalid keys return 401; a key over its quota returns 429.

Endpoint catalog

MoJ registered sales

EndpointQuery params
GET /v0/volume-trendmunicipality, year (2020–2026)
GET /v0/district-countmunicipality, year
GET /v0/price-indexmunicipality, property_type (default villa)
GET /v0/price-sqmdistrict, property_type (optional)
GET /v0/null-ratedistrict

Aqarat QREP — rental & mortgage

EndpointQuery params
GET /v0/aqarat/rent-price-sqmmunicipality, property_type
GET /v0/aqarat/rent-by-bedroomsmunicipality, property_type (default Apartment)
GET /v0/aqarat/rent-trendmunicipality, year, property_type
GET /v0/aqarat/mortgage-value-indexmunicipality, year
GET /v0/aqarat/mortgage-activitymunicipality, year

Active listings (The Pearl pilot)

EndpointQuery params
GET /v0/listings/marketdistrict, tower, property_type, bedrooms, size_band (studio/1br/2br/3br_plus)
GET /v0/listings/price-banddistrict, property_type, bedrooms, size_band
GET /v0/listings/deal-checkdistrict, asking_price, area_sqm, property_type — compares an offer against the district band

Listings are active asking prices, never sold values. The pilot dataset covers The Pearl only.

Pearl synthetic demo (AVM methodology testing)

EndpointQuery params
GET /v0/pearl-demo/towersnone — lists the demo tower registry
GET /v0/pearl-demo/unit-historyunit_id
GET /v0/pearl-demo/tower-summarytower_code, view, size_band
GET /v0/pearl-demo/compsunit_id OR view + size_band, tower_code, floor_window, months

Every row from this family is fully synthetic — a seeded generator anchored to real UDC unit structure, not a real transaction. Confidence on the comps endpoint is a computed tier (high/medium/low) from comparable count, price spread, and freshness — never a narrated guess.

Geo & enrichment

EndpointQuery params
GET /v0/geo/listingsnone — GeoJSON FeatureCollection of active listing points
GET /v0/geo/choroplethnone — median price/m² per Qatar municipality, as GeoJSON polygons
GET /v0/maps/catchmentlat, lng, radius (100–5000m) — a 0-100 catchment-density score around a point

What you can build against this API

What you cannot do with this API

Roadmap: /v1

A versioned, token-gated, hardened /v1 API (served from api.tamleekplus.com) is planned. It will formalize rate limits, response schemas, and versioning guarantees on top of the same data families documented here. This page will be updated when it ships.