---
title: "SGX REIT Property Transactions"
method: GET
path: "/v2/sgx/reits/transactions/"
tags: ["SGX - REITs"]
---

# SGX REIT Property Transactions

`GET /v2/sgx/reits/transactions/`

## Request

- Base URL: `https://api.sectors.app`
- URL: `https://api.sectors.app/v2/sgx/reits/transactions/`
- Auth: API key in header `Authorization`

Completed property purchases and sales by SGX REITs, newest first. Filter by REIT, deal type, financial year or completion date.

<Note>`transaction_price` is the price for the part of the property that changed hands, `interest_pct` (0.5 means half). `basis_value` is a reference price for that same part, so the two line up: a sale at 120m against a `basis_value` of 100m went for 20% above it. `basis` says what the reference is: the latest `valuation`, the `book_value` or the original `purchase_price`. It varies from deal to deal, so compare each price with its own `basis_value`, not with other deals.</Note>

<Note>Amounts are in SGD. A few deals have no `completed_date`; they come last and drop out when you filter by `start` or `end`.</Note>

<Info>Costs 1 API credit per page.</Info>

## Query parameters

- `symbol` string
- `start` string
- `end` string
- `order_by` '-completed_date' | '-symbol' | '-transaction_price' | 'completed_date' | 'symbol' | 'transaction_price'
- `limit` integer
- `offset` integer
- `financial_year` string
- `transaction_type` 'acquisition' | 'divestment'

## Response `200`

Paginated REIT property transactions.

- SgxReitTransaction
  - `results` SgxReitTransactionItem[], required
    - `symbol` string, required
    - `financial_year` integer, required
    - `transaction_type` string, required
    - `property_name` string, required
    - `counterparty` string, nullable, required
    - `interest_pct` number, double, nullable, required: Share of the property that changed hands, from 0 to 1.
    - `completed_date` string, date, nullable, required
    - `deal_id` string, nullable, required: Shared by properties bought or sold together in one deal.
    - `transaction_price` integer, nullable, required: Price paid for that share, in SGD.
    - `basis` string, nullable, required: What basis_value is: valuation, book_value or purchase_price.
    - `basis_value` integer, nullable, required: Reference price for the same share, in SGD.
  - `pagination` SgxReitTransactionPagination, required
    - `total_count` integer, required: Total number of matching results.
    - `showing` integer, required: Number of results in this page.
    - `limit` integer, required: Maximum results per page.
    - `offset` integer, required: Number of results skipped.
    - `has_next` boolean, required: Whether a next page exists.
    - `has_previous` boolean, required: Whether a previous page exists.
    - `next_offset` integer, nullable, required: Offset for the next page, or null.
    - `previous_offset` integer, nullable, required: Offset for the previous page, or null.

## Other responses

- `400`: Invalid date, transaction_type, order_by or query parameter.
- `429`: Rate limit exceeded.

## Changes

- **2026-11-03** `88c3e55f60fc`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sectors/apis/sectors-api/changes/v2/sgx/reits/transactions/get.md)

---

[API](https://skmtc.dev/sectors/apis/sectors-api.md) - [All operations](https://skmtc.dev/sectors/apis/sectors-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sectors/apis/sectors-api/revisions/88c3e55f60fc?raw)
