Fetching live data...
REAL ESTATE VALUATION & ALPHA ENGINE
CONNECTING...
DLD Transactions
Loading...
Avg Yield (JVC)
↑ Best in Dubai
UAE Pop Growth
World Bank
SOFR Rate
FRED API
Price Trend — Dubai vs Key Districts
Price trend chart loading
Top Alpha Opportunities
Silicon Oasis — Tower A
CO-LIVING · 45 SQM
AED 680K
BUY
JVC — The Pulse
1BR · 68 SQM
AED 850K
BUY
Expo City — Park Lane
STUDIO · 42 SQM
AED 590K
HOLD
Meydan Horizon — H1
2BR · 112 SQM
AED 1.4M
ROTATE
Dubai Marina — Wave
1BR · 78 SQM
AED 1.2M
SELL
Yield by District
Yield chart
Market Sentiment (NLP)
📊
Loading...
— / 100
SIGNALS DETECTED
Data Sources Active
DLD Transactions ● LIVE
World Bank API ● LIVE
FRED (SOFR) ● LIVE
OpenStreetMap ● LIVE
NewsAPI ◐ KEY NEEDED
REIDIN ○ PAID TIER
Property Parameters
Alpha Score
ALPHA
● AWAITING INPUT
FAIR VALUE
NET YIELD
5Y IRR EST.
CONFIDENCE
Factor Breakdown
Location
Property
Market
Macro
Sentiment
Metro Blue Line premium: 60%
Price Projection (AED/sqft)
Forecast chart
Year-by-Year Model Output
YEAR GROWTH FACTOR PRICE IRR
Scenario Analysis — Monte Carlo Variables
OIL PRICE IMPACT
0% price sensitivity
GOLDEN VISA VOLUME
0% demand shift
INTEREST RATE SHIFT
0bps rate change
Dubai Land Department
LIVE
Real-time transaction records, property index, mortgage registrations. Primary valuation baseline.
api.dubairest.com/v1/transactions
FREE TIER REGISTRATION REQ.
World Bank API
LIVE
UAE population growth, GDP, inflation, FDI. No API key required — open access.
api.worldbank.org/v2/country/AE/indicator
FREE · NO KEY
FRED — Federal Reserve
LIVE
SOFR rates, USD trends, interest rate environment. Critical for financing cost model.
api.stlouisfed.org/fred/series/observations
FREE API KEY
OpenStreetMap (Overpass)
LIVE
Metro station locations, schools, hospitals, malls. Proximity scoring for all properties.
overpass-api.de/api/interpreter
FREE · NO KEY
RERA Rental Index
LIVE
Official government rental price ranges by area and property type. Used for fair rent benchmarking.
dubailand.gov.ae/en/open-data
FREE DOWNLOAD
NewsAPI.org
KEY NEEDED
Dubai real estate news, developer announcements (Emaar, Nakheel, Sobha). Feeds NLP sentiment layer.
newsapi.org/v2/everything?q=Dubai+real+estate
FREE 100 REQ/DAY
REIDIN
PAID TIER
Granular historical trends, yield indices, supply pipeline. The gold standard for MENA PropTech data.
api.reidin.com/v3/ae/transactions
~$500/MONTH
Ejari (Rental Registry)
REGISTRATION
Registered rental contracts across Dubai. Real occupancy signal — which areas have real tenants vs speculation.
dubairest.com/ejari/v1/registrations
BUSINESS ACCOUNT
Records Ingested
24,891
Today
Anomalies Flagged
47
0.19% flag rate
Quarantined
12
Excluded from model
Recent Anomaly Flags
PRICE OUTLIER — 3.2σ
Transaction in Dubai Marina recorded at AED 28,400/sqft vs area avg AED 2,100/sqft. Quarantined — likely related-party transfer or data entry error.
TEMPORAL SPIKE — 38% MoM
JVC Area B showed 38% price jump in 30 days. Cross-checking with Ejari occupancy data — possible bulk transaction not retail.
SOURCE CONFLICT
RERA rental index shows AED 65K/yr for Silicon Oasis 1BR. Ejari records show median AED 52K. 20% discrepancy — using Ejari (actual contracts) as primary.
47 transactions tagged as "gift" or "mortgage settlement" — excluded from market rate baseline. These distort the fair value calculation.
Confidence Score Logic
Sources Agreeing HIGH
HIGH
5+ sources
50+ comps
MED
2-3 sources
10-50 comps
LOW
1 source
<10 comps
Validation Layers Active
Statistical anomaly detection (2σ threshold)
Cross-source verification (DLD × Ejari × RERA)
Temporal consistency check (MoM spike >25%)
Transaction type filtering (gifts, distressed sales)
Winsorization at 95th percentile
ML-based fraud pattern detection (beta)
DLD / Dubai REST
World Bank
FRED / SOFR
OpenStreetMap
NewsAPI
Full Stack
Step 1 — Register at Dubai REST
Go to dubairest.com → Register as developer → Submit your trade license or personal ID. Approval takes 1-3 business days. This gives access to DLD transactions, Ejari, and RERA rental index APIs.
Step 2 — Fetch DLD Transactions (Python)
# Install: pip install requests pandas python-dotenv import requests, os from dotenv import load_dotenv load_dotenv() API_KEY = os.getenv("DLD_API_KEY") # Fetch recent sales transactions response = requests.get( "https://api.dubairest.com/v1/transactions", headers={"Authorization": f"Bearer {API_KEY}"}, params={ "type": "sales", "from_date": "2024-01-01", "area": "JVC", "page_size": 100 } ) data = response.json() # data["transactions"] → list of {price, sqft, beds, floor, date, ...}
Step 3 — Anomaly Detection on Ingestion
import pandas as pd import numpy as np df = pd.DataFrame(data["transactions"]) df["price_per_sqft"] = df["price"] / df["sqft"] # Flag 2-sigma outliers mean = df["price_per_sqft"].mean() std = df["price_per_sqft"].std() df["anomaly"] = (df["price_per_sqft"] - mean).abs() > 2 * std # Winsorize at 95th percentile cap = df["price_per_sqft"].quantile(0.95) df["price_per_sqft_clean"] = df["price_per_sqft"].clip(upper=cap) # Exclude gifts/related-party df = df[df["transaction_type"] == "sale"] clean = df[~df["anomaly"]]
World Bank API — No Key Required
The World Bank API is completely open. No registration needed. Call directly and parse JSON.
import requests # UAE Population Growth Rate (SP.POP.GROW) url = "https://api.worldbank.org/v2/country/AE/indicator/SP.POP.GROW" r = requests.get(url, params={"format": "json", "mrv": 5}) pop_data = r.json()[1] # Last 5 years # UAE GDP Growth (NY.GDP.MKTP.KD.ZG) url2 = "https://api.worldbank.org/v2/country/AE/indicator/NY.GDP.MKTP.KD.ZG" r2 = requests.get(url2, params={"format": "json", "mrv": 1}) gdp = r2.json()[1][0]["value"] # Useful indicators for Dubai RE: # SP.POP.TOTL → Total population # NY.GDP.PCAP.CD → GDP per capita # FP.CPI.TOTL.ZG → Inflation rate # BX.KLT.DINV.CD.WD→ FDI inflows
FRED API — SOFR & Interest Rates
Register free at fred.stlouisfed.org/docs/api → Get API key instantly → Store in .env file.
import requests, os FRED_KEY = os.getenv("FRED_API_KEY") # SOFR (Secured Overnight Financing Rate) r = requests.get( "https://api.stlouisfed.org/fred/series/observations", params={ "series_id": "SOFR", "api_key": FRED_KEY, "file_type": "json", "limit": 1, "sort_order": "desc" } ) sofr = float(r.json()["observations"][0]["value"]) # Other useful series: # FEDFUNDS → US Fed Funds Rate # DCOILWTICO → WTI Crude Oil Price # DTWEXBGS → USD Trade-Weighted Index
OpenStreetMap — Metro Proximity
import requests, math # Query all Dubai Metro stations overpass_query = """ [out:json]; node["railway"="station"]["network"="Dubai Metro"] (24.7,54.9,25.4,55.6); out body; """ r = requests.post( "https://overpass-api.de/api/interpreter", data=overpass_query ) stations = r.json()["elements"] # → [{lat, lon, tags.name}, ...] def nearest_metro_km(prop_lat, prop_lon, stations): def haversine(lat1, lon1, lat2, lon2): R = 6371 dlat = math.radians(lat2-lat1) dlon = math.radians(lon2-lon1) a = math.sin(dlat/2)**2 + math.cos(math.radians(lat1)) * \ math.cos(math.radians(lat2)) * math.sin(dlon/2)**2 return R * 2 * math.asin(math.sqrt(a)) dists = [haversine(prop_lat, prop_lon, s["lat"], s["lon"]) for s in stations] return min(dists)
NewsAPI — Sentiment Analysis
# pip install newsapi-python textblob from newsapi import NewsApiClient from textblob import TextBlob NEWS_KEY = os.getenv("NEWS_API_KEY") api = NewsApiClient(api_key=NEWS_KEY) # Search Dubai real estate news articles = api.get_everything( q="Dubai real estate property", language="en", sort_by="publishedAt", page_size=50 ) # NLP Sentiment Scoring scores = [] for article in articles["articles"]: blob = TextBlob(article["title"] + " " + (article["description"] or "")) scores.append(blob.sentiment.polarity) # -1 to +1 sentiment_score = sum(scores) / len(scores) # > 0.2 → Bullish market sentiment # -0.2 to 0.2 → Neutral # < -0.2 → Bearish / negative news cycle
Full System Architecture
Recommended stack: Python (FastAPI) backend → Supabase PostgreSQL → Scheduled cron jobs for data ingestion → This HTML dashboard as frontend.
# .env file — never commit this to git DLD_API_KEY=your_dubai_rest_key_here FRED_API_KEY=your_fred_key_here NEWS_API_KEY=your_newsapi_key_here SUPABASE_URL=https://xxxx.supabase.co SUPABASE_KEY=your_supabase_anon_key ────────────────────────────────────────── # Supabase Tables Needed: -- transactions (from DLD) CREATE TABLE transactions ( id UUID PRIMARY KEY, area TEXT, price NUMERIC, sqft NUMERIC, price_per_sqft NUMERIC, beds INT, transaction_date DATE, is_anomaly BOOLEAN, source TEXT DEFAULT 'DLD' ); -- macro_indicators (World Bank + FRED) CREATE TABLE macro_indicators ( id UUID PRIMARY KEY, indicator TEXT, value NUMERIC, date DATE, source TEXT ); -- sentiment_scores (NewsAPI + TextBlob) CREATE TABLE sentiment_scores ( id UUID PRIMARY KEY, score NUMERIC, label TEXT, article_count INT, fetched_at TIMESTAMPTZ ); ────────────────────────────────────────── # Cron schedule (run on server): # DLD transactions → every 6 hours # World Bank → daily # FRED SOFR → daily # NewsAPI sentiment → every 3 hours # OSM Metro data → weekly
Portfolio AUM
AED 8.2M
↑ 12.4% YTD
Avg Net Yield
6.8%
4 assets
5Y IRR Proj.
19.2%
Blended
Rotate Signal
1
Marina unit
Holdings
PROPERTYDISTRICTVALUE (AED)YIELDALPHASIGNALCONF.
Silicon Oasis Tower A · 3FSilicon Oasis680,0007.2%78BUYHIGH
JVC The Pulse · 8FJVC850,0006.9%74BUYHIGH
Expo City Park Lane · 2FExpo City590,0006.1%61HOLDMED
Dubai Marina Wave · 18FMarina1,200,0004.8%38ROTATEHIGH
● JVC ● Dubai Marina ● Silicon Oasis ● Expo City ● Academic City ● Meydan Horizon ● Downtown ● Arjan
District Yield Comparison
District chart