# Indodax API
> Live spot market data from Indodax, Indonesia's largest crypto exchange and the biggest in South-East Asia — served straight from its public API, no key, nothing cached. Get a pair's last price, buy/sell, 24h high/low and base/quote volume (in Indonesian rupiah, USDT or Bitcoin); list every pair for a quote currency with its name and 24h change, ranked by quote volume; browse the 500+ trading pairs; and read the most recent executed trades (price, amount, side). A distinct South-East-Asian venue with rupiah pricing, separate from other exchange feeds.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/indodax-api/..."
```

## Pricing
- **Free** (Free) — 3,550 calls/Mo, 2 req/s
- **Starter** ($8/Mo) — 79,000 calls/Mo, 6 req/s
- **Pro** ($22/Mo) — 415,000 calls/Mo, 15 req/s
- **Business** ($54/Mo) — 2,620,000 calls/Mo, 40 req/s

## Endpoints

### Indodax

#### `GET /v1/meta` — Service metadata and endpoint list

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/indodax-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "source": "Indodax API (indodax.com/api, live)",
        "service": "indodax-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/pairs": "List trading pairs (quote=idr optional).",
            "GET /v1/ticker": "Ticker for one pair (pair=btcidr or symbol=btc&quote=idr).",
            "GET /v1/trades": "Most recent executed trades for a pair (pair=btcidr, limit=20).",
            "GET /v1/tickers": "All pairs for a quote with name and 24h change, ranked by volume (quote=idr, limit=50)."
        },
        "pair_count": 521,
        "description": "Live spot market data from Indodax, Indonesia's largest crypto exchange and the biggest in South-East Asia. The ticker endpoint returns a pair's last price, buy/sell, 24h high/low and base/quote volume (in Indonesian rupiah, USDT or Bitcoin); the tickers endpoint returns every pair for a quote currency with its name and 24h change, ranked by quote volume; the pairs endpoint lists 500+ trading pairs; the trades endpoint returns the most recent executed trades. Live, no key, nothing stored. A distinct South-East-Asian venue with rupiah pricing, separate from other exchange feeds.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-10T22:56:22.695Z",
        "request_id": "c57357a0-1f19-4124-b9d3-9c735d9f3dea"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```

#### `GET /v1/pairs` — List trading pairs

**Parameters:**
- `quote` (query, optional, string) — Filter by quote currency e.g. idr (omit for all) Example: `idr`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/indodax-api/v1/pairs?quote=idr"
```

**Response:**
```json
{
    "data": {
        "count": 507,
        "pairs": [
            {
                "base": "idr",
                "pair": "btc_idr",
                "symbol": "BTCIDR",
                "traded": "btc",
                "traded_name": "BTC",
                "is_maintenance": false
            },
            {
                "base": "idr",
                "pair": "1inch_idr",
                "symbol": "1INCHIDR",
                "traded": "1inch",
                "traded_name": "1INCH",
                "is_maintenance": false
            },
            {
                "base": "idr",
                "pair": "aave_idr",
                "symbol": "AAVEIDR",
                "traded": "aave",
                "traded_name": "AAVE",
                "is_maintenance": false
            },
            {
                "base": "idr",
                "pair": "aaplx_idr",
                "symbol": "AAPLXIDR",
                "traded": "aaplx",
                "traded_name": "AAPLX",
                "is_maintenance": false
            },
            {
                "base": "idr",
                "pair": "ab_idr",
                "symbol": "ABIDR",
                "traded": "ab",
                "traded_name": "AB",
                "is_maintenance": false
            },
            {
                "base": "idr",
                "pair": "ace_idr",
                "symbol": "ACEIDR",
                "traded": "ace",
                "traded_name": "ACE",
                "is_maintenanc
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/ticker` — Ticker for one pair

**Parameters:**
- `pair` (query, required, string) — Pair id traded+base (or use symbol & quote) Example: `btcidr`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/indodax-api/v1/ticker?pair=btcidr"
```

**Response:**
```json
{
    "data": {
        "buy": 1110311000,
        "low": 1100112000,
        "high": 1132000000,
        "last": 1110312000,
        "pair": "btcidr",
        "sell": 1110312000,
        "source": "Indodax",
        "volumes": {
            "btc": 23.64785831,
            "idr": 26270311257
        },
        "server_time": 1781132183
    },
    "meta": {
        "timestamp": "2026-06-10T22:56:23.780Z",
        "request_id": "defc7d95-6cae-4a1c-b4b0-f5687cda47ef"
    },
    "status": "ok",
    "message": "Ticker retrieved successfully",
    "success": true
}
```

#### `GET /v1/tickers` — All pairs for a quote with name and 24h change

**Parameters:**
- `quote` (query, optional, string) — Quote currency e.g. idr (default idr) Example: `idr`
- `limit` (query, optional, string) — Max results 1-300 (default 50) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/indodax-api/v1/tickers?quote=idr&limit=50"
```

**Response:**
```json
{
    "data": {
        "count": 50,
        "quote": "idr",
        "total": 507,
        "source": "Indodax",
        "tickers": [
            {
                "low": 17910,
                "high": 18076,
                "last": 18060,
                "name": "Tether USDt",
                "pair": "usdtidr",
                "volume_base": 7704191.25682072,
                "volume_quote": 138721597416,
                "change_24h_pct": 0.4673
            },
            {
                "low": 1100112000,
                "high": 1132000000,
                "last": 1110312000,
                "name": "Bitcoin",
                "pair": "btcidr",
                "volume_base": 23.64785831,
                "volume_quote": 26270311257,
                "change_24h_pct": -0.1556
            },
            {
                "low": 370.713,
                "high": 443.228,
                "last": 383.8,
                "name": "Pippin",
                "pair": "pippinidr",
                "volume_base": 49544261,
                "volume_quote": 20409546319,
                "change_24h_pct": -7.7701
            },
            {
                "low": 950800,
                "high": 1060150,
                "last": 964867,
                "name": "Hyperliquid",
                "pair": "hypeidr",
                "volume_base": 16155.72490756,
                "volume_quote": 16295292428,
                "change_24h_pct": -7.0842
            },
            {
                "low": 3020,

…(truncated, see openapi.json for full schema)
```

#### `GET /v1/trades` — Most recent executed trades for a pair

**Parameters:**
- `pair` (query, required, string) — Pair id traded+base Example: `btcidr`
- `limit` (query, optional, string) — Max trades 1-100 (default 20) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/indodax-api/v1/trades?pair=btcidr&limit=20"
```

**Response:**
```json
{
    "data": {
        "pair": "btcidr",
        "count": 20,
        "source": "Indodax",
        "trades": [
            {
                "id": "72057594142085528",
                "side": "buy",
                "time": 1781132167,
                "price": 1110312000,
                "amount": 8.96e-6
            },
            {
                "id": "72057594142085516",
                "side": "buy",
                "time": 1781132151,
                "price": 1110745000,
                "amount": 8.96e-6
            },
            {
                "id": "72057594142085493",
                "side": "sell",
                "time": 1781132134,
                "price": 1110745000,
                "amount": 9.0e-6
            },
            {
                "id": "72057594142085490",
                "side": "buy",
                "time": 1781132130,
                "price": 1111816000,
                "amount": 8.95e-6
            },
            {
                "id": "72057594142085486",
                "side": "buy",
                "time": 1781132129,
                "price": 1111817000,
                "amount": 8.95e-6
            },
            {
                "id": "72057594142085418",
                "side": "buy",
                "time": 1781132086,
                "price": 1110312000,
                "amount": 7.699e-5
            },
            {
                "id": "72057594142085419",
                "side": "buy",
                "time": 1781132086,
   
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/indodax-api
OpenAPI spec: https://www.oanor.com/api/indodax-api/openapi.json
