---
title: "Daily Full-Universe Foreign Flow"
method: GET
path: "/v2/foreign-flow/"
tags: ["Brokers"]
---

# Daily Full-Universe Foreign Flow

`GET /v2/foreign-flow/`

## Request

- Base URL: `https://api.sectors.app`
- URL: `https://api.sectors.app/v2/foreign-flow/`
- Auth: API key in header `Authorization`

Returns the net foreign-investor flow (IDR) of **every** IDX ticker on a single trading day, in one paginated feed — instead of calling the per-symbol [Daily Net Foreign Inflow](https://docs.sectors.app/api-references/v2/indonesia/brokers/foreign-flow-by-symbol) endpoint once per ticker. Sorted by `net_foreign_inflow` descending by default, so the first page is the day's top foreign buys; `order_by=net_foreign_inflow` puts the top foreign sells first.

<Note>Defaults to the most recent trading day. Pass `date` (`YYYY-MM-DD`) to pull a specific day. Future dates return 400.</Note>

<Note>Flow is attributed by the investor's origin, not the broker's. Tickers with no foreign-investor participation on the day are omitted.</Note>

<Info>Costs 1 API credit per page. The full universe (typically 550-700 tickers with foreign activity on the day) is about 20-25 pages at the maximum `limit` of 30.</Info>

## Query parameters

- `order_by` '-foreign_buy_idr' | '-foreign_sell_idr' | '-net_foreign_inflow' | '-symbol' | 'foreign_buy_idr' | 'foreign_sell_idr' | 'net_foreign_inflow' | 'symbol'
- `limit` integer
- `offset` integer
- `date` string

## Response `200`

Paginated per-ticker foreign flow for the requested day.

- ForeignFlowUniverse
  - `results` ForeignFlowUniverseItem[], required
    - `symbol` string, required: IDX ticker symbol (with `.JK` suffix).
    - `date` string, date, required: Trading date.
    - `net_foreign_inflow` integer, required: IDR. Positive = foreign investors were net buyers that day.
    - `foreign_buy_idr` integer, required: Buy value from foreign investors (IDR).
    - `foreign_sell_idr` integer, required: Sell value from foreign investors (IDR).
  - `pagination` ForeignFlowUniversePagination, 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, future date, or unknown `order_by` field.
- `429`: Rate limit exceeded.

## Changes

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

[Operation history](https://skmtc.dev/sectors/apis/sectors-api/changes/v2/foreign-flow/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)
