Developers

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_..."
Manage keys

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_..." }
    }
  }
}
npm: @dubuy/mcp-server

Endpoints

All endpoints live under /api/v1. Each MCP tool maps 1:1 to an endpoint.

EndpointReturns
GET /communitiesAll 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}/pulseReddit sentiment: pros, cons, aspect scores, paraphrased pull quotes with source URLs.
GET /communities/{slug}/trendsAnnual median PSF (2020–2026), total growth %, CAGR.
GET /compare?slugs=a,b,cSide-by-side full profiles for 2–5 communities.
GET /search?min_psf_aed=...Filter by price, property type, YoY growth, or sentiment percentile.
GET /projectsTop 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 →