fzn0x / idx
git clone https://github.com/fzn0x/idx.git
v0.8.1 · 2d ago
Analyze the Indonesian stock market (IDX/IHSG) from web terminal, CLI, or any AI agents via MCP server. IHSG Prices, Fundamentals, and Screening. Free and No API keys required. Changelog: https://github.com/fzn0x/idx/blob/main/CHANGELOG.md
—
stars, 24h
+166
stars, 7 days · #332
+166
stars, 30 days · #1,496
166
★ total · +166% this week
7
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseMIT
Created2026-10-16 (4d ago)
Last push2d ago
Watchers0
OwnerUser
GitHub topics
Links
- GitHub: github.com/fzn0x/idx
- Homepage: https://ihsg.midoriresearch.com
- Releases · Issues · Hacker News mentions
README excerpt
Indonesian stock market (IDX / IHSG) analysis for people and AI agents. One binary: a CLI that prints tables, a JSON mode for scripts, and an MCP server for agents. --- [code] [code] [code] [code] - **Free data, no keys.** Yahoo Finance and MSN Money for prices and fundamentals, the exchange's own idx.co.id summaries for foreign flow, member activity, indices and the corporate-action calendar, IDX's monthly KSEI register for ownership, Indo Premier's broker summary for who bought and sold (read as bandarmology by `idx bandar`) and its corporate-action pages, Kontan and CNBC Indonesia feeds for news. Every source sits behind a `Provider` trait, so one breaking does not take the tool down, and `auto` fills gaps in one source's fundamentals from the other. - **Built for agents.** `-o json` emits a stable, schema-documented envelope (`idx schema quotes`). Exit codes mean something. `idx mcp` exposes every command as a typed MCP tool that returns the very same JSON. - **Works offline.** Responses are cached with per-endpoint TTLs; `--offline` serves the cache instead of failing when the network is gone. - **Ownership, not just prices.** KSEI's monthly register of holders above 1 % is imported into local SQLite with normalised entity names, so "who owns more than 1 % of BBCA" and "what did this fund change last month" are one command each. The monthly IDX files are mirrored to GitHub, so neither you nor the web terminal imports anything by hand. - **Single static binary.** Rust, no runtime, Linux / macOS / Windows. ## Install The package is called **`ihsg-cli`**; the command it installs is **`idx`** (npm also adds `ihsg-cli` as an alias). [code] npm installs a small launcher from this repository; the first `idx` command downloads the prebuilt binary for your platform from the matching GitHub release and checks it against the release's `SHA256SUMS` (so does `install.sh`). The binary is stored next to the launcher, or in a per-user cache when the global npm folder is not writable. On npm 12, which only installs from git when allowed, add `--allow-git=all` to the command. Windows without npm: download `idx- -x86_64-pc-windows-msvc.zip` from the releases page. Static Linux binaries are musl builds and run on any distribution. The development version installs with `cargo install --git https://github.com/fzn0x/idx`. Shell completions: [code] ## Commands | command | what it does | | --- | --- | | `stocks quote ` | Delayed quote for one or many tickers (`BBCA,BBRI` or `BBCA BBRI`; `.JK` optional) | | `stocks history [--period 1y] [--interval 1d] [--limit 30]` | OHLCV candles with a summary line. Periods `1d 5d 1mo 3mo 6mo 1y 2y 5y 10y ytd max`, intervals `5m 15m 30m 1h 1d 1wk 1mo` | | `stocks profile ` | Sector, industry, description, size, headquarters, management | | `stocks financials [--period annual\|quarterly\|ttm] [--statement all\|income\|balance\|cash]` | Income statement, balance sheet, cash flow | | `stocks earnings ` | Q