# 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.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/finance/indodax - Endpoint catalog: https://zpi.web.id/category/finance - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## Indodax **Category:** finance ยท **Slug:** `indodax` **Detail page:** https://zpi.web.id/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.zpi.web.id/v1/finance:indodax/ticker` - **Cache TTL:** 300s **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.zpi.web.id/v1/finance:indodax/ticker?pair=btc_idr" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/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.zpi.web.id/v1/finance:indodax/ticker?pair=btc_idr", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "buy": 1130001000, "low": 1120402000, "base": "BTC", "high": 1134103000, "last": 1132299000, "pair": "btc_idr", "sell": 1132299000, "quote": "IDR", "exchange": "indodax", "serverTime": 1785635619, "volumeBase": 9.10396787, "volumeQuote": 10285330671 } ``` --- ### Tickers Every traded pair in one call, filterable. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:indodax/tickers` - **Cache TTL:** 300s **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.zpi.web.id/v1/finance:indodax/tickers?quote=idr&search=btc" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/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.zpi.web.id/v1/finance:indodax/tickers?quote=idr&search=btc", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 7, "items": [ { "buy": 1130001000, "low": 1120402000, "base": "BTC", "high": 1134103000, "last": 1132299000, "name": "Bitcoin", "pair": "btc_idr", "sell": 1132299000, "quote": "IDR", "serverTime": 1785635622, "volumeBase": 9.10396787, "volumeQuote": 10285330671 }, { "buy": 1424, "low": 1390, "base": "ARB", "high": 1433, "last": 1433, "name": "Arbitrum", "pair": "arb_idr", "sell": 1434, "quote": "IDR", "serverTime": 1785635622, "volumeBase": 56217.30209444, "volumeQuote": 79597914 }, { "buy": 3712000, "low": 3712000, "base": "BCH", "high": 3849000, "last": 3739000, "name": "Bitcoin Cash", "pair": "bch_idr", "sell": 3735000, "quote": "IDR", "serverTime": 1785635622, "volumeBase": 7.14706105, "volumeQuote": 26663541 }, { "buy": 30112, "low": 28692, "base": "BGB", "high": 32000, "last": 28697, "name": "Bitget Token", "pair": "bgb_idr", "sell": 31589, "quote": "IDR", "serverTime": 1785635622, "volumeBase": 221.97298938, "volumeQuote": 6778437 }, { "buy": 1, "low": 1, "base": "WTEC", "high": 2, "last": 1, "name": "World Trade Exhibition Center", "pair": "wtec_idr", "sell": 2, "quote": "IDR", "serverTime": 1785635622, "volumeBase": 3677019.87385714, "volumeQuote": 6498208 }, { "buy": 222000, "low": 221000, "base": "BSV", "high": 230000, "last": 221000, "name": "Bitcoin SV", "pair": "bsv_idr", "sell": 230000, "quote": "IDR", "serverTime": 1785635622, "volumeBase": 3.23899177, "volumeQuote": 728009 }, { "buy": 1130787074, "low": 1130787023, "base": "WBTC", "high": 1174910999, "last": 1130787073, "name": "Wrapped Bitcoin", "pair": "wbtc_idr", "sell": 1167673999, "quote": "IDR", "serverTime": 1785635622, "volumeBase": 0.00031826, "volumeQuote": 363220 } ], "quote": "idr", "exchange": "indodax" } ``` --- ### Order book Resting bids and asks for one pair. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:indodax/depth` - **Cache TTL:** 300s **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.zpi.web.id/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.zpi.web.id/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.zpi.web.id/v1/finance:indodax/depth?pair=btc_idr&limit=50", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "asks": [ { "price": 1132299000, "amount": 0.79041731 }, { "price": 1132300000, "amount": 1.01178843 }, { "price": 1132301000, "amount": 0.01173894 }, { "price": 1133192000, "amount": 0.0000486 }, { "price": 1133196000, "amount": 0.01646691 } ], "base": "BTC", "bids": [ { "price": 1130001000, "amount": 0.39559325 }, { "price": 1130000000, "amount": 0.09472588 }, { "price": 1129966000, "amount": 0.63653 }, { "price": 1129474000, "amount": 0.10193588 }, { "price": 1129017000, "amount": 0.02878554 } ], "pair": "btc_idr", "quote": "IDR", "spread": 2298000, "askCount": 5, "bidCount": 5, "exchange": "indodax" } ``` --- ### Trades The recently executed tape for one pair. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:indodax/trades` - **Cache TTL:** 300s **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.zpi.web.id/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.zpi.web.id/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.zpi.web.id/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": 5, "items": [ { "side": "buy", "price": 1132299000, "amount": 0.00005778, "tradeId": "72057594145352606", "tradedAt": 1785635604 }, { "side": "buy", "price": 1132299000, "amount": 0.00008925, "tradeId": "72057594145352596", "tradedAt": 1785635595 }, { "side": "sell", "price": 1130001000, "amount": 0.00045589, "tradeId": "72057594145352584", "tradedAt": 1785635584 }, { "side": "buy", "price": 1132299000, "amount": 0.00109906, "tradeId": "72057594145352577", "tradedAt": 1785635581 }, { "side": "sell", "price": 1130000000, "amount": 0.00032057, "tradeId": "72057594145352535", "tradedAt": 1785635545 } ], "quote": "IDR", "exchange": "indodax" } ``` --- ### Pairs Tradable pairs with fees, precision and market status. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:indodax/pairs` - **Cache TTL:** 300s **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.zpi.web.id/v1/finance:indodax/pairs?quote=idr&search=btc" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/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.zpi.web.id/v1/finance:indodax/pairs?quote=idr&search=btc", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 2, "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.00000885, "minOrderQuote": 10000, "pricePrecision": 1000, "coinmarketcapId": 1, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false }, { "base": "WBTC", "logo": "https://indodax.com/v2/logo/svg/color/wbtc.svg", "pair": "wbtc_idr", "quote": "IDR", "suspended": false, "coingeckoId": "wrapped-bitcoin", "compactPair": "wbtcidr", "description": "WBTC/IDR", "minOrderBase": 0.00000884, "minOrderQuote": 10000, "pricePrecision": 1, "coinmarketcapId": 3717, "depositDisabled": false, "makerFeePercent": 0.1, "takerFeePercent": 0.2, "volumePrecision": 0, "underMaintenance": false } ], "quote": "idr", "exchange": "indodax" } ``` --- _Generated: 2026-08-02T14:24:31.591Z_