Dubai property data, one API call away
A simple REST API and an MCP server for Claude Desktop, Cursor, and any other MCP client. Same data you see on dubuy.ai — refreshed on the same cadence, no scraping required.
Pro subscription required — AED 49/mo or AED 399/yr. Revoke keys instantly from your account.
REST API
JSON over HTTPS. Bearer-token auth. 60 requests/minute per key.
curl https://dubuy.ai/api/v1/communities/dubai-marina \ -H "Authorization: Bearer dub_live_..."
MCP server
8 tools for Claude Desktop, Cursor, Windsurf, or any Model Context Protocol client.
{
"mcpServers": {
"dubuy": {
"command": "npx",
"args": ["-y", "@dubuy/mcp-server"],
"env": { "DUBUY_API_KEY": "dub_live_..." }
}
}
}Endpoints
All endpoints live under /api/v1. Each MCP tool maps 1:1 to an endpoint.
| Endpoint | Returns |
|---|---|
| GET /communities | All 87 Dubai communities with headline stats (PSF, YoY, volume, sentiment percentile). |
| GET /communities/{slug} | Full profile — prices, yields, bedroom breakdown, Ejari data, Reddit pulse, commutes. |
| GET /communities/{slug}/pulse | Reddit sentiment: pros, cons, aspect scores, paraphrased pull quotes with source URLs. |
| GET /communities/{slug}/trends | Annual median PSF (2020–2026), total growth %, CAGR. |
| GET /compare?slugs=a,b,c | Side-by-side full profiles for 2–5 communities. |
| GET /search?min_psf_aed=... | Filter by price, property type, YoY growth, or sentiment percentile. |
| GET /projects | Top Dubai projects by price appreciation or transaction volume. |
| GET /developers/{name} | Developer profile — curated rating + RERA project list with escrow compliance. |
Bearer auth
Include your key as `Authorization: Bearer dub_live_...`. Generate up to 5 keys per account. Revoke anytime — takes effect instantly.
60 req / min
Default rate limit per key. 429 responses include a clear error. Need more? Email hello@dubuy.ai and we'll raise it.
Pro-gated
If your Pro subscription lapses, the API returns 402 with a billing-page link. Resubscribe and keys work again — no regeneration needed.
Response shape
Everything comes back as JSON. Example: GET /api/v1/communities/dubai-marina
{
"slug": "dubai-marina",
"name": "Dubai Marina",
"property_type": "apartment",
"median_psf_aed": 1680,
"yoy_pct": 8.4,
"sales_volume_2025": 4210,
"pulse": {
"items_scored": 172,
"sentiment_score": -0.11,
"sentiment_percentile": 58,
"top_pros": [ /* ... */ ],
"top_cons": [ /* ... */ ],
"aspects": { "parking": { "score": -0.4 }, "noise": { "score": -0.6 } }
},
"bedroom_breakdown": { "studio": {...}, "1br": {...}, "2br": {...} },
"annual_psf": [ { "year": 2020, "median_psf": 1100 }, ... ]
}Fields are stable between minor versions. Breaking changes will bump the URL to /api/v2/.
Where the data comes from
- Transactions & PSF — Dubai Land Department open-data portal, 1.64M rows 2020–2026, refreshed weekly.
- Rentals — 296K Ejari registered contracts via DLD.
- Off-plan pipeline — 197 RERA Oqood-registered projects with escrow compliance.
- Community Pulse — 4,051 Reddit posts & comments across 87 communities, scored by Claude Haiku 4.5 with a confidence ≥ 0.5 filter. Read the methodology →
Ship Dubai property features in an afternoon.
Start the 7-day free trial, generate a key, and plug it into Claude Desktop or your own app.
Looking for developer rankings instead? See our RERA-registered developer ratings →