# Gemini Exchange API
> Live market data from Gemini, the US-regulated crypto exchange founded by the Winklevoss twins, served straight from its public API — no key, nothing cached. The ticker endpoint returns a pair's snapshot — open, high, low and last price, best bid and ask, and the 24-hour percentage change — plus Gemini's distinctive hourly_changes array, the last 24 hourly prices, which lets you draw an intraday sparkline from a single call. The prices endpoint returns every Gemini pair in one call with its price and 24-hour change — the whole board at once. The orderbook endpoint returns the top of the order book with the spread. The trades endpoint returns the live trade tape, the most recent executed trades with price, amount, side and time. Everything is Gemini's live venue data from a regulated US exchange, nothing stored. This is the Gemini price, intraday-history and tape layer for any trading, charting or market-data app. Distinct from Coinbase, Bitstamp, OKX, Gate.io and Kraken venue APIs and from aggregated feeds — this is Gemini's own order book, tape and hourly price history. 4 endpoints, no key on our side, real-time.

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

## Pricing
- **Free** (Free) — 5,000 calls/Mo, 5 req/s
- **Starter** ($11/Mo) — 122,000 calls/Mo, 12 req/s
- **Pro** ($31/Mo) — 760,000 calls/Mo, 30 req/s
- **Mega** ($72/Mo) — 4,100,000 calls/Mo, 80 req/s

## Endpoints

### Gemini

#### `GET /v1/orderbook` — Top of order book

**Parameters:**
- `symbol` (query, required, string) — Gemini symbol Example: `ethusd`
- `depth` (query, optional, string) — Levels per side (max 100) Example: `10`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/gemini-api/v1/orderbook?symbol=ethusd&depth=10"
```

**Response:**
```json
{
    "data": {
        "asks": [
            {
                "price": 1655.49,
                "amount": 38.524788
            },
            {
                "price": 1655.83,
                "amount": 0.1151
            },
            {
                "price": 1656.04,
                "amount": 0.1151
            },
            {
                "price": 1656.37,
                "amount": 30.88563
            },
            {
                "price": 1656.38,
                "amount": 0.0493
            },
            {
                "price": 1656.54,
                "amount": 0.0658
            },
            {
                "price": 1656.55,
                "amount": 0.0493
            },
            {
                "price": 1656.85,
                "amount": 8.206406
            },
            {
                "price": 1656.86,
                "amount": 0.1151
            },
            {
                "price": 1656.87,
                "amount": 7.442
            }
        ],
        "bids": [
            {
                "price": 1655.48,
                "amount": 0.1151
            },
            {
                "price": 1655.29,
                "amount": 0.730175
            },
            {
                "price": 1655.16,
                "amount": 0.0493
            },
            {
                "price": 1655.03,
                "amount": 0.0658
            },
            {
                "price": 1654.95,
                "amount": 1.045237
   
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/prices` — All pairs in one call

**Parameters:**
- `sort` (query, optional, string) — change (sort by 24h % change) Example: `change`
- `limit` (query, optional, string) — Max rows

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/gemini-api/v1/prices?sort=change"
```

**Response:**
```json
{
    "data": {
        "sort": "change",
        "count": 347,
        "prices": [
            {
                "pair": "ALIUSD",
                "price": 0.001454,
                "change_24h_pct": 2.54
            },
            {
                "pair": "ALIUSDC",
                "price": 0.001454,
                "change_24h_pct": 2.54
            },
            {
                "pair": "ALIGUSD",
                "price": 0.001454,
                "change_24h_pct": 2.54
            },
            {
                "pair": "ALIRLUSD",
                "price": 0.001454,
                "change_24h_pct": 2.54
            },
            {
                "pair": "LTCBTC",
                "price": 0.0006942,
                "change_24h_pct": 2.4
            },
            {
                "pair": "CRVGUSD",
                "price": 0.2034,
                "change_24h_pct": 1.9
            },
            {
                "pair": "CRVRLUSD",
                "price": 0.2034,
                "change_24h_pct": 1.9
            },
            {
                "pair": "CRVUSDC",
                "price": 0.2034,
                "change_24h_pct": 1.9
            },
            {
                "pair": "CRVUSD",
                "price": 0.2034,
                "change_24h_pct": 1.9
            },
            {
                "pair": "RNDRRLUSD",
                "price": 1.674,
                "change_24h_pct": 1.27
            },
            {
                "pair": "RNDRUSD",
 
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/ticker` — A pair ticker + 24 hourly prices

**Parameters:**
- `symbol` (query, required, string) — Gemini symbol (e.g. btcusd) Example: `btcusd`

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

**Response:**
```json
{
    "data": {
        "ask": 61970.2,
        "bid": 61970.19,
        "last": 61968.04,
        "source": "Gemini",
        "spread": 0.01,
        "symbol": "BTCUSD",
        "low_24h": 60736.12,
        "high_24h": 63839.77,
        "open_24h": 63266.84,
        "change_24h_pct": -2.0529,
        "hourly_changes": [
            63467.92,
            63725.83,
            63434.86,
            63066,
            62549.62,
            62740.41,
            62853.99,
            62851.91,
            63205.63,
            63318.41,
            63269.98,
            63163.34,
            62821.11,
            62691.35,
            62769.2,
            62680.63,
            62635.73,
            62221.89,
            61445.65,
            61093.29,
            61347.48,
            61636.52,
            61740.59,
            62054.72
        ]
    },
    "meta": {
        "timestamp": "2026-06-09T20:24:39.318Z",
        "request_id": "bc71ed36-7e3d-4bcd-a722-9452b1041ab1"
    },
    "status": "ok",
    "message": "Ticker retrieved successfully",
    "success": true
}
```

#### `GET /v1/trades` — Live trade tape

**Parameters:**
- `symbol` (query, required, string) — Gemini symbol Example: `btcusd`
- `limit` (query, optional, string) — Max trades (1-200, default 30) Example: `20`

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

**Response:**
```json
{
    "data": {
        "count": 20,
        "source": "Gemini",
        "symbol": "BTCUSD",
        "trades": [
            {
                "tid": 2840141008343216,
                "side": "buy",
                "time": "2026-06-09T20:24:36.805Z",
                "price": 61970.2,
                "amount": 7.988e-5
            },
            {
                "tid": 2840141008343212,
                "side": "buy",
                "time": "2026-06-09T20:24:34.150Z",
                "price": 61970.19,
                "amount": 0.00078718
            },
            {
                "tid": 2840141008343210,
                "side": "buy",
                "time": "2026-06-09T20:24:28.356Z",
                "price": 61970.4,
                "amount": 7.988e-5
            },
            {
                "tid": 2840141008343202,
                "side": "buy",
                "time": "2026-06-09T20:24:25.023Z",
                "price": 61970.19,
                "amount": 0.00066863
            },
            {
                "tid": 2840141008343194,
                "side": "buy",
                "time": "2026-06-09T20:24:21.707Z",
                "price": 61960.97,
                "amount": 0.0055
            },
            {
                "tid": 2840141008343189,
                "side": "buy",
                "time": "2026-06-09T20:24:08.334Z",
                "price": 61960,
                "amount": 0.09007941
            },
            {
                "tid": 2840141008343
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Spec

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

**Response:**
```json
{
    "data": {
        "source": "Gemini public API (live)",
        "service": "gemini-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/prices": "Every Gemini pair with price + 24h change (sort=change).",
            "GET /v1/ticker": "A pair's ticker + 24 hourly prices (symbol=btcusd).",
            "GET /v1/trades": "Live trade tape (symbol=btcusd, limit).",
            "GET /v1/orderbook": "Top of the order book with spread (symbol=btcusd, depth)."
        },
        "description": "Live market data from Gemini, the US-regulated crypto exchange, from its public API: a pair's ticker (open/high/low/last, bid/ask, 24h % change) plus Gemini's hourly_changes array of the last 24 hourly prices for an intraday sparkline from one call; every pair in one call with price and 24h change; the order book with spread; and the live trade tape. Live, no key, nothing stored. Distinct from Coinbase, Bitstamp, OKX, Gate.io and Kraken venue APIs and from aggregated feeds — this is Gemini's own order book, tape and hourly price history.",
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-09T20:24:39.756Z",
        "request_id": "4046d809-0e45-4626-8ad6-91a2642b0704"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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