--- title: Command reference description: Every idx command and flag, generated from idx --help. --- This page is generated from `idx --help`, so it always matches the released CLI. For explanations and examples, see the [stocks](/cli/stocks/) and [ownership](/cli/ownership/) guides. ## `idx` ```text idx-cli is a Rust command-line tool for Indonesian stock market (IDX) analysis. It supports quote lookup, historical data, local caching, and output formats for both humans and AI agents. Usage: idx [OPTIONS] Commands: stocks Stock data and analysis config Manage configuration cache Manage local cache ownership Ownership intelligence (bootstrap with `ownership sync`) stockbit Your Stockbit session (opt-in: order book, live quotes) completions Generate shell completions version Show idx-cli version help Print this message or the help of the given subcommand(s) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') ``` ## `idx stocks` ```text Stock data and analysis Usage: idx stocks [OPTIONS] Commands: quote Get real-time stock quotes intraday Today's session price by the minute (Stockbit) orderbook Order book depth and foreign flow (Stockbit login) history Get historical OHLC data technical Run technical analysis on a stock growth Run growth analysis on a stock valuation Run valuation analysis on a stock risk Run risk analysis on a stock fundamental Run full fundamental analysis on a stock broker Which brokers bought and sold a stock bandar Bandarmology: is buying more concentrated than selling flow Foreign buying and selling of a stock, session by session profile Get company profile financials Get financial statements earnings Get earnings report sentiment Get crowd sentiment insights Get AI insights news Get stock news screen MSN screener compare Compare fundamentals across stocks help Print this message or the help of the given subcommand(s) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx stocks quote` ```text Get real-time stock quotes Usage: idx stocks quote [OPTIONS] ... Arguments: ... One or more symbols, comma-separated or space-separated; `-` reads them from stdin Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks quote BBCA idx stocks quote BBCA,BBRI,BMRI idx -o json stocks quote BBCA echo BBCA BBRI | idx stocks quote - idx --provider stockbit stocks quote BBCA # with bid/offer while the market is open ``` ### `idx stocks intraday` ```text Today's session of one IDX stock or index, by the minute, from Stockbit's public page (no login): the quote, the best bid/offer while the market is open, a sparkline, and the last minutes. Delayed at least 10 minutes per Stockbit's terms; prices only, no per-minute volume. A stock that did not trade has no minutes, which is not an error. Indices use Yahoo's tickers (^JKSE, ^JKLQ45) or Stockbit's (IHSG, LQ45). Usage: idx stocks intraday [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx stocks intraday BBCA idx stocks intraday ^JKSE idx -o json stocks intraday BBCA | jq '.points[-1]' ``` ### `idx stocks orderbook` ```text The order book of one IDX stock from your own Stockbit session (`idx stockbit login`): bid and offer levels with lots and queued orders, the session's OHLC, volume, value and foreign buy, sell and net. Outside trading it is the book as the market left it, and the output says so. Usage: idx stocks orderbook [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: --depth Price levels per side (1-50) [default: 10] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx stocks orderbook BBCA idx stocks orderbook BBRI --depth 5 idx -o json stocks orderbook TLKM | jq '.offers[0]' ``` ### `idx stocks history` ```text Get historical OHLC data Usage: idx stocks history [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --period [default: 3mo] [possible values: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y] --interval [default: 1d] [possible values: 1d, 1wk, 1mo] --no-color Disable colored output --history-provider [possible values: auto, yahoo, msn, stockbit] -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks history BBCA --period 3mo idx stocks history BBCA --period 1y --interval 1wk ``` ### `idx stocks technical` ```text Run technical analysis on a stock Usage: idx stocks technical [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: --history-provider [possible values: auto, yahoo, msn, stockbit] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks technical BBCA idx -o json stocks technical BBCA ``` ### `idx stocks growth` ```text Run growth analysis on a stock Usage: idx stocks growth [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks growth BBCA idx -o json stocks growth BBCA ``` ### `idx stocks valuation` ```text Run valuation analysis on a stock Usage: idx stocks valuation [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks valuation BBCA idx -o json stocks valuation BBCA ``` ### `idx stocks risk` ```text Run risk analysis on a stock Usage: idx stocks risk [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks risk BBCA idx -o json stocks risk BBCA ``` ### `idx stocks fundamental` ```text Run full fundamental analysis on a stock Usage: idx stocks fundamental [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks fundamental BBCA idx -o json stocks fundamental BBCA ``` ### `idx stocks broker` ```text Which brokers bought and sold a stock: the top 10 buyers and top 10 sellers by lots, with value and average price, from Indo Premier (IPOT). End of day: IDX does not show broker codes during trading. Without dates, the latest session with trades. Usage: idx stocks broker [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: --date One session, YYYY-MM-DD. Default: the latest session with trades -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --from First session of a range, YYYY-MM-DD (at most 366 days) --no-color Disable colored output -q, --quiet Suppress non-essential output --to Last session of the range, YYYY-MM-DD. Default: today --investor Whose trades to count Possible values: - all: Every trade - foreign: Trades by foreign investors only - domestic: Trades by domestic investors only [default: all] -v, --verbose... Increase verbosity (-v, -vv) --board Which board's trades to count; `regular` leaves out negotiated block trades Possible values: - all: Every board - regular: Regular market (RG), the continuous order book - cash: Cash market (TN) - negotiated: Negotiated market (NG): pre-arranged block trades [default: all] --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx stocks broker BBCA idx stocks broker BBCA --date 2026-10-16 idx stocks broker BBCA --from 2026-10-12 --to 2026-10-16 --board regular idx -o json stocks broker BBCA --investor foreign ``` ### `idx stocks bandar` ```text Bandarmology from the broker summary: the top 1, 3, 5 and 10 buyers' value against the same number of sellers', as a share of value traded, with a signal from big accumulation to big distribution. Several symbols give a screen ranked by the headline tier (at most 100, one request each). `--investor foreign|domestic` weighs that side's buyers against its buying and its sellers against its selling (needs `--board all`). A heuristic over end-of-day broker codes, not advice. Usage: idx stocks bandar [OPTIONS] ... Arguments: ... One or more symbols, comma-separated or space-separated; `-` reads them from stdin Options: --date One session, YYYY-MM-DD. Default: the latest session with trades -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --from First session of a range, YYYY-MM-DD (at most 366 days) --no-color Disable colored output -q, --quiet Suppress non-essential output --to Last session of the range, YYYY-MM-DD. Default: today --investor Whose trades to count Possible values: - all: Every trade - foreign: Trades by foreign investors only - domestic: Trades by domestic investors only [default: all] -v, --verbose... Increase verbosity (-v, -vv) --board Which board's trades to count; `regular` leaves out negotiated block trades Possible values: - all: Every board - regular: Regular market (RG), the continuous order book - cash: Cash market (TN) - negotiated: Negotiated market (NG): pre-arranged block trades [default: all] --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --top Tier behind the headline signal: 1, 3, 5 or 10 brokers per side [default: 5] --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx stocks bandar BBCA idx stocks bandar BBCA --from 2026-10-12 --to 2026-10-16 --top 3 idx stocks bandar BBCA,BBRI,BMRI,TLKM idx stocks screen --filter high-volume | jq -r '.[].symbol' | idx stocks bandar - ``` ### `idx stocks flow` ```text Foreign buying and selling of a stock, session by session, end of day. By default from Indo Premier (IPOT): foreign buy, sell and net value across all boards and foreign investors' share of trading, two plain requests per session. `--source idx` reads IDX's own trading summary instead: exact foreign share counts, the close and the share traded outside the regular board, one request per session to idx.co.id, which needs curl-impersonate and a network IDX's Cloudflare lets through. Usage: idx stocks flow [OPTIONS] Arguments: Single ticker symbol (e.g. BBCA) Options: --days Latest sessions to show (default 10, at most 60) -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --from First session of a range, YYYY-MM-DD (at most 92 days) --no-color Disable colored output -q, --quiet Suppress non-essential output --to Last session of the range, YYYY-MM-DD. Default: today --source Where the figures come from Possible values: - ipot: Indo Premier's broker summary: foreign buy, sell and net value across all boards, two plain requests per session. Figures of a million and more are rounded to one decimal - idx: IDX's own trading summary: exact foreign share counts, close and the non-regular share, regular board. Needs curl-impersonate and a network IDX's Cloudflare lets through [default: ipot] -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx stocks flow BBCA idx stocks flow BBCA --days 20 idx stocks flow BBCA --from 2026-10-01 --to 2026-10-16 idx stocks flow BBCA --source idx idx -o json stocks flow BBCA | jq '.foreign_net_value' ``` ### `idx stocks profile` ```text Get company profile Usage: idx stocks profile [OPTIONS] Arguments: Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx stocks financials` ```text Get financial statements Usage: idx stocks financials [OPTIONS] Arguments: Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --statement ... Limit output to one or more statements [possible values: income, balance, cashflow] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks financials BBCA idx stocks financials BBCA --statement income idx stocks financials BBCA --statement income,balance ``` ### `idx stocks earnings` ```text Get earnings report Usage: idx stocks earnings [OPTIONS] Arguments: Options: --forecast Only include forward earnings rows -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --history Only include historical earnings rows --no-color Disable colored output --annual Only include annual periods -q, --quiet Suppress non-essential output --quarterly Only include quarterly periods -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks earnings BBCA idx stocks earnings BBCA --history --quarterly idx -o json stocks earnings BBCA --forecast --annual ``` ### `idx stocks sentiment` ```text Get crowd sentiment Usage: idx stocks sentiment [OPTIONS] Arguments: Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx stocks insights` ```text Get AI insights Usage: idx stocks insights [OPTIONS] Arguments: Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx stocks news` ```text Get stock news Usage: idx stocks news [OPTIONS] Arguments: Options: --limit [default: 10] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx stocks screen` ```text MSN screener Usage: idx stocks screen [OPTIONS] Options: --filter [default: top-performers] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output --region [default: id] --limit [default: 50] -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx stocks compare` ```text Compare fundamentals across stocks Usage: idx stocks compare [OPTIONS] ... Arguments: ... One or more symbols, comma-separated or space-separated; `-` reads them from stdin Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx stocks compare BBCA BBRI BMRI idx stocks compare BBCA,BBRI,BMRI idx -o json stocks compare BBCA,BBRI idx stocks screen --filter low-pe | jq -r '.[].symbol' | idx stocks compare - ``` ## `idx config` ```text Manage configuration in ~/.config/idx/config.toml (or $XDG_CONFIG_HOME/idx/config.toml). Results print as plain text, even when piped, so `$(idx config path)` works in scripts. Ask for JSON with `-o json`, `IDX_OUTPUT=json`, or `general.output = "json"`. Usage: idx config [OPTIONS] Commands: init Create default configuration file get Get a configuration value by key set Set a configuration value by key path Print configuration file path help Print this message or the help of the given subcommand(s) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Keys: general.provider, general.history_provider, general.exchange, general.output, general.color, cache.quote_ttl, cache.fundamental_ttl, ownership.db_path, ownership.snapshot_manifest Examples: idx config init idx config set general.output json idx config get cache.quote_ttl idx config path ``` ### `idx config init` ```text Create default configuration file Usage: idx config init [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx config get` ```text Get a configuration value by key Usage: idx config get [OPTIONS] Arguments: Key such as general.provider (see `idx config --help`) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx config set` ```text Set a configuration value by key Usage: idx config set [OPTIONS] Arguments: Key such as general.provider (see `idx config --help`) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx config path` ```text Print configuration file path Usage: idx config path [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ## `idx cache` ```text Manage local cache Usage: idx cache [OPTIONS] Commands: info Show cache usage information clear Clear all cached files help Print this message or the help of the given subcommand(s) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx cache info` ```text Show cache usage information Usage: idx cache info [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx cache clear` ```text Clear all cached files Usage: idx cache clear [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ## `idx ownership` ```text Ownership intelligence (KSEI + Bing). Preferred bootstrap path: 1. Run `idx ownership sync` to install or refresh a maintained SQLite snapshot. 2. If no snapshot manifest is available, run `idx ownership discover` and then `idx ownership import --url `. 3. Local `.xlsx`, `.pdf`, `.zip`, and `.txt` imports remain available for manual or fallback workflows. Usage: idx ownership [OPTIONS] Commands: discover Discover the latest IDX-hosted ownership report URLs import Import ownership data directly from source files sync Install or refresh a maintained ownership SQLite snapshot ticker Show all holders for a ticker (KSEI + Bing combined) entity Show all holdings for an entity across tickers search Search entities by name or KSEI alias cross-holders Rank entities by cross-ownership breadth concentration Rank tickers by ownership concentration flow Show Bing institutional flow for a ticker changes Diff two KSEI releases graph Ownership network graph resolve Manual entity resolution workflow releases List imported KSEI releases help Print this message or the help of the given subcommand(s) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx ownership sync idx ownership sync --manifest /path/to/ownership-snapshot-manifest.json idx ownership discover --limit 1 idx ownership import --url idx ownership releases ``` ### `idx ownership discover` ```text Discover the latest IDX-hosted ownership report URLs Usage: idx ownership discover [OPTIONS] Options: --family Report family to discover: above1 (default), all, above5, or investor-type [default: above1] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --limit Maximum number of discovered report URLs to print [default: 6] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx ownership discover --limit 1 idx ownership discover --family all --limit 6 Use this when no snapshot manifest is available and you need a direct XLSX or PDF URL for `idx ownership import --url`. ``` ### `idx ownership import` ```text Import ownership data directly from source files. Prefer `idx ownership sync` for normal bootstrap/update flows. Use `import` when you need a direct PDF import from IDX discovery output, a local PDF, or a local KSEI archive fallback file. Usage: idx ownership import [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --url Direct URL to a remote above-1% XLSX or PDF, typically from `ownership discover` --file Path to a local ownership file: above-1% XLSX or PDF (primary), ZIP/TXT archive (fallback) --no-color Disable colored output --fetch-bing Fetch Bing institutional data for these symbols -q, --quiet Suppress non-essential output --force Re-import even if the release SHA-256 has already been seen -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx ownership import --url idx ownership import --file /path/to/peng-2026-08-00017-satu-persen.xlsx idx ownership import --file /path/to/ksei.pdf idx ownership import --file /path/to/BalanceposEfek20260227.zip ``` ### `idx ownership sync` ```text Install or refresh a maintained ownership SQLite snapshot. This is the normal bootstrap/update path for ownership data. Manifest lookup order: 1. `--manifest` 2. `IDX_OWNERSHIP_SNAPSHOT_MANIFEST` 3. `ownership.snapshot_manifest` in config Usage: idx ownership sync [OPTIONS] Options: --manifest Snapshot manifest location (URL or local path). If omitted, idx falls back through env/config and then the published default URL -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --force Replace the local DB even when it is already current or newer than the snapshot --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx ownership sync idx ownership sync --manifest /path/to/ownership-snapshot-manifest.json IDX_OWNERSHIP_SNAPSHOT_MANIFEST=https://example.com/latest.json idx ownership sync If none of the above are set, `ownership sync` falls back to the built-in published manifest URL. ``` ### `idx ownership ticker` ```text Show all holders for a ticker (KSEI + Bing combined) Usage: idx ownership ticker [OPTIONS] Arguments: Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --source [default: all] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx ownership entity` ```text Show all holdings for an entity across tickers Usage: idx ownership entity [OPTIONS] Arguments: Entity name or part of one, case-insensitive; the shortest match is shown Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help Examples: idx ownership entity "ASTRA INTERNATIONAL" idx ownership search astra # list candidates first ``` ### `idx ownership search` ```text Search entities by name or KSEI alias. Matches canonical names and the raw names KSEI prints (e.g. `PT ASTRA INTERNATIONAL TBK`), case-insensitively. Ranked: exact name, exact alias, prefix, then substring. Usage: idx ownership search [OPTIONS] Arguments: Name, KSEI alias, or part of one Options: --limit [default: 20] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx ownership search astra idx ownership search "PT ASTRA INTERNATIONAL TBK" --limit 5 ``` ### `idx ownership cross-holders` ```text Rank entities by cross-ownership breadth Usage: idx ownership cross-holders [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --top [default: 20] --min-tickers [default: 2] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx ownership concentration` ```text Rank tickers by ownership concentration Usage: idx ownership concentration [OPTIONS] Options: --by [default: hhi] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output --top [default: 20] -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx ownership flow` ```text Show Bing institutional flow for a ticker Usage: idx ownership flow [OPTIONS] Arguments: Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx ownership changes` ```text Diff two KSEI releases: new, exited, increased, and decreased holders. Both dates must be imported releases (`idx ownership releases` lists them), with --from before --to. A holder's accounts in a ticker are summed, so an investor with several accounts compares by its total stake. Usage: idx ownership changes [OPTIONS] --from --to Options: --from Earlier release date, YYYY-MM-DD -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output --to Later release date, YYYY-MM-DD -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx ownership releases idx ownership changes --from 2026-08-31 --to 2026-09-30 ``` ### `idx ownership graph` ```text Ownership network graph Usage: idx ownership graph [OPTIONS] Arguments: Ticker code or entity name to start from Options: --depth Traversal depth (default 2) [default: 2] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --format Output format: table or dot (Graphviz) [default: table] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx ownership resolve` ```text Manual entity resolution workflow Usage: idx ownership resolve [OPTIONS] Commands: unresolved List unresolved or low-confidence entity aliases map Manually map a raw investor name to a canonical entity name merge Merge two entities (keep first, merge second into it) help Print this message or the help of the given subcommand(s) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` #### `idx ownership resolve unresolved` ```text List unresolved or low-confidence entity aliases Usage: idx ownership resolve unresolved [OPTIONS] Options: --limit [default: 50] -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` #### `idx ownership resolve map` ```text Manually map a raw investor name to a canonical entity name Usage: idx ownership resolve map [OPTIONS] Arguments: The raw name as it appears in the data The canonical entity name to map to Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` #### `idx ownership resolve merge` ```text Merge two entities (keep first, merge second into it) Usage: idx ownership resolve merge [OPTIONS] Arguments: Entity ID to keep Entity ID to merge and delete Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx ownership releases` ```text List imported KSEI releases Usage: idx ownership releases [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ## `idx stockbit` ```text Your own Stockbit session, for `stocks orderbook`, live `--provider stockbit` quotes and Stockbit daily history. Opt-in and personal: idx uses your account's tokens, stored in the config directory with owner-only permissions, and never logs them. Stockbit rotates the refresh token on every refresh, so a browser sharing the session is logged out once idx refreshes: log in through a separate browser profile for idx. Stockbit's terms allow personal, non-commercial use. Usage: idx stockbit [OPTIONS] Commands: login Connect a session in your browser, or from stdin status Show whether a session is stored and when its tokens expire logout Delete the stored session help Print this message or the help of the given subcommand(s) Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') Examples: idx stockbit login # paste the credentialStorage cookie pbpaste | idx stockbit login idx stockbit status idx stockbit logout ``` ### `idx stockbit login` ```text In a terminal, opens a local page on 127.0.0.1 with two one-click ways to hand idx your Stockbit session: a bookmarklet that reads stockbit.com's cookie in your own browser, or a read-the-clipboard button. Without a browser (or with --no-browser), the page URL is printed instead. With stdin piped, it reads the value of stockbit.com's `credentialStorage` cookie (DevTools, Application, Cookies) or a refresh token from stdin, as before. Either way idx checks the session with one request. Servers can set IDX_STOCKBIT_REFRESH_TOKEN instead. Usage: idx stockbit login [OPTIONS] Options: --no-browser Print the page URL instead of opening a browser -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output --port Fixed port for the local page (for `ssh -L`); default: any free one -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help (see a summary with '-h') ``` ### `idx stockbit status` ```text Show whether a session is stored and when its tokens expire Usage: idx stockbit status [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ### `idx stockbit logout` ```text Delete the stored session Usage: idx stockbit logout [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ## `idx completions` ```text Generate shell completions Usage: idx completions [OPTIONS] Arguments: [possible values: bash, zsh, fish] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ``` ## `idx version` ```text Show idx-cli version Usage: idx version [OPTIONS] Options: -o, --output Output format [default: auto = table on a terminal, json when piped] [possible values: auto, table, json, jsonl] --no-color Disable colored output -q, --quiet Suppress non-essential output -v, --verbose... Increase verbosity (-v, -vv) --provider Market data provider [default: general.provider, else msn] [possible values: yahoo, msn, stockbit] --offline Run without network requests --no-cache Bypass local cache -h, --help Print help ```