# Indodax โ€” Zapi reference > Indonesia's crypto exchange โ€” prices in rupiah from the venue that actually trades them, with order book and tape. **Base URL:** `https://api.zapi.ink` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zapi.ink/dashboard/keys. **Response envelope:** `{ content, message, errors }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zapi.ink/api/finance/indodax - Endpoint catalog: https://zapi.ink/category/finance - Concise index: https://zapi.ink/llms.txt - Full reference: https://zapi.ink/llms-full.txt --- ## Indodax **Category:** finance ยท **Slug:** `indodax` **Detail page:** https://zapi.ink/api/finance/indodax Indonesia's crypto exchange โ€” prices in rupiah from the venue that actually trades them, with order book and tape. **Tags:** crypto, indonesia, idr, exchange, orderbook ### Ticker Price and 24h volume for one pair. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/finance:indodax/ticker` - **Cache TTL:** 15s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `pair` | string | query | yes | Trading pair. Accepts btc_idr, btcidr or BTC/IDR. Quote currency must be IDR or USDT | **cURL:** ```bash curl "https://api.zapi.ink/v1/finance:indodax/ticker?pair=btc_idr" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/finance:indodax/ticker?pair=btc_idr", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/finance:indodax/ticker?pair=btc_idr", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "buy": 1317913000, "low": 1180000000, "base": "BTC", "high": 1330777000, "last": 1317914000, "pair": "btc_idr", "sell": 1317914000, "quote": "IDR", "exchange": "indodax", "serverTime": 1787279331, "volumeBase": 80.70368942, "volumeQuote": 102638466782 } ``` --- ### Tickers Every traded pair in one call, filterable. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/finance:indodax/tickers` - **Cache TTL:** 30s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `quote` | enum(all|idr|usdt) | query | no | Restrict to pairs quoted in this currency. Default all | | `search` | string | query | no | Filter by base symbol or coin name | **cURL:** ```bash curl "https://api.zapi.ink/v1/finance:indodax/tickers?quote=idr&search=btc" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/finance:indodax/tickers?quote=idr&search=btc", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/finance:indodax/tickers?quote=idr&search=btc", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 493, "items": [ { "buy": 17652, "low": 17641, "base": "USDT", "high": 17776, "last": 17652, "name": "Tether USDt", "pair": "usdt_idr", "sell": 17653, "quote": "IDR", "serverTime": 1787279325, "volumeBase": 10709308.76272961, "volumeQuote": 189573344009 }, { "buy": 1317913000, "low": 1180000000, "base": "BTC", "high": 1330777000, "last": 1317914000, "name": "Bitcoin", "pair": "btc_idr", "sell": 1317914000, "quote": "IDR", "serverTime": 1787279325, "volumeBase": 80.7076104, "volumeQuote": 102643265363 }, { "buy": 22863, "low": 19252, "base": "XRP", "high": 23600, "last": 22858, "name": "XRP", "pair": "xrp_idr", "sell": 22881, "quote": "IDR", "serverTime": 1787279325, "volumeBase": 1625135.97405475, "volumeQuote": 35047049729 }, { "buy": 41539000, "low": 39403000, "base": "ETH", "high": 41882000, "last": 41539000, "name": "Ethereum", "pair": "eth_idr", "sell": 41540000, "quote": "IDR", "serverTime": 1787279325, "volumeBase": 838.57376805, "volumeQuote": 34052102116 }, { "buy": 1306534, "low": 1203000, "base": "HYPE", "high": 1319999, "last": 1306534, "name": "Hyperliquid", "pair": "hype_idr", "sell": 1307953, "quote": "IDR", "serverTime": 1787279325, "volumeBase": 20852.55778727, "volumeQuote": 26667942975 }, { "buy": 2165, "low": 2125, "base": "BEAT", "high": 2770, "last": 2168, "name": "Audiera", "pair": "beat_idr", "sell": 2170, "quote": "IDR", "serverTime": 1787279325, "volumeBase": 5921869.17768854, "volumeQuote": 14373885113 }, { "buy": 1570785, "low": 1490000, "base": "SOL", "high": 1580999, "last": 1573690, "name": "Solana", "pair": "sol_idr", "sell": 1574830, "quote": "IDR", "serverTime": 1787279325, "volumeBase": 7015.38769476, "volumeQuote": 10789821633 }, { "buy": 0.056714, "low": 0.050542, "base": "PEPE", "high": 0.05746, "last": 0.056774, "name": "Pepe", "pair": "pepe_idr", "sell": 0.056774, "quote": "IDR", "serverTime": 1787279325, "volumeBase": 177047571396, "volumeQuote": 9536034038 } ], "quote": "idr", "exchange": "indodax" } ``` --- ### Order book Resting bids and asks for one pair. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/finance:indodax/depth` - **Cache TTL:** 10s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `pair` | string | query | yes | Trading pair. Accepts btc_idr, btcidr or BTC/IDR. Quote currency must be IDR or USDT | | `limit` | number | query | no | Levels per side. Default all levels returned upstream, max 200 | **cURL:** ```bash curl "https://api.zapi.ink/v1/finance:indodax/depth?pair=btc_idr&limit=50" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/finance:indodax/depth?pair=btc_idr&limit=50", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/finance:indodax/depth?pair=btc_idr&limit=50", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "asks": [ { "price": 1317914000, "amount": 0.02009075 }, { "price": 1318160000, "amount": 0.00020161 }, { "price": 1318162000, "amount": 0.029039 }, { "price": 1318388000, "amount": 0.00255254 }, { "price": 1318533000, "amount": 0.09656028 }, { "price": 1318535000, "amount": 0.01088637 }, { "price": 1318635000, "amount": 0.0003665 }, { "price": 1318666000, "amount": 0.00030461 } ], "base": "BTC", "bids": [ { "price": 1317913000, "amount": 0.27245832 }, { "price": 1317912000, "amount": 0.06592225 }, { "price": 1317910000, "amount": 0.00012073 }, { "price": 1317067000, "amount": 0.00378831 }, { "price": 1317012000, "amount": 0.00007576 }, { "price": 1317000000, "amount": 0.00083346 }, { "price": 1316000000, "amount": 0.00007582 }, { "price": 1315991000, "amount": 0.00564038 } ], "pair": "btc_idr", "quote": "IDR", "spread": 1000, "askCount": 150, "bidCount": 150, "exchange": "indodax" } ``` --- ### Trades The recently executed tape for one pair. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/finance:indodax/trades` - **Cache TTL:** 10s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `pair` | string | query | yes | Trading pair. Accepts btc_idr, btcidr or BTC/IDR. Quote currency must be IDR or USDT | | `limit` | number | query | no | Number of recent trades. Default 50, max 200 | **cURL:** ```bash curl "https://api.zapi.ink/v1/finance:indodax/trades?pair=btc_idr&limit=50" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/finance:indodax/trades?pair=btc_idr&limit=50", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/finance:indodax/trades?pair=btc_idr&limit=50", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "base": "BTC", "pair": "btc_idr", "count": 50, "items": [ { "side": "buy", "price": 1317914000, "amount": 0.00015772, "tradeId": "72057594146822065", "tradedAt": 1787279328 }, { "side": "buy", "price": 1317914000, "amount": 0.00001114, "tradeId": "72057594146822053", "tradedAt": 1787279325 }, { "side": "buy", "price": 1317914000, "amount": 0.00075617, "tradeId": "72057594146822045", "tradedAt": 1787279319 }, { "side": "buy", "price": 1317914000, "amount": 0.03448426, "tradeId": "72057594146822039", "tradedAt": 1787279315 }, { "side": "buy", "price": 1317914000, "amount": 0.00017316, "tradeId": "72057594146822040", "tradedAt": 1787279315 }, { "side": "buy", "price": 1317914000, "amount": 0.00007619, "tradeId": "72057594146822041", "tradedAt": 1787279315 }, { "side": "buy", "price": 1317914000, "amount": 0.0000433, "tradeId": "72057594146822042", "tradedAt": 1787279315 }, { "side": "buy", "price": 1317914000, "amount": 0.03097794, "tradeId": "72057594146822043", "tradedAt": 1787279315 } ], "quote": "IDR", "exchange": "indodax" } ``` --- ### Pairs Tradable pairs with fees, precision and market status. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/finance:indodax/pairs` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `quote` | enum(all|idr|usdt) | query | no | Restrict to pairs quoted in this currency. Default all | | `search` | string | query | no | Filter by base symbol | **cURL:** ```bash curl "https://api.zapi.ink/v1/finance:indodax/pairs?quote=idr&search=btc" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/finance:indodax/pairs?quote=idr&search=btc", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/finance:indodax/pairs?quote=idr&search=btc", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 493, "items": [ { "base": "BTC", "logo": "https://indodax.com/v2/logo/svg/color/btc.svg", "pair": "btc_idr", "quote": "IDR", "suspended": false, "coingeckoId": "bitcoin", "compactPair": "btcidr", "description": "BTC/IDR", "minOrderBase": 0.00000759, "minOrderQuote": 10000, "pricePrecision": 1000, "coinmarketcapId": 1, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false }, { "base": "1INCH", "logo": "https://indodax.com/v2/logo/svg/color/oneinch.svg", "pair": "1inch_idr", "quote": "IDR", "suspended": false, "coingeckoId": "1inch", "compactPair": "1inchidr", "description": "1INCH/IDR", "minOrderBase": 6.4808814, "minOrderQuote": 10000, "pricePrecision": 1, "coinmarketcapId": 8104, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false }, { "base": "AAVE", "logo": "https://indodax.com/v2/logo/svg/color/lend.svg", "pair": "aave_idr", "quote": "IDR", "suspended": false, "coingeckoId": "aave", "compactPair": "aaveidr", "description": "AAVE/IDR", "minOrderBase": 0.00561799, "minOrderQuote": 10000, "pricePrecision": 1, "coinmarketcapId": 7278, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false }, { "base": "AAPLX", "logo": "https://indodax.com/v2/logo/svg/color/aaplx.svg", "pair": "aaplx_idr", "quote": "IDR", "suspended": false, "coingeckoId": "apple-xstock", "compactPair": "aaplxidr", "description": "AAPLX/IDR", "minOrderBase": 0.00179066, "minOrderQuote": 10000, "pricePrecision": 1, "coinmarketcapId": 36994, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false }, { "base": "AB", "logo": "https://indodax.com/v2/logo/svg/color/ab.svg", "pair": "ab_idr", "quote": "IDR", "suspended": false, "coingeckoId": "newton-project", "compactPair": "abidr", "description": "AB/IDR", "minOrderBase": 476.19047619, "minOrderQuote": 10000, "pricePrecision": 0.001, "coinmarketcapId": 3871, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false }, { "base": "ACE", "logo": "https://indodax.com/v2/logo/svg/color/ace.svg", "pair": "ace_idr", "quote": "IDR", "suspended": false, "coingeckoId": "endurance", "compactPair": "aceidr", "description": "ACE/IDR", "minOrderBase": 2.42013553, "minOrderQuote": 10000, "pricePrecision": 1, "coinmarketcapId": 28674, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false }, { "base": "ACH", "logo": "https://indodax.com/v2/logo/svg/color/ach.svg", "pair": "ach_idr", "quote": "IDR", "suspended": false, "coingeckoId": "alchemy-pay", "compactPair": "achidr", "description": "ACH/IDR", "minOrderBase": 126.58227848, "minOrderQuote": 10000, "pricePrecision": 1, "coinmarketcapId": 6958, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false }, { "base": "ACN", "logo": "https://indodax.com/v2/logo/svg/color/acn.svg", "pair": "acn_idr", "quote": "IDR", "suspended": false, "coingeckoId": "solidus-aitech", "compactPair": "acnidr", "description": "ACN/IDR", "minOrderBase": 117.42602161, "minOrderQuote": 10000, "pricePrecision": 0.001, "coinmarketcapId": 19055, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false } ], "quote": "idr", "exchange": "indodax" } ``` --- ### Klines Indodax OHLCV candles, from the TradingView UDF datafeed the market page uses. - **Method:** `GET` - **Endpoint:** `https://api.zapi.ink/v1/finance:indodax/klines` - **Cache TTL:** 30s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `pair` | string | query | yes | Trading pair. Accepts btc_idr, btcidr or BTC/IDR. Quote currency must be IDR or USDT | | `tf` | string | query | no | Candle size: whole minutes (1, 5, 15, 30, 60, 120, 240) or 1D, 3D, 1W. Default 15 | | `from` | string | query | no | Window start. Epoch seconds/ms or ISO date. Default 200 candles before `to` | | `to` | string | query | no | Window end. Epoch seconds/ms or ISO date. Default now | | `limit` | number | query | no | Keep only the newest N candles of the window. Default all | **cURL:** ```bash curl "https://api.zapi.ink/v1/finance:indodax/klines?pair=btc_idr&tf=15&from=2026-07-01T00%3A00%3A00Z&to=2026-08-01T00%3A00%3A00Z&limit=500" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zapi.ink/v1/finance:indodax/klines?pair=btc_idr&tf=15&from=2026-07-01T00%3A00%3A00Z&to=2026-08-01T00%3A00%3A00Z&limit=500", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zapi.ink/v1/finance:indodax/klines?pair=btc_idr&tf=15&from=2026-07-01T00%3A00%3A00Z&to=2026-08-01T00%3A00%3A00Z&limit=500", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "tf": "15", "to": 1787279330, "base": "BTC", "from": 1787099330, "pair": "btc_idr", "count": 201, "items": [ { "low": 1150916000, "date": "2026-08-19T00:15:00.000Z", "high": 1151002000, "open": 1151002000, "close": 1150916000, "volume": 0.1083018, "openTime": 1787098500000, "closeTime": 1787099399999 }, { "low": 1148534000, "date": "2026-08-19T00:30:00.000Z", "high": 1150918000, "open": 1150918000, "close": 1149245000, "volume": 0.10019917, "openTime": 1787099400000, "closeTime": 1787100299999 }, { "low": 1148025000, "date": "2026-08-19T00:45:00.000Z", "high": 1148983000, "open": 1148539000, "close": 1148153000, "volume": 0.09220108, "openTime": 1787100300000, "closeTime": 1787101199999 }, { "low": 1145907000, "date": "2026-08-19T01:00:00.000Z", "high": 1148331000, "open": 1148024000, "close": 1148242000, "volume": 0.53834921, "openTime": 1787101200000, "closeTime": 1787102099999 }, { "low": 1147744000, "date": "2026-08-19T01:15:00.000Z", "high": 1147984000, "open": 1147745000, "close": 1147824000, "volume": 0.26493121, "openTime": 1787102100000, "closeTime": 1787102999999 }, { "low": 1145908000, "date": "2026-08-19T01:30:00.000Z", "high": 1148241000, "open": 1147745000, "close": 1146060000, "volume": 0.2205319, "openTime": 1787103000000, "closeTime": 1787103899999 }, { "low": 1146014000, "date": "2026-08-19T01:45:00.000Z", "high": 1146055000, "open": 1146055000, "close": 1146055000, "volume": 0.10137007, "openTime": 1787103900000, "closeTime": 1787104799999 }, { "low": 1146014000, "date": "2026-08-19T02:00:00.000Z", "high": 1146055000, "open": 1146055000, "close": 1146054000, "volume": 0.03404333, "openTime": 1787104800000, "closeTime": 1787105699999 } ], "quote": "IDR", "total": 201, "dataset": "klines", "provider": "indodax" } ``` --- _Generated: 2026-09-25T14:30:13.954Z_