Portfolio Investments (FIPI/LIPI)
Retrieve portfolio investment data for foreign and local investors including buy/sell volumes and values across sectors.
GET/3.0/portfolio-investments
Description
This endpoint returns portfolio investment data for Foreign Institutional Portfolio Investors (FIPI) and Local Institutional Portfolio Investors (LIPI). The data includes buy and sell volumes, values, and net positions aggregated by investor type, sector, and date. Data can be filtered by period (daily, monthly, year-to-date) and investor type.
Request
Authentication
- Type: Bearer Token
- Required: Yes
Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
period | string | Yes | Time period filter | mtd |
type | string | Yes | Investor type filter. Use local for LIPI, foreign for FIPI | local |
date | string | No | Specific date filter (format: YYYY-MM-DD). If provided, returns data for that specific date. | 2025-05-08 |
from | string | No | Start date for date range (format: YYYY-MM-DD). Use with to parameter. | 2025-05-01 |
to | string | No | End date for date range (format: YYYY-MM-DD). Use with from parameter. | 2025-05-31 |
Response
Success Response (200)
{
"status": "ok",
"message": "",
"data": [
{
"date": "2025-12-11",
"details": [
{
"client": "OTHER ORGANIZATION",
"sector": "Debt Market",
"vol": 17200,
"val": 87714846,
"usd": 312152
},
{
"client": "OTHER ORGANIZATION",
"sector": "Fertilizer",
"vol": 5000,
"val": 2885590,
"usd": 10269
},
{
"client": "BANKS / DFI",
"sector": "Cement",
"vol": 2107180,
"val": 238111163,
"usd": 847370
},
{
"client": "NBFC",
"sector": "Technology and Communication",
"vol": 93000,
"val": 2636109,
"usd": 9381
},
{
"client": "INDIVIDUALS",
"sector": "All other Sectors",
"vol": 40709215,
"val": 476507277,
"usd": 1695754
}
],
"vol": 68212517,
"val": 3911204733,
"usd": 13918880
}
]
}
Individual Portfolio Investment Record (when provided date parameter)
{
"status": "ok",
"message": "",
"data": [
{
"date": "2025-05-08",
"market": "KSE",
"client": "LIPI",
"sector": "COMMERCIAL_BANKS",
"sector_code": "COMMERCIAL_BANKS",
"buy_vol": 750000,
"buy_val": 206250000.00,
"sell_vol": 250000,
"sell_val": 68750000.00,
"net_vol": 500000,
"net_val": 137500000.00,
"usd": 471232.88,
"is_foreign": false
},
{
"date": "2025-05-08",
"market": "KSE",
"client": "FIPI",
"sector": "COMMERCIAL_BANKS",
"sector_code": "COMMERCIAL_BANKS",
"buy_vol": 350000,
"buy_val": 96250000.00,
"sell_vol": 100000,
"sell_val": 27500000.00,
"net_vol": 250000,
"net_val": 68750000.00,
"usd": 235616.44,
"is_foreign": true
}
]
}
Response Fields (Top-level)
| Field | Type | Description |
|---|---|---|
date | string | Date of the portfolio investment record (YYYY-MM-DD) |
details | array | Array of portfolio investment details - View |
vol | number | Total volume for the period |
val | number | Total value in PKR for the period |
usd | number | Total value in USD for the period |
Details Fields (in details array)
| Field | Type | Description |
|---|---|---|
client | string | Client/investor type (e.g., OTHER ORGANIZATION, BANKS / DFI, NBFC, INDIVIDUALS) |
sector | string | Sector name |
vol | number | Volume traded |
val | number | Value in PKR |
usd | number | Value in USD |
Response Fields (Detail Record - When date parameter is provided)
| Field | Type | Description |
|---|---|---|
date | string | Date of the record (YYYY-MM-DD) |
market | string | Market code (e.g., KSE) |
client | string | Investor type: LIPI (Local) or FIPI (Foreign) |
sector | string | Sector name |
sector_code | string | Sector classification code |
buy_vol | number | Total buy volume for the period |
buy_val | number | Total buy value in PKR |
sell_vol | number | Total sell volume for the period |
sell_val | number | Total sell value in PKR |
net_vol | number | Net volume (buy - sell) |
net_val | number | Net value in PKR (buy - sell) |
usd | number | Net value in USD |
is_foreign | boolean | True for FIPI, False for LIPI |
Error Responses
For detailed Common Error responses, see the Error Handling.
Invalid Type (200)
{
"status": "error",
"message": "invalid_type"
}
Invalid Date Range (200)
{
"status": "error",
"message": "invalid_date_range"
}
Invalid Date Format (200)
{
"status": "error",
"message": "invalid_date"
}
Examples
Get Month-to-Date Portfolio Investments
curl -X GET "https://csapis.com/3.0/portfolio-investments?period=mtd&type=local" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Use Cases
- Investor Tracking: Monitor foreign and local investor portfolio activities
- Sector Analysis: Analyze portfolio investments by sector
- Fund Flow Analysis: Track net buy/sell flows by investor type
- Market Sentiment: Gauge investor sentiment through portfolio investments
- Investment Research: Analyze institutional investor trends and patterns