# National Bank of Kazakhstan API
> Live official exchange-rate data from the National Bank of the Republic of Kazakhstan (NBK), the central bank of Kazakhstan, for the tenge (KZT) — each rate with its direction (rose or fell) and the day's change: the NBK official rate for every published currency (normalised to one unit) with the day's change and direction, a single currency's tenge-per-unit rate and inverse plus change, a currency's official rate on a specific past date, and currency conversion between any two published currencies (including KZT) cross-computed through the tenge.

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

## Pricing
- **Free** (Free) — 12,000 calls/Mo, 3 req/s
- **Basic** ($6/Mo) — 167,000 calls/Mo, 8 req/s
- **Pro** ($20/Mo) — 1,040,000 calls/Mo, 15 req/s
- **Scale** ($46/Mo) — 5,500,000 calls/Mo, 35 req/s

## Endpoints

### Rates

#### `GET /v1/rate` — One currency tenge-per-unit rate, inverse, change and direction

**Parameters:**
- `currency` (query, required, string) — 3-letter ISO currency code Example: `USD`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nbk-api/v1/rate?currency=USD"
```

**Response:**
```json
{
    "data": {
        "base": "KZT",
        "date": "2026-06-10",
        "name": "ДОЛЛАР США",
        "change": 5.43,
        "source": "National Bank of Kazakhstan",
        "nominal": 1,
        "currency": "USD",
        "direction": "up",
        "kzt_per_unit": 490.21,
        "unit_per_kzt": 0.00203994
    },
    "meta": {
        "timestamp": "2026-06-10T14:00:05.229Z",
        "request_id": "1cf420fe-afba-4b93-afe4-886afc7ef10a"
    },
    "status": "ok",
    "message": "Rate retrieved successfully",
    "success": true
}
```

#### `GET /v1/rates` — NBK official rate for every currency vs the tenge

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

**Response:**
```json
{
    "data": {
        "base": "KZT",
        "date": "2026-06-10",
        "count": 39,
        "rates": [
            {
                "name": "ДИРХАМ ОАЭ",
                "rate": 133.47,
                "change": 1.47,
                "nominal": 1,
                "currency": "AED",
                "direction": "up",
                "kzt_per_unit": 133.47
            },
            {
                "name": "АРМЯНСКИЙ ДРАМ",
                "rate": 13.39,
                "change": 0.14,
                "nominal": 10,
                "currency": "AMD",
                "direction": "up",
                "kzt_per_unit": 1.339
            },
            {
                "name": "АВСТРАЛИЙСКИЙ ДОЛЛАР",
                "rate": 345.89,
                "change": 3.73,
                "nominal": 1,
                "currency": "AUD",
                "direction": "up",
                "kzt_per_unit": 345.89
            },
            {
                "name": "АЗЕРБАЙДЖАНСКИЙ МАНАТ",
                "rate": 289.21,
                "change": 3.2,
                "nominal": 1,
                "currency": "AZN",
                "direction": "up",
                "kzt_per_unit": 289.21
            },
            {
                "name": "БРАЗИЛЬСКИЙ РЕАЛ",
                "rate": 94.41,
                "change": 0.67,
                "nominal": 1,
                "currency": "BRL",
                "direction
…(truncated, see openapi.json for full schema)
```

### History

#### `GET /v1/history` — A currency official rate on a specific past date

**Parameters:**
- `currency` (query, required, string) — 3-letter ISO currency code Example: `USD`
- `date` (query, required, string) — Date YYYY-MM-DD Example: `2026-05-15`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nbk-api/v1/history?currency=USD&date=2026-05-15"
```

**Response:**
```json
{
    "data": {
        "base": "KZT",
        "date": "2026-05-15",
        "name": "ДОЛЛАР США",
        "change": 6.41,
        "source": "National Bank of Kazakhstan",
        "nominal": 1,
        "currency": "USD",
        "direction": "up",
        "kzt_per_unit": 474.04,
        "unit_per_kzt": 0.00210953
    },
    "meta": {
        "timestamp": "2026-06-10T14:00:05.835Z",
        "request_id": "c7ba09b8-4557-430c-8a7d-96a63c53fd22"
    },
    "status": "ok",
    "message": "History retrieved successfully",
    "success": true
}
```

### Convert

#### `GET /v1/convert` — Convert an amount between two currencies at NBK rates

**Parameters:**
- `from` (query, required, string) — Source currency Example: `USD`
- `to` (query, required, string) — Target currency Example: `EUR`
- `amount` (query, optional, string) — Amount to convert Example: `100`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/nbk-api/v1/convert?from=USD&to=EUR&amount=100"
```

**Response:**
```json
{
    "data": {
        "to": "EUR",
        "date": "2026-06-10",
        "from": "USD",
        "rate": 0.86467465,
        "amount": 100,
        "result": 86.467465,
        "source": "National Bank of Kazakhstan",
        "kzt_per_to": 566.93,
        "kzt_per_from": 490.21
    },
    "meta": {
        "timestamp": "2026-06-10T14:00:06.152Z",
        "request_id": "ad8b0806-1608-4e44-99b9-5e9145246ad6"
    },
    "status": "ok",
    "message": "Conversion completed successfully",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "source": "National Bank of Kazakhstan rate feed (nationalbank.kz, live)",
        "service": "nbk-api",
        "usd_kzt": 490.21,
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/rate": "One currency's official rate, tenge-per-unit and inverse, plus change (currency=USD).",
            "GET /v1/rates": "The NBK official rate for every currency vs the tenge, with change and direction.",
            "GET /v1/convert": "Convert an amount between two currencies at NBK rates (from=USD, to=EUR, amount=100).",
            "GET /v1/history": "A currency's official rate on a specific past date (currency=USD, date=2026-05-15)."
        },
        "description": "Live official exchange-rate data from the National Bank of the Republic of Kazakhstan (NBK), the central bank of Kazakhstan, for the tenge (KZT), via its public rate feed — each rate with its direction (rose or fell) and the day's change. The rates endpoint returns the NBK's official rate for every published currency against the tenge, normalised to one unit, with the day's change and direction; the rate endpoint returns a single currency's official rate (tenge-per-unit and the inverse) plus the change; the history endpoint returns a currency's official rate on a specific past date; the convert endpoint converts an amount between any two published currencies (including KZT) at the NBK's official rates, cross-computed through the tenge. Live, no key, nothing st
…(truncated, see openapi.json for full schema)
```


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