# bitbank Exchange API
> Live spot market data from bitbank, a major Japanese crypto exchange, served straight from its public order books — no key on the data, nothing cached, nothing stored. Look up any market for its last price, best bid/ask and spread, 24h open/high/low, 24h change and base/quote volume; rank every market for a quote currency (Japanese yen JPY, or BTC) by 24h turnover; list the tradable pairs with their base and quote; or pull live order-book depth with the running spread. Markets are addressed BASE_QUOTE (BTC_JPY). This is the bitbank venue specifically — a distinct Japanese-yen price feed, ideal for JPY price discovery and Japan-market arbitrage, separate from the USD/USDT-quoted exchange APIs in the catalogue.

## 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/bitbank-api/..."
```

## Pricing
- **Free** (Free) — 22,500 calls/Mo, 3 req/s
- **Starter** ($9/Mo) — 295,000 calls/Mo, 10 req/s
- **Growth** ($27/Mo) — 1,270,000 calls/Mo, 25 req/s
- **Scale** ($61/Mo) — 4,250,000 calls/Mo, 50 req/s

## Endpoints

### Ticker

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

**Parameters:**
- `market` (query, optional, string) — Market as BTC_JPY Example: `BTC_JPY`
- `base` (query, optional, string) — Base asset (with quote=) Example: `ETH`
- `quote` (query, optional, string) — Quote asset Example: `JPY`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/bitbank-api/v1/ticker?market=BTC_JPY&base=ETH&quote=JPY"
```

**Response:**
```json
{
    "data": {
        "ask": 10070867,
        "bid": 10070286,
        "base": "BTC",
        "last": 10070867,
        "quote": "JPY",
        "market": "BTC_JPY",
        "source": "bitbank",
        "spread": 581,
        "low_24h": 9700000,
        "high_24h": 10111679,
        "open_24h": 9901058,
        "change_24h": 169809,
        "change_24h_pct": 1.7151,
        "base_volume_24h": 207.6899,
        "quote_volume_24h": 2091617360.14
    },
    "meta": {
        "timestamp": "2026-06-11T07:48:32.067Z",
        "request_id": "b186cdd1-036f-47cc-aa12-3ced4ec4e447"
    },
    "status": "ok",
    "message": "Ticker retrieved successfully",
    "success": true
}
```

### Tickers

#### `GET /v1/tickers` — All markets for a quote ranked by 24h turnover

**Parameters:**
- `quote` (query, optional, string) — Quote asset Example: `JPY`
- `limit` (query, optional, string) — Max results (1-400) Example: `50`

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

**Response:**
```json
{
    "data": {
        "count": 47,
        "quote": "JPY",
        "source": "bitbank",
        "tickers": [
            {
                "ask": 10070867,
                "bid": 10070286,
                "base": "BTC",
                "last": 10070867,
                "quote": "JPY",
                "market": "BTC_JPY",
                "spread": 581,
                "low_24h": 9700000,
                "high_24h": 10111679,
                "open_24h": 9901058,
                "change_24h": 169809,
                "change_24h_pct": 1.7151,
                "base_volume_24h": 207.6899,
                "quote_volume_24h": 2091617360.14
            },
            {
                "ask": 178.951,
                "bid": 178.91,
                "base": "XRP",
                "last": 178.959,
                "quote": "JPY",
                "market": "XRP_JPY",
                "spread": 0.041,
                "low_24h": 175,
                "high_24h": 182.77,
                "open_24h": 179.458,
                "change_24h": -0.499,
                "change_24h_pct": -0.2781,
                "base_volume_24h": 7847012.6548,
                "quote_volume_24h": 1404293537.69
            },
            {
                "ask": 265501,
                "bid": 265500,
                "base": "ETH",
                "last": 265374,
                "quote": "JPY",
                "market": "ETH_JPY",
                "spread": 1,
                "low_24h": 257735,
                "high_24h": 
…(truncated, see openapi.json for full schema)
```

### Markets

#### `GET /v1/markets` — Tradable pairs with base/quote

**Parameters:**
- `quote` (query, optional, string) — Filter by quote asset Example: `JPY`

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

**Response:**
```json
{
    "data": {
        "count": 47,
        "quote": "JPY",
        "source": "bitbank",
        "markets": [
            {
                "base": "ADA",
                "quote": "JPY",
                "market": "ADA_JPY"
            },
            {
                "base": "APE",
                "quote": "JPY",
                "market": "APE_JPY"
            },
            {
                "base": "ARB",
                "quote": "JPY",
                "market": "ARB_JPY"
            },
            {
                "base": "ASTR",
                "quote": "JPY",
                "market": "ASTR_JPY"
            },
            {
                "base": "ATOM",
                "quote": "JPY",
                "market": "ATOM_JPY"
            },
            {
                "base": "AVAX",
                "quote": "JPY",
                "market": "AVAX_JPY"
            },
            {
                "base": "AXS",
                "quote": "JPY",
                "market": "AXS_JPY"
            },
            {
                "base": "BAT",
                "quote": "JPY",
                "market": "BAT_JPY"
            },
            {
                "base": "BCC",
                "quote": "JPY",
                "market": "BCC_JPY"
            },
            {
                "base": "BNB",
                "quote": "JPY",
                "market": "BNB_JPY"
            },
            {
                "base": "BOBA",
                "quote": "JPY",
                "market":
…(truncated, see openapi.json for full schema)
```

### Book

#### `GET /v1/book` — Live order-book depth with running spread

**Parameters:**
- `market` (query, optional, string) — Market as BTC_JPY Example: `BTC_JPY`
- `limit` (query, optional, string) — Depth per side (1-100) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/bitbank-api/v1/book?market=BTC_JPY&limit=20"
```

**Response:**
```json
{
    "data": {
        "asks": [
            {
                "price": 10070867,
                "amount": 0.3112
            },
            {
                "price": 10072269,
                "amount": 0.0045
            },
            {
                "price": 10072537,
                "amount": 0.0194
            },
            {
                "price": 10072743,
                "amount": 0.6087
            },
            {
                "price": 10072744,
                "amount": 0.014
            },
            {
                "price": 10073034,
                "amount": 0.0016
            },
            {
                "price": 10073035,
                "amount": 0.0063
            },
            {
                "price": 10073063,
                "amount": 0.0315
            },
            {
                "price": 10073737,
                "amount": 0.003
            },
            {
                "price": 10074143,
                "amount": 0.0429
            },
            {
                "price": 10074306,
                "amount": 0.003
            },
            {
                "price": 10074778,
                "amount": 0.0429
            },
            {
                "price": 10075099,
                "amount": 0.0429
            },
            {
                "price": 10075537,
                "amount": 0.0002
            },
            {
                "price": 10077052,
                "amount": 0.0595
            },
            {

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

### Meta

#### `GET /v1/meta` — Service metadata

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

**Response:**
```json
{
    "data": {
        "note": "Markets are BASE_QUOTE (BTC_JPY). The default quote is the Japanese yen (JPY). bitbank reports base volume only; quote_volume_24h is derived as vol × last. The 24h change is derived from the day's open.",
        "source": "bitbank public API (public.bitbank.cc, live)",
        "service": "bitbank-api",
        "endpoints": {
            "GET /v1/book": "Live order-book depth — best bid/ask and spread (market=BTC_JPY, limit=20).",
            "GET /v1/meta": "This document.",
            "GET /v1/ticker": "Ticker for one market (market=BTC_JPY or base=BTC&quote=JPY).",
            "GET /v1/markets": "Tradable pairs with base/quote (quote=JPY optional).",
            "GET /v1/tickers": "All markets for a quote ranked by 24h turnover (quote=JPY, limit=50)."
        },
        "description": "Live spot market data from bitbank, a major Japanese crypto exchange. The ticker endpoint returns a market's last price, best bid/ask, 24h open/high/low, 24h change and base/quote volume; the tickers endpoint ranks every market for a quote currency (JPY or BTC) by 24h turnover; the markets endpoint lists tradable pairs with base/quote; the book endpoint returns live order-book depth. Live, no key, nothing stored. A distinct Japanese-yen venue for JPY price discovery, separate from the USD/USDT-quoted exchange feeds.",
        "market_count": 62,
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-11T07:48:34.991Z",
        "
…(truncated, see openapi.json for full schema)
```


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