---
title: "SGX Insider Filings"
method: GET
path: "/v2/sgx/filings/"
tags: ["SGX - News & Filings"]
---

# SGX Insider Filings

`GET /v2/sgx/filings/`

Returns SGX insider trading filings — buy/sell transactions by company insiders and major shareholders. Supports filtering by symbol, transaction type, holder type, and date range.

<Note>SGX symbol: 3 characters (letters or digits). E.g. `D05`, `U11`, `Z74`.</Note>

<Note>Date filters: both `start` and `end` are independent and optional — omit either side to leave that bound unconstrained. Future `end` dates return 400.</Note>

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

## Query parameters

- `symbol` string
- `start` string
- `end` string
- `limit` integer
- `offset` integer
- `transaction_type` 'award' | 'buy' | 'others' | 'sell' | 'transfer'
- `holder_type` 'insider' | 'institution'

## Response `200`

Paginated SGX filings.

- SgxFilings
  - `results` SgxFilingsItem[], required
    - `symbol` string, nullable, required — SGX 3-character symbol.
    - `timestamp` string, date, nullable, required — Filing date.
    - `transaction_type` string, nullable, required — One of: award, buy, others, sell, transfer.
    - `holder_name` string, nullable, required — Name of the insider or institution.
    - `holder_type` string, nullable, required — One of: insider, institution.
    - `holding_before` integer, nullable, required — Share count held before the transaction.
    - `holding_after` integer, nullable, required — Share count held after the transaction.
    - `amount_transaction` integer, nullable, required — Number of shares in this transaction.
    - `transaction_value` number, double, nullable, required — Total transaction value (SGD).
    - `price_per_share` number, double, nullable, required — Price per share (SGD).
    - `share_percentage_before` number, double, nullable, required — Holder's ownership percentage before the transaction.
    - `share_percentage_after` number, double, nullable, required — Holder's ownership percentage after the transaction.
    - `share_percentage_transaction` number, double, nullable, required — Percentage change in ownership from this transaction.
  - `pagination` SgxFilingsPagination, 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

- `429` — Rate limit exceeded.

---

[API](https://skmtc.dev/sectors/apis/sectors-api.md) · [All operations](https://skmtc.dev/sectors/apis/sectors-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sectors/sectors-api/revisions/49e492f19d77/schema)
