API Endpoints
Referensi lengkap endpoint Index Alpha API.
Cakupan Data & Jadwal: Data tersedia sejak 2025-01-01 untuk Pasar Reguler (RG) dan
Pasar Negosiasi (NG). Permintaan dengan tanggal from sebelum 2025-01-01 akan ditolak. Data yang lebih lama
mungkin tersedia pada paket Enterprise; hubungi dukungan di @neon_scale untuk akses. Catatan
diperbarui setiap hari perdagangan pukul 12:00 GMT (19:00 Asia/Jakarta).
1. Broker Summary
Mengambil aktivitas harian agregat untuk para broker pada ticker saham tertentu.
Endpoint: GET /stocks/broker-summary
Agregasi: Rentang tanggal bersifat agregat, bukan per hari. Permintaan dari from=2025-01-01 hingga to=2025-01-31 mengembalikan
satu baris per broker untuk seluruh bulan (total di seluruh rentang), bukan 30 baris harian terpisah. Foreign flow mengembalikan
satu total tunggal untuk rentang tersebut. Gunakan permintaan satu hari (from = to) jika Anda membutuhkan catatan harian.
Query Parameters
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
ticker | String | Ya | Simbol ticker saham (misalnya BBCA, TLKM) |
from | Date | Ya | Tanggal mulai dalam format YYYY-MM-DD |
to | Date | Ya | Tanggal akhir dalam format YYYY-MM-DD |
investor | Enum | Ya | Tipe investor. Salah satu dari: all (semua investor), f (asing), d (domestik). |
market | Enum | Tidak | Segmen pasar: RG (Reguler, default), NG (Negosiasi), ALL (keduanya). NG tersedia sejak 2025-01-01. |
Contoh Request
curl -X 'GET' \
'https://api.indexalpha.id/stocks/broker-summary?ticker=BBCA&from=2026-03-26&to=2026-03-26&investor=all' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <your_api_token>'Format Respons
{
"success": true,
"data": [
{
"code": "SQ",
"buy_freq": 4044,
"buy_volume": 26837300,
"buy_value": 185357180000,
"sell_freq": 586,
"sell_volume": 1499300,
"sell_value": 10374017500,
"buy_avg": 6906.7,
"sell_avg": 6919.24
},
{
"code": "AK",
"buy_freq": 4355,
"buy_volume": 16591800,
"buy_value": 114517012500,
"sell_freq": 5542,
"sell_volume": 19340600,
"sell_value": 133580562500,
"buy_avg": 6902.02,
"sell_avg": 6906.74
}
],
"error": null
}Contoh Pasar NG
curl -X 'GET' \
'https://api.indexalpha.id/stocks/broker-summary?ticker=BBCA&from=2025-01-02&to=2025-01-02&investor=all&market=NG' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <your_api_token>'2. Batch Broker Summary (Multi-Ticker)
Mengambil aktivitas broker agregat untuk beberapa ticker saham dalam satu permintaan HTTP.
Endpoint: POST /stocks/broker-summary/batch
Penghitungan Penggunaan: Setiap simbol ticker yang diminta membuat 1 catatan log penggunaan terhadap kuota bulanan Anda. Sebagai
contoh, permintaan ['BBCA', 'BBRI', 'TLKM'] mengonsumsi 3 unit dari batas bulanan Anda - sama dengan 3 panggilan
single-ticker terpisah.
Parameter Request Body
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
tickers | Array[String] | Ya | Daftar ticker saham (misalnya ["BBCA", "BBRI", "TLKM"]). Minimal 1, maksimal 50 ticker. |
from | Date | Ya | Tanggal mulai dalam format YYYY-MM-DD |
to | Date | Ya | Tanggal akhir dalam format YYYY-MM-DD |
investor | Enum | Tidak | Tipe investor: all (default), f (asing), d (domestik). |
market | Enum | Tidak | Segmen pasar: RG (Reguler, default), NG (Negosiasi), ALL (keduanya). |
Contoh Request
curl -X 'POST' \
'https://api.indexalpha.id/stocks/broker-summary/batch' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your_api_token>' \
-d '{
"tickers": ["BBCA", "BBRI", "TLKM"],
"from": "2026-03-26",
"to": "2026-03-26",
"investor": "all",
"market": "RG"
}'Format Respons
{
"success": true,
"data": {
"BBCA": [
{
"code": "SQ",
"buy_freq": 4044,
"buy_volume": 26837300,
"buy_value": 185357180000,
"sell_freq": 586,
"sell_volume": 1499300,
"sell_value": 10374017500,
"buy_avg": 6906.7,
"sell_avg": 6919.24
}
],
"BBRI": [
{
"code": "AK",
"buy_freq": 1200,
"buy_volume": 15000000,
"buy_value": 75000000000,
"sell_freq": 800,
"sell_volume": 10000000,
"sell_value": 50000000000,
"buy_avg": 5000.0,
"sell_avg": 5000.0
}
],
"TLKM": []
},
"error": null
}3. Foreign Flow
Mengambil aktivitas perdagangan agregat pembelian asing, penjualan asing, dan net flow asing untuk sebuah ticker saham di seluruh broker asing.
Seperti broker summary, rentang multi-hari mengembalikan satu total agregat, bukan nilai per hari.
Endpoint: GET /foreign-flow
Sumber Data: Foreign flow dihitung dari data dasar yang sama dengan Broker Summary, tetapi diagregasi di seluruh
broker asing alih-alih per broker. Kolom foreign menggunakan data yang ditandai dengan tipe investor f (asing).
Query Parameters
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
ticker | String | Ya | Simbol ticker saham (misalnya BBCA, TLKM) |
from | Date | Ya | Tanggal mulai dalam format YYYY-MM-DD |
to | Date | Ya | Tanggal akhir dalam format YYYY-MM-DD |
market | Enum | Tidak | Segmen pasar: RG (Reguler), NG (Negosiasi), ALL (keduanya, default). NG tersedia sejak 2025-01-01. |
Contoh Request
curl -X 'GET' \
'https://api.indexalpha.id/foreign-flow?ticker=BBCA&from=2026-07-01&to=2026-07-28' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <your_api_token>'Format Respons
{
"success": true,
"data": {
"foreign_buy": 125000000000,
"foreign_sell": 83000000000,
"net_foreign": 42000000000
},
"error": null
}4. Batch Foreign Flow (Multi-Ticker)
Mengambil foreign flow agregat untuk beberapa ticker saham dalam satu permintaan HTTP.
Seperti broker summary, rentang multi-hari mengembalikan satu total agregat, bukan nilai per hari.
Endpoint: POST /foreign-flow/batch
Penghitungan Penggunaan: Setiap simbol ticker yang diminta membuat 1 catatan log penggunaan terhadap kuota bulanan Anda. Sebagai
contoh, permintaan ['BBCA', 'BBRI', 'TLKM'] mengonsumsi 3 unit dari batas bulanan Anda - sama dengan 3 panggilan
single-ticker terpisah.
Parameter Request Body
| Field | Tipe | Wajib | Deskripsi |
|---|---|---|---|
tickers | Array[String] | Ya | Daftar ticker saham (misalnya ["BBCA", "BBRI", "TLKM"]). Minimal 1, maksimal 50 ticker. |
from | Date | Ya | Tanggal mulai dalam format YYYY-MM-DD |
to | Date | Ya | Tanggal akhir dalam format YYYY-MM-DD |
market | Enum | Tidak | Segmen pasar: RG (Reguler), NG (Negosiasi), ALL (keduanya, default). |
Contoh Request
curl -X 'POST' \
'https://api.indexalpha.id/foreign-flow/batch' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <your_api_token>' \
-d '{
"tickers": ["BBCA", "BBRI", "TLKM"],
"from": "2026-07-01",
"to": "2026-07-28",
"market": "ALL"
}'Format Respons
{
"success": true,
"data": {
"BBCA": {
"foreign_buy": 125000000000,
"foreign_sell": 83000000000,
"net_foreign": 42000000000
},
"BBRI": {
"foreign_buy": 45000000000,
"foreign_sell": 52000000000,
"net_foreign": -7000000000
},
"TLKM": {
"foreign_buy": 18000000000,
"foreign_sell": 15000000000,
"net_foreign": 3000000000
}
},
"error": null
}5. Check Usage & Limits
Memantau penggunaan panggilan bulanan Anda dan sisa kuota.
Endpoint: GET /usage
Contoh Request
curl -X 'GET' \
'https://api.indexalpha.id/usage' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <your_api_token>'Format Respons
{
"success": true,
"data": {
"api_key": "ia_l...H_Qv",
"key": {
"key_id": "uuid-of-your-key",
"key_name": "Default Key",
"current_usage": 3,
"monthly_limit": 25000,
"remaining": 24997
},
"account": {
"plan": "Starter",
"current_usage": 42,
"monthly_limit": 25000,
"remaining": 24958,
"period_end": "2026-08-29T00:00:00",
"is_active": true
}
},
"error": null
}Respons menampilkan penggunaan tingkat key (key.current_usage) berdampingan dengan penggunaan tingkat akun (account.current_usage). Pengaman kuota bulanan diterapkan pada tingkat akun - penggunaan dari semua key di bawah akun yang sama diagregasi. Penghitung tingkat key bersifat informatif, sehingga Anda dapat memantau konsumsi per key.
account.plan adalah paket yang Anda langgani; account.is_active mencerminkan apakah paket tersebut saat ini memberikan akses (false setelah period_end lewat, sampai Anda memperpanjang atau membeli paket baru). Langganan Free selalu melaporkan is_active: true.
6. Market News (RSS)
Mengambil artikel terbaru dari feed RSS berita pasar Indonesia, dikelompokkan berdasarkan sumber.
Endpoint: GET /news
Data Langsung: Artikel diambil dari feed RSS penerbit saat permintaan dan hanya disimpan dalam cache singkat 30 detik — tidak ada yang disimpan jangka panjang. Sumber yang sedang tidak dapat dijangkau akan dilewati, sehingga respons dapat berbeda antar panggilan.
Parameter Query
Tidak ada. Respons hanya menyertakan sumber yang mengembalikan setidaknya satu artikel; sumber yang sedang tidak dapat dijangkau akan diabaikan begitu saja. Saring di sisi klien.
Format Respons
data adalah objek yang memetakan setiap nama sumber ke array artikel terbaru lebih dahulu. Hanya sumber yang
mengembalikan setidaknya satu artikel yang disertakan. Setiap artikel berisi:
| Field | Tipe | Arti |
|---|---|---|
source | String | Nama sumber (mis. CNBC-Indonesia, Stockwatch) |
title | String | Judul artikel (HTML dihapus) |
description | String | Teks ringkasan (HTML dihapus) |
link | String | URL artikel lengkap |
image_url | String | URL gambar thumbnail/hero, atau "" jika tidak ada |
guid | String / null | Identitas unik feed jika feed menyediakannya |
published_date | String / null | Stempel waktu ISO-8601 UTC (2026-09-02T07:30:49Z), atau null jika tidak dapat diurai |
{
"success": true,
"data": {
"CNBC-Indonesia": [
{
"source": "CNBC-Indonesia",
"title": "IHSG Ditutup Menguat",
"description": "Indeks Harga Saham Gabungan ditutup menguat…",
"link": "https://www.cnbcindonesia.com/market/…",
"image_url": "https://…",
"guid": "…",
"published_date": "2026-09-02T07:30:49Z"
}
],
"Stockwatch": [
{
"source": "Stockwatch",
"title": "…",
"description": "…",
"link": "https://stockwatch.id/…",
"image_url": "",
"guid": null,
"published_date": "2026-09-02T06:00:00Z"
}
]
},
"error": null
}Sumber: CNBC Indonesia, Tempo Bisnis, Detik Finance, Investing.com (Saham & Ekonomi), yang muncul sebagai dua kunci data Investing-Saham dan Investing-Ekonomi, Stockwatch (4 feed kategori
digabung), Mikir Duit, Liputan6 Saham, Antara Bursa, Katadata, IDX Channel, dan Investor.id.
7. Daily OHLCV
Mengambil bar harian open, high, low, close dan volume untuk sebuah ticker saham.
Endpoint: GET /stocks/ohlcv
Tersedia dua sumber harga:
idx(default): data IDX as-traded. Harga dan volume tidak disesuaikan untuk stock split.yfinance: data Yahoo Finance. Harga sudah disesuaikan untuk stock split. Gunakanadjusted=trueuntuk juga menyesuaikan dividen.
idx adalah data as-traded: perkirakan diskontinuitas harga pada tanggal
split. Untuk charting, gunakan source=yfinance, atau sesuaikan histori dengan
faktor split yang tercantum dalam aksi korporasi emiten. adjusted=true hanya
didukung dengan source=yfinance; dengan source=idx akan mengembalikan 400.
Dengan adjusted=true, close adalah adjusted close dari Yahoo, sedangkan
open, high dan low diskalakan dengan faktor yang sama (adjusted close ÷
close). volume tidak diubah. Tanggal perdagangan yang hilang, dan bar tanpa
harga close (misalnya sesi berjalan yang belum selesai), dihilangkan, tidak
pernah diisi.
Query Parameters
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
ticker | String | Ya | Simbol ticker saham (misalnya BBCA, DSSA) |
from | Date | Ya | Tanggal mulai dalam format YYYY-MM-DD |
to | Date | Ya | Tanggal akhir dalam format YYYY-MM-DD (maksimal rentang 366 hari) |
source | String | Tidak | idx (default) atau yfinance |
adjusted | Boolean | Tidak | true untuk harga yang disesuaikan split dan dividen. Default false. Hanya yfinance. |
Contoh Request
curl -X 'GET' \
'https://api.indexalpha.id/stocks/ohlcv?ticker=BBCA&from=2026-09-01&to=2026-09-07' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <your_api_token>'Harga adjusted dari Yahoo Finance:
curl -X 'GET' \
'https://api.indexalpha.id/stocks/ohlcv?ticker=BBCA&from=2026-09-01&to=2026-09-07&source=yfinance&adjusted=true' \
-H 'accept: application/json' \
-H 'Authorization: Bearer <your_api_token>'Format Respons
{
"success": true,
"data": [
{
"date": "2026-09-07",
"open": 7800,
"high": 7925,
"low": 7750,
"close": 7850,
"volume": 123456700
}
],
"error": null
}Field Reference
Setiap baris dalam respons broker-summary menggunakan field berikut:
| Field | Tipe | Arti | Satuan |
|---|---|---|---|
code | String | Kode broker (misalnya SQ, AK) | - |
buy_freq | Integer | Jumlah transaksi beli | transaksi |
sell_freq | Integer | Jumlah transaksi jual | transaksi |
buy_volume | Integer | Total lembar saham dibeli | lembar |
sell_volume | Integer | Total lembar saham dijual | lembar |
buy_value | Integer | Total nilai pembelian | IDR |
sell_value | Integer | Total nilai penjualan | IDR |
buy_avg | Number | Harga rata-rata tertimbang beli | IDR |
sell_avg | Number | Harga rata-rata tertimbang jual | IDR |
Field foreign-flow:
| Field | Tipe | Arti | Satuan |
|---|---|---|---|
foreign_buy | Integer | Total nilai transaksi pembelian asing | IDR |
foreign_sell | Integer | Total nilai transaksi penjualan asing | IDR |
net_foreign | Integer | Net foreign flow (foreign_buy - foreign_sell) | IDR |