{"openapi":"3.1.0","info":{"title":"PropData AE (Dubai) Market API","version":"1.1.0","summary":"Dubai registered-sale statistics, community indices, rents, yields, bedroom segments, developers and the project register.","description":"Separate products, each labelled by contract. `propdata-ae-market/1`: medians and nearest-rank quartiles of registered sale prices (AED) and AED per square metre by DLD registration area, project name or building name, computed by PropData from an independent publisher's CC BY 4.0 release derived from Dubai Land Department open data (the upstream DLD licence is publisher-stated and not independently verified by PropData); the full verified history is retrievable page by page (`sort=period`). `propdata-ae-community/1`: community and Dubai-wide monthly and yearly medians in AED per square foot, republished unchanged from an independent CC BY 4.0 publisher (ready and off-plan pooled). `propdata-ae-rentals/1`, `propdata-ae-yields/1` and `propdata-ae-bedrooms/1`: that publisher's Ejari rent-contract aggregates, segment-method gross yields and bedroom-count segments. `propdata-ae-projects/1`: the Dubai Land Department project register (Mashrooi) as snapshotted daily by Continental Club Property under CC BY 4.0, with PropData's capture history. `propdata-ae-developers/1`: developer records keyed on the published DLD developer number. These are statistics and register records, not valuations. Unit histories, ownership or registry records, individual transactions, individual rental contracts and any sale-to-unit or sale-to-project link are not provided. Every response states its completeness basis, data version, licence, attribution and limitations. Not affiliated with or endorsed by the Government of Dubai or the Dubai Land Department.","license":{"name":"Data: CC BY 4.0 (attribution required)","url":"https://creativecommons.org/licenses/by/4.0/"}},"servers":[{"url":"https://api.dubai.proptechusa.ai","description":"Production"}],"security":[{"ApiKey":[]},{"Bearer":[]}],"tags":[{"name":"market","description":"Transaction-level statistics (propdata-ae-market/1)"},{"name":"community","description":"Publisher community statistics (propdata-ae-community/1)"},{"name":"rentals","description":"Rent-contract aggregates, gross yields and bedroom segments (propdata-ae-rentals/1, -yields/1, -bedrooms/1)"},{"name":"projects","description":"DLD project register snapshots and developers (propdata-ae-projects/1, propdata-ae-developers/1)"},{"name":"catalog","description":"Areas and sources"}],"paths":{"/v1/ae/dubai/market":{"get":{"tags":["market"],"operationId":"getMarketStatistics","summary":"Sale-price statistics for one DLD area, grouped by area, project name or building name.","description":"Standard requests (no date window, Unit/Residential) are served from the precomputed release, which holds every eligible group (period x name with at least 30 sales). The default response is the first `top` groups by sample count (unchanged behaviour). To read a full history chronologically use `sort=period` with `offset` and `top`, or bound the window with `period_from`/`period_to`; `pagination` reports `matched_groups`, `total_groups_in_document` and `next_offset` so nothing is omitted silently. `date_from`/`date_to` or another segment is a custom window and requires a plan with `custom_windows`. Months after the area's `verified_complete_through` are withheld; check `freshness.verified_complete_through_basis` — `dubai_wide` means the area itself was not independently verified.","parameters":[{"name":"area_id","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{1,6}$"},"description":"DLD area ID from /v1/ae/dubai/areas."},{"name":"group","in":"query","schema":{"type":"string","enum":["area","project","building"],"default":"area"}},{"name":"period","in":"query","schema":{"type":"string","enum":["year","quarter","month"],"default":"month"}},{"name":"registration","in":"query","schema":{"type":"string","enum":["Ready","Off-Plan"]},"description":"Omit to pool both (a warning is returned); Ready and Off-Plan prices are not comparable."},{"name":"top","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"date_from","in":"query","schema":{"type":"string","format":"date"},"description":"Custom window (plan entitlement custom_windows)."},{"name":"date_to","in":"query","schema":{"type":"string","format":"date"},"description":"Custom window; clamped to verified coverage."},{"name":"property_type","in":"query","schema":{"type":"string","default":"Unit"},"description":"Non-default values are a custom window."},{"name":"usage","in":"query","schema":{"type":"string","default":"Residential"},"description":"Non-default values are a custom window."},{"name":"sort","in":"query","schema":{"type":"string","enum":["sample_count","period"],"default":"sample_count"},"description":"`period` returns groups in chronological order (then by name); page with `offset`."},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0},"description":"Number of groups to skip in the chosen order; `pagination.next_offset` gives the next page."},{"name":"period_from","in":"query","schema":{"type":"string","pattern":"^\\d{4}(-(0[1-9]|1[0-2]|Q[1-4]))?$"},"description":"Inclusive lower bound on the period key (YYYY, YYYY-Qn or YYYY-MM to match `period`). Not a custom window: no recomputation, no extra entitlement."},{"name":"period_to","in":"query","schema":{"type":"string","pattern":"^\\d{4}(-(0[1-9]|1[0-2]|Q[1-4]))?$"},"description":"Inclusive upper bound on the period key."}],"responses":{"200":{"description":"Statistics","headers":{"X-AE-Quota-Remaining":{"schema":{"type":"integer"}},"Server-Timing":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Unknown area_id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Custom window not available on this deployment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/TooMany"},"503":{"$ref":"#/components/responses/Unavailable"}}}},"/v1/ae/dubai/areas":{"get":{"tags":["catalog"],"operationId":"listAreas","summary":"DLD areas with current-sale counts, date bounds, boundary notes and per-area completeness.","responses":{"200":{"description":"Area catalog (propdata-ae-areas/1)","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/ae/dubai/sources":{"get":{"tags":["catalog"],"operationId":"listSources","summary":"Per-source licence, attribution, upstream chain and coverage (propdata-ae-sources/1).","responses":{"200":{"description":"Sources","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"}}}},"/v1/ae/dubai/communities":{"get":{"tags":["community"],"operationId":"listCommunities","summary":"Communities with trailing-12-month sales, medians (AED/sqft), YoY, off-plan share and yield.","responses":{"200":{"description":"Communities (propdata-ae-community/1)","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"}}}},"/v1/ae/dubai/communities/{slug}/monthly":{"get":{"tags":["community"],"operationId":"getCommunityMonthly","summary":"Monthly AED/sqft median, IQR, median price and registered sales for a community (`dubai` = emirate-wide).","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,80}$"}},{"name":"date_from","in":"query","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"}},{"name":"date_to","in":"query","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"}}],"responses":{"200":{"description":"Monthly series","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"description":"Unknown community"}}}},"/v1/ae/dubai/communities/{slug}/yearly":{"get":{"tags":["community"],"operationId":"getCommunityYearly","summary":"Yearly registered sales, median price, median AED/sqft and registered value for a community since 2010 (`dubai` = emirate-wide).","responses":{"200":{"description":"Yearly registered sales, median price, median AED/sqft and registered value for a community since 2010 (`dubai` = emirate-wide).","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Unknown community"},"429":{"$ref":"#/components/responses/TooMany"}},"description":"propdata-ae-community/1; publisher figures republished unchanged; the latest year is partial.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,80}$"}}]}},"/v1/ae/dubai/communities/{slug}/bedrooms":{"get":{"tags":["rentals"],"operationId":"getCommunityBedrooms","summary":"Community x bedroom-count segments, last 12 complete months: price sample, median price, AED/sqft, size, median annual rent, rent contracts and gross yield.","responses":{"200":{"description":"Community x bedroom-count segments, last 12 complete months: price sample, median price, AED/sqft, size, median annual rent, rent contracts and gross yield.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Community has no published bedroom segments"},"429":{"$ref":"#/components/responses/TooMany"}},"description":"propdata-ae-bedrooms/1 (publisher segments, ready and off-plan pooled).","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{0,80}$"}}]}},"/v1/ae/dubai/bedrooms":{"get":{"tags":["rentals"],"operationId":"getDubaiBedrooms","summary":"Dubai-wide bedroom-count segments, last 12 complete months (propdata-ae-bedrooms/1).","responses":{"200":{"description":"Dubai-wide bedroom-count segments, last 12 complete months (propdata-ae-bedrooms/1).","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/ae/dubai/rentals/communities":{"get":{"tags":["rentals"],"operationId":"listCommunityRents","summary":"Ejari rent-contract counts and median annual rent (AED) per community, last 12 months (propdata-ae-rentals/1).","responses":{"200":{"description":"Ejari rent-contract counts and median annual rent (AED) per community, last 12 months (propdata-ae-rentals/1).","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooMany"}},"description":"Community aggregates only; no individual tenancy contracts. Communities are the publisher's master-project communities."}},"/v1/ae/dubai/yields/communities":{"get":{"tags":["rentals"],"operationId":"listCommunityYields","summary":"Gross rental yield per community computed inside property-class x bedroom segments (propdata-ae-yields/1).","responses":{"200":{"description":"Gross rental yield per community computed inside property-class x bedroom segments (propdata-ae-yields/1).","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooMany"}},"description":"Publisher segment method: median rent / median ready-sale price within each segment, then the median across segments. Gross, before costs."}},"/v1/ae/dubai/developers":{"get":{"tags":["projects"],"operationId":"listDevelopers","summary":"Developers by DLD developer number: publisher sales summary (where published) and PropData register counts from the project-register snapshot (propdata-ae-developers/1).","responses":{"200":{"description":"Developers by DLD developer number: publisher sales summary (where published) and PropData register counts from the project-register snapshot (propdata-ae-developers/1).","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooMany"}}}},"/v1/ae/dubai/developers/{developer_number}":{"get":{"tags":["projects"],"operationId":"getDeveloper","summary":"One developer: publisher summary, register summary and its register projects.","responses":{"200":{"description":"One developer: publisher summary, register summary and its register projects.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Unknown developer number"},"429":{"$ref":"#/components/responses/TooMany"}},"parameters":[{"name":"developer_number","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{1,8}$"}}]}},"/v1/ae/dubai/projects":{"get":{"tags":["projects"],"operationId":"listProjects","summary":"DLD project register snapshot (Mashrooi via Continental Club Property): project number, developer, community, registered units, completion % and inspection date, previous reading, start and declared handover dates.","responses":{"200":{"description":"DLD project register snapshot (Mashrooi via Continental Club Property): project number, developer, community, registered units, completion % and inspection date, previous reading, start and declared handover dates.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooMany"}},"description":"propdata-ae-projects/1. Daily publisher snapshot; filters are exact matches on register fields. Paged with `offset`/`limit`; `pagination.matched` is the filtered total.","parameters":[{"name":"developer_number","in":"query","schema":{"type":"string","pattern":"^\\d{1,8}$"}},{"name":"community","in":"query","schema":{"type":"string"},"description":"Exact register community name, case-insensitive."},{"name":"handover_year","in":"query","schema":{"type":"string","pattern":"^\\d{4}$"},"description":"Declared handover year."},{"name":"completion_min","in":"query","schema":{"type":"number","minimum":0,"maximum":100}},{"name":"completion_max","in":"query","schema":{"type":"number","minimum":0,"maximum":100}},{"name":"inspected_since","in":"query","schema":{"type":"string","format":"date"},"description":"Latest inspection date on or after this day."},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":100}}]}},"/v1/ae/dubai/projects/{project_number}":{"get":{"tags":["projects"],"operationId":"getProject","summary":"One register project with the second publisher's project record (same DLD project number) and PropData's capture history of changes.","responses":{"200":{"description":"One register project with the second publisher's project record (same DLD project number) and PropData's capture history of changes.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"Project number not in the register snapshot"},"429":{"$ref":"#/components/responses/TooMany"}},"parameters":[{"name":"project_number","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{1,8}$"}}]}}},"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"A key issued for product propdata-ae. PropData US keys are not accepted."},"Bearer":{"type":"http","scheme":"bearer"}},"responses":{"BadRequest":{"description":"Invalid parameters (never consumes quota)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"Missing, unknown or revoked key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Plan not entitled to this route, or product not yet released for this plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooMany":{"description":"Per-minute limit or monthly quota exhausted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unavailable":{"description":"Authentication or data temporarily unavailable (fails closed)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string"},"reason":{"type":"string"},"detail":{"type":"string"}}},"MarketGroup":{"type":"object","properties":{"area_id":{"type":"string"},"source_name":{"type":"string"},"name_variants":{"type":"array","items":{"type":"string"},"description":"Observed spellings pooled into this group"},"period":{"type":"string"},"sample_count":{"type":"integer","minimum":30},"median_sale_price_aed":{"type":"string","description":"Exact decimal AED"},"median_sale_price_per_sqm_aed":{"type":"string"},"p25_sale_price_per_sqm_aed":{"type":"string"},"p75_sale_price_per_sqm_aed":{"type":"string"},"oldest_sale_date":{"type":"string"},"latest_sale_date":{"type":"string"},"identity_basis":{"type":"string","enum":["area_id","project_name","building_name"]},"source_sha256s":{"type":"array","items":{"type":"string"}},"coverage_limit":{"type":"string"}}},"MarketResponse":{"type":"object","properties":{"contract":{"const":"propdata-ae-market/1"},"publication":{"type":"object"},"currency":{"const":"AED"},"scope":{"type":"object"},"sample_rule":{"type":"object"},"freshness":{"type":"object","properties":{"verified_complete_through":{"type":["string","null"]},"verified_complete_through_basis":{"type":["string","null"],"enum":["area_publisher_one_to_one","area_community_union","dubai_wide","source_declared",null]}}},"coverage":{"type":"object"},"limitations":{"type":"array","items":{"type":"string"}},"sources":{"type":"object","properties":{"attribution":{"type":"string"},"endorsement_notice":{"type":"string"},"licence_basis":{"type":"string"}}},"bundle":{"type":"object","properties":{"version":{"type":"string"},"manifest_sha256":{"type":"string"}}},"data":{"type":"array","items":{"$ref":"#/components/schemas/MarketGroup"}},"pagination":{"type":"object","properties":{"sort":{"type":"string"},"offset":{"type":"integer"},"top":{"type":"integer"},"returned":{"type":"integer"},"matched_groups":{"type":"integer","description":"Groups matching period_from/period_to (all groups when unbounded)"},"total_groups_in_document":{"type":"integer"},"eligible_groups":{"type":"integer","description":"Groups meeting the sample rule in the verified history"},"document_complete":{"type":["boolean","null"],"description":"true when the document holds every eligible group"},"next_offset":{"type":["integer","null"]}}},"retrieval":{"type":"object"}}}}}}