v2.14.0 · August 2026
Area Guide page fixes — property types, off-plan split, area location
GET /transactions/property-types now honors the ?area= filter — previously returned Dubai-wide totals even when an area was requested.
GET /transactions/by-project/{name} falls back to area matching when the name is an area (not a project/building), and supports ?procedure= — fixes the area page's off-plan vs resale split showing 0.
GET /maps/areas/{area_name} now falls back to a building-centroid when the area isn't in the 50-area geocoded set — fixes "Location data unavailable" for most areas.
- Stability: concurrent request bursts no longer cause intermittent 401s — auth usage tracking is batched (no per-request SQLite writes), heavy area endpoints are response-cached so parallel page renders don't re-run expensive scans.
v2.13.2 · August 2026
Calculation audit — Sales-only avg price / total volume
- Fixed systemic bug:
avg_price / total_volume were averaging/summing Sales + Mortgage + Gift transactions. Mortgages/gifts inflated area, building, project, broker and market averages.
- Applied
trans_group_en = 'Sales' filtering to ~25 endpoint queries across areas, buildings, projects, brokers, transactions, analytics, ai, makani.
- Fixed
mv_tx_trends, mv_developer_share, mv_transaction_stats materialized views (Sales-only aggregates).
- Verified PSF unit conversion and AVM estimate math are correct.
v2.13.1 · August 2026
AI Research — fix empty/leaking output
- Fixed
POST /api/v1/ai/research returning empty narratives or raw <think> reasoning blocks.
- Groq model
llama-3.3-70b-versatile was removed from Groq's API; default research model is now qwen/qwen3.6-27b.
- Synthesis now uses a 6000-token budget and strips the thinking block; added a Gemini fallback when Groq output is rejected.
v2.13.0 · August 2026
Market Overview — avg_price_per_sqft + July 2026 data + AVG zero-guard fix
GET /insights/market-overview now returns avg_price_per_sqft in current_period and prior_period (AED per sqft). Fixes the frontend stat card showing AED 0.
- Imported July-August 2026 DLD data: +30,202 transactions, +134,402 rent contracts, +697 valuations, +47 projects, +2,429 lands.
- Fixed AVG() zero-skew across 18 endpoints — zero-value rows no longer drag down price/PSF/rent averages.
v2.12.0 · August 2026
Mobile guest tools — no registration required
- New
/api/v1/m/* endpoints for the WAQOV mobile app (not in the public API docs) give unauthenticated users instant tools: DLD fee calculator, market pulse, top areas, search suggestions, AVM valuation (3/day), golden visa properties, area compare, and a free market news feed.
- Guest requests are per-IP rate limited with a
X-Guest: 1 header so the app can prompt create a free account for full access. Premium features (polygon map, watchlist, AI reports) remain account-only.
v2.11.0 · August 2026
Personal Market Radar — AI-summarized watchlist news digest
- When news matches your watchlist, you get a 2-3 sentence AI summary + push notification — only the news that matters to your areas.
POST /ai/alerts/run-news-digest, GET /ai/news-digest. (Push token registration is internal to the WAQOV mobile app.)
v2.10.0 · August 2026
Web account dashboard, login page & key rotation
- New /login HTML page — log in with email + password (the login API already existed). No more dead-end after signup.
- New /dashboard HTML page — plan badge, live API/AI usage bars, key hint + quick links.
GET /auth/me is now actually authenticated (was returning 401) and returns key_prefix.
- New
POST /auth/rotate — regenerate your API key; the new key is shown exactly once (keys are stored hashed and can never be re-displayed).
- New /forgot-password + /set-password flow — set/login a password by email link. Existing accounts created before login was added (which had no password) can now log in.
v2.8.1 · August 2026
AI engine upgrade + prompt-injection hardening
- AI narratives now use OpenRouter qwen3-8b (sub-2s, ~$0.08/M) with Gemini failover — no more 30-90s local generation / 502s.
- Free-text endpoints (research, pitch) stay on local Gemini only — user input never leaves the server.
- Hardened prompt-injection guards: data marked as UNTRUSTED input, output validation rejects injected model responses.
v2.8.0 · August 2026
Micro-Market Watchlist (polygon geo-query + price alerts)
POST /transactions/geo-query — draw a polygon around a micro-market (e.g. Palm Jumeirah Fronds) and get the matching transactions. Same item shape as /transactions.
POST /ai/watchlist extended — add polygon + price/rooms criteria, phone & channel.
POST /ai/alerts/run-transactions (Enterprise) — cron that alerts when a matching transaction (non-developer-sale) appears.
v2.7.3 · August 2026
New: Building Net-Yield Simulator endpoint
GET /analytics/building-yield/{building_id} — single building's sales, rents and service-charge data to compute gross + net yield. Median-based with outlier trimming. Powers the frontend yield simulator.
v2.7.2 · August 2026
Security fixes
- Fixed: Stripe webhooks were behind auth (all real calls rejected 401) — now public with signature verification.
- Fixed: Stripe customer-search injection (email sanitized), unbounded webhook body (1 MiB limit).
- Email validation at signup + per-IP rate limiting on /auth/signup|verify|reset.
- Fixed: Azure mail env was missing from the prod compose file — signup/reset verification emails now send again.
v2.7.1 · August 2026
Bug fixes from code review
- Fixed: analyze-transaction comparables query (was always 0), seasonality panic on empty result.
- Fixed: avg_psf unit in area-comparison / top-areas; top-areas ranking was alphabetical.
- Admin-gated
/admin/api-keys/verify (was leaking key validity + email/plan to any key).
v2.7.0 · August 2026
Systemic price-per-square-foot fix
- Fixed: all PSF-labelled values now return true AED per square foot (÷10.764). Previously
meter_sale_price (AED/sqm) was exposed directly as price_psf/avg_psf, inflating figures ~10.76×.
- Fixed endpoints: transactions list & detail, areas stats, buildings stats & rankings, projects stats, analytics psf-by-bedroom, AI reports, insights, makani.
v2.6.5 · August 2026
New: Land Pipeline
GET /insights/land-pipeline — which developments hold how much land, where, and their off-plan share. Land-acquisition leads for developer CRMs.
v2.6.4 · August 2026
New: Market Entry
GET /analytics/market-entry — buildings that entered the market recently (first-ever sale within lookback window). New-supply tracking.
v2.6.3 · August 2026
New: Yield Arbitrage
GET /analytics/yield-arbitrage — buildings whose rental yield is significantly above their area average. Buy-to-let investment leads.
v2.6.2 · August 2026
New: Development Activity
GET /analytics/developer-activity — ranks active developments by recent sales velocity with PSF trend, off-plan share, and direct-developer sales. Competitor tracking.
v2.6.1 · August 2026
New: Undersupply Detection
GET /analytics/undersupply — areas where rent is rising but sales are stalling. Housing-undersupply / development-opportunity signal.
v2.6.0 · August 2026
Valuation & PDF accuracy fixes
- Fixed: AVM and Comparable-Sales PDF PSF unit bug (AED/sqm vs AED/sqft).
- AVM estimate now uses median of IQR-outlier-filtered comparable PSF.
- PDF: corrected price/sqft, real property type column, lookback-scoped totals.
v2.5.0 · August 2026
Automated Valuation Model (AVM)
GET /valuations/estimate — rule-based property valuation from comparable recent DLD sales.
- Median-of-outlier-filtered estimate (avg PSF × size in AED/sqft, or median comparable sale value when no size given).
- Returns confidence range, PSF trend, comparables used, building/area resolution.
- Output labeled 'Proprietary Estimate' with DLD-source disclaimer (per UAE Open Data License).
v2.4.0 · August 2026
Compliance & Data Transparency + Makani backfill
- Field-level Data Transformation Register proving WAQOV does not resell raw DLD records.
- Added Dubai Municipality Makani dataset to data attribution & licensing page.
- Backfilled coordinates for 103,652 buildings via Makani community centroids (8% → 68% geocoded).
- Building / Makani / communities endpoints now return nearest neighbours, entrances, and area stats.
v2.3.0 · August 2026
Makani Entrances + first-request cache fix
- New Makani dataset: 124,245 entrances with coordinates and MGRS references.
GET /makani, /makani/{n}, /makani/communities, /makani/stats.
- Fixed first-request empty response on all cached endpoints.
v2.2.0 · July 2026
New Analytics Endpoints + Fuzzy Area Matching
- Building ROI, Developer Performance, Area Investment Scores, Area Search (59 aliases).
- Enrichment registry + data provenance on every response.
v2.1.0 · July 2026
Phase 1 — Quick-Win Endpoints + AI Assistant
- DLD Fee Calculator, Building Rankings, Area Comparison (2-5), Off-Plan vs Secondary, Golden Visa filter.
- AI Research Assistant (Enterprise), Broker Cheat Sheet, Watchlist & Investment Alerts.
v2.0.0 · June 2026
AI-Powered Property Intelligence
- Transaction analysis, project reports, market reports, rent-vs-buy analysis.
- Sub-15ms responses via pre-computed analytics.
v1.0.0 · May 2026
Initial release
- 78 API endpoints, API-key auth, full-text search across all property data.
Browse API docs →