Skip to content
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.