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

# Company Filings

`GET /v2/filings/`

Returns IDX insider trading filings — buy/sell transactions by company insiders and major shareholders. Supports filtering by sector, subsector, tags, symbol, transaction type, holder_type, and date range.

<Note>IDX symbol: 4 letters, optionally followed by `.jk` (case-insensitive). E.g. `BBCA`, `BMRI`, `TLKM`.</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
- `sector` string
- `sub_sector` string
- `start` string
- `end` string
- `limit` integer
- `offset` integer
- `transaction_type` 'buy' | 'others' | 'sell'
- `tags` string
- `holder_type` 'corporate-investor' | 'insider' | 'institution'

## Response `200`

Paginated list of insider trading filings.

- IdxFilings
  - `results` IdxFilingsItem[], required
    - `title` string, nullable, required — Filing title.
    - `body` string, nullable, required — Filing body text.
    - `source` string, nullable, required — URL to the original IDX filing.
    - `timestamp` string, date-time, nullable, required — Timestamp of the transaction.
    - `sector` string, required — Sector slug.
    - `sub_sector` string, required — Sub-sector slug.
    - `tags` string[], nullable, required — Tag slugs.
    - `symbol` string, nullable, required — IDX symbol symbol. E.g. `BBCA`.
    - `transaction_type` string, nullable, required — `buy`, `sell`, or `others`.
    - `holder_type` string, nullable, required — Type of holder, `insider`, `institution`, or `corporate-investor`
    - `holder_name` string, nullable, required — Name of the transacting party.
    - `holding_before` integer, nullable, required — Shares held before the transaction.
    - `holding_after` integer, nullable, required — Shares held after the transaction.
    - `amount_transaction` integer, nullable, required — Number of shares transacted.
    - `price` number, double, required — Weighted average price per share (IDR).
    - `transaction_value` number, double, nullable, required — Total transaction value (IDR).
    - `price_transaction` unknown, required
    - `share_percentage_before` number, double, nullable, required — Ownership percentage before the transaction.
    - `share_percentage_after` number, double, nullable, required — Ownership percentage after the transaction.
    - `share_percentage_transaction` number, double, nullable, required — Percentage of shares transacted.
    - `idx_investor_slug` string, nullable, required — Slug for the investor profile.
    - `idx_conglomerates_group_slug` string[], nullable, required — Conglomerate group slugs associated with this filing.
  - `pagination` IdxFilingsPagination, 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 filter parameters.
- `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)
