GET
/get-transactions-v2 Get property transactions with insights (v2)
Description
Get Dubai sale and rental transactions with richer filters than `/get-transactions`: price and area ranges, multiple bedroom counts, new vs renewed rental contracts (`contract_status`), developer vs individual sellers (`sold_by`) and commercial usage. Each response also includes `insights` (average new and renewed rents, sale price per sq ft, ROI and volume change for the period) and `pagination`. Each page holds up to 10 transactions and a query exposes at most 500 matches; check `pagination.is_truncated` and narrow the filters if it is `true`. Dubai locations only.
Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
transaction_type | string | Required | - Transaction history to retrieve. Required; there is no default. - `sold`: completed property sales - `rented`: registered rental transactions, including new and renewed contracts - Use `contract_status` with `rented`, or `sold_by` with `sold`. | rented |
usage | string | Optional | - How the property is used. Omit it for `residential`. - `residential`: homes, such as apartments, villas, and townhouses (default) - `commercial`: commercial properties, such as offices, shops, and warehouses - The available `property_type` values depend on this choice. Price-per-square-foot and plot-size sorting require `commercial` and `transaction_type=sold`. | residential |
location_id | string | Optional | - Dubai location to search. Omit it or use `1` to search all Dubai. - Use `/autocomplete-location` to find a location ID for a community or building. - `1`: all Dubai (default) - `50`: Dubai Marina - Send a numeric ID, not a location name. Only supported Dubai locations are accepted; unknown IDs or locations in other emirates return 400. | 50 |
period | string | Optional | - Time range for the transaction history. Omit it for `ytd`. - `ytd`: from January 1 of the current year to today (default) - `1w`: the most recent week - `1m`: the most recent month - `3m`: the most recent three months - `6m`: the most recent six months - `1y`: the most recent year - `3y`: the most recent three years - This filters transaction dates. A narrower period can reduce the number of matches. | 1m |
property_type | string | Optional | - Property type to include. Omit it to include all types available for the selected transaction and usage. - Residential sales and rentals: `apartment`, `villa`, `townhouse`, `penthouse`, `whole-building`, `hotel-apartment` - Residential sales also allow `land` - Commercial sales and rentals: `office-space`, `warehouse`, `shop`, `villa`, `show-room`, `whole-building`, `land`, `factory`, `labor-camp` - Send one value. A type unavailable for your `transaction_type` and `usage` returns 400. | apartment |
bedrooms | string | Optional | - Bedroom counts to include. Omit it to apply no bedroom filter. - `0`: studio - `1` through `7`: the corresponding bedroom count - `8`: the 7+ bedroom group - Send one value or a comma-separated list without spaces, such as `0,1,2` to include studios, one-bedroom, and two-bedroom properties. | 1 |
price_min | string | Optional | - Minimum transaction price to include, in AED. Omit it for no lower price limit. - Use a nonnegative amount without currency symbols or thousands separators, such as `50000` or `50000.50`. Zero is accepted. - When `price_max` is also supplied, this value must be less than or equal to it; a reversed range returns 400. | 50000 |
price_max | string | Optional | - Maximum transaction price to include, in AED. Omit it for no upper price limit. - Use a nonnegative amount without currency symbols or thousands separators, such as `100000` or `100000.50`. Zero is accepted. - When `price_min` is also supplied, this value must be greater than or equal to it; a reversed range returns 400. | 150000 |
area_min | string | Optional | - Minimum property area to include, in square feet (ft²). Omit it for no lower area limit. - Use a nonnegative number without unit labels or thousands separators, such as `500` or `500.5`. Zero is accepted. - When `area_max` is also supplied, this value must be less than or equal to it; a reversed range returns 400. | 500 |
area_max | string | Optional | - Maximum property area to include, in square feet (ft²). Omit it for no upper area limit. - Use a nonnegative number without unit labels or thousands separators, such as `2000` or `2000.5`. Zero is accepted. - When `area_min` is also supplied, this value must be greater than or equal to it; a reversed range returns 400. | 1500 |
contract_status | string | Optional | - Rental contract status to include. Omit it to include both statuses. - `new`: new rental contracts - `renewed`: renewals of existing rental contracts - Available only with `transaction_type=rented`. Sending it for `sold` returns 400. | new |
sold_by | string | Optional | - Seller type to include in sale transactions. Omit it to include both seller types. - `individual`: individual sellers - `developer`: property developers - Available only with `transaction_type=sold`. Sending it for `rented` returns 400. | individual |
sort | string | Optional | - Order of the returned transactions. Omit it for `newest`. - `newest`: latest transaction date first (default) - `oldest`: earliest transaction date first - `high_price`: highest transaction price first - `low_price`: lowest transaction price first - With `transaction_type=sold` and `usage=commercial`, these additional values are available: - `high_price_per_sqft`: highest price per square foot first - `low_price_per_sqft`: lowest price per square foot first - `high_plot_size`: largest plot first - `low_plot_size`: smallest plot first - Sending an additional sort for any other transaction/usage combination returns 400. | newest |
page | string | Optional | - Results page to return. Omit it for page `1`. - Send a whole number from `1` to `50`. Each page contains up to 10 transactions; fewer pages may be available for your filters. - Use `data.pagination.total_pages` and `has_next_page` to decide whether to request another page. A page beyond the available results returns 404. - A query exposes at most 500 matching transactions. `total_matching` can be larger; `accessible_count` shows the accessible matches and `is_truncated` indicates the limit was reached. Narrow your location, period, or other filters for a more specific result set. | 1 |
Code Examples
curl --request GET \
--url 'https://uae-real-estate-property.p.rapidapi.com/get-transactions-v2?transaction_type=rented&location_id=50&period=1m&bedrooms=1' \
--header 'x-rapidapi-host: uae-real-estate-property.p.rapidapi.com' \
--header 'x-rapidapi-key: YOUR_API_KEY' Example Response
Response
{
"success": true,
"data": {
"transaction_type": "rented",
"usage": "residential",
"location": {
"id": "50",
"name": "Dubai Marina"
},
"period": "1m",
"sort": "newest",
"transactions": [
{
"id": "13069747a6bab9d88ffd3afd6dd4f8a8",
"transactionDate": "2026-10-29",
"bedrooms": 1,
"builtupArea": null,
"plotArea": 862.3,
"price": 62000,
"pricePerSqft": 5.99,
"propertyType": "Apartment",
"propertyNumber": "3309",
"locationId": "3092",
"locationName": "Princess Tower",
"highLevelLocationName": "Dubai Marina",
"locationPath": "Dubai, Dubai Marina",
"locationSlug": "dubai-marina-princess-tower",
"locationUrl": "/en/transactions/buy/dubai/dubai-marina-princess-tower",
"status": "New",
"contractStartDate": "2026-10-29",
"contractEndDate": "2027-10-28",
"isBulkTransaction": false,
"showLink": true
},
{
"id": "148cfe4c92df0df76e0abc916b07461c",
"transactionDate": "2026-10-28",
"bedrooms": 1,
"builtupArea": null,
"plotArea": 811.49,
"price": 90000,
"pricePerSqft": 9.24,
"propertyType": "Apartment",
"propertyNumber": "313",
"locationId": "3172",
"locationName": "Silverene Tower B",
"highLevelLocationName": "Dubai Marina",
"locationPath": "Dubai, Dubai Marina, Silverene",
"locationSlug": "dubai-marina-silverene-silverene-tower-b",
"locationUrl": "/en/transactions/buy/dubai/dubai-marina-silverene-silverene-tower-b",
"status": "New",
"contractStartDate": "2026-10-26",
"contractEndDate": "2027-10-25",
"isBulkTransaction": false,
"showLink": true
}
],
"insights": {
"newRentalsAveragePrice": 90598.56,
"newRentalsAveragePriceChange": 1.39,
"renewedRentalsAveragePrice": 95197.95,
"renewedRentalsAveragePriceChange": 0.15,
"roi": 6.1,
"roiChange": null,
"saleAveragePrice": null,
"saleAveragePriceChange": null,
"saleAveragePricePerSqft": null,
"saleAveragePricePerSqftChange": null,
"totalTransactionCount": 887,
"volumeChange": -5.4
},
"pagination": {
"page": 1,
"page_size": 10,
"total_pages": 50,
"total_matching": 887,
"accessible_count": 500,
"is_truncated": true,
"has_next_page": true
}
}
} Use Cases
- Compare new-lease and renewal rents for a Dubai community from the insights block
- Track off-plan sales by developers with sold_by=developer
- Build a rent comparables tool filtered by bedroom count, size and price range
Related Endpoints
Try this endpoint now
Subscribe to UAEPropertyAPI on RapidAPI and start making requests in minutes.