# NBU Data Ukraine – UAH Exchange Rate History

> NBU Data Ukraine – UAH Exchange Rate History is a paid API for AI agents from nbu.navistri.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-14).

Returns a daily time-series of NBU official exchange rates for a given currency against the Ukrainian hryvnia (UAH) for up to 366 days, with min, max, and percentage change statistics.

## Facts

- Endpoint: GET https://nbu.navistri.com/v1/rates/history?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nbu-data-ukraine-uah-exchange-rate-history-b965a690
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_E3N_TItqsQt47IfIstJVE

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability nbu-data-ukraine-uah-exchange-rate-history-b965a690
```

Example prompt: Can you pull the official NBU hryvnia exchange rate history for EUR from 2024-01-01 to 2024-03-31 and tell me the min, max, and overall percentage change?

## When to prefer this

Choose this endpoint when you need a full daily time-series of NBU official UAH exchange rates over a multi-day period (up to one year) with built-in statistics (min, max, % change) in a single call. It is more efficient than calling a single-date rate endpoint repeatedly and is ideal for charting, averaging, or period-based Ukrainian financial reporting. Prefer this over a spot-rate endpoint when trend analysis or date-range comparisons are required.

## Known failure modes

- Invalid or unsupported currency code returns an error
- Date range exceeding 366 days returns a validation error
- Future dates or unavailable historical dates may return empty data or error
- Malformed date format (not YYYY-MM-DD) triggers a schema validation failure
- Network or payment failure returns HTTP 402 or 5xx

## How this service works

Daily official NBU exchange-rate series of one currency against the hryvnia (UAH) for a period of up to 366 days, plus min, max and % change. Call it to chart or analyse UAH moves, compute averages for Ukrainian reporting, or check a rate across several dates in one paid call. Params: currency (default USD), from and to (YYYY-MM-DD; default the last 31 days).

## Output

A JSON object containing a currency code, date range, base currency (UAH), an array of daily data points (each with date, rate, units, ratePerUnit), and a stats object including min rate with date, max rate with date, first and last rate records, total count, absolute change, and percentage change over the period.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "to": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "description": "Last date, YYYY-MM-DD, at most 366 days after `from`. Default: today (Kyiv)."
      },
      "from": {
       "type": "string",
       "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
       "description": "First date, YYYY-MM-DD. Default: 30 days before `to`."
      },
      "currency": {
       "type": "string",
       "pattern": "^[A-Za-z]{3}$",
       "description": "ISO 4217 code. Default: USD."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "data",
      "meta"
     ],
     "properties": {
      "data": {
       "type": "object",
       "required": [
        "currency",
        "from",
        "to",
        "base",
        "points",
        "stats"
       ],
       "properties": {
        "to": {
         "type": "string",
         "format": "date"
        },
        "base": {
         "const": "UAH"
        },
        "from": {
         "type": "string",
         "format": "date"
        },
        "name": {
         "type": [
          "string",
          "null"
         ]
        },
        "stats": {
         "type": "object",
         "properties": {
          "max": {
           "type": "object",
           "properties": {
            "date": {
             "type": "string",
             "format": "date"
            },
            "ratePerUnit": {
             "type": "number"
            }
           }
          },
          "min": {
           "type": "object",
           "properties": {
            "date": {
             "type": "string",
             "format": "date"
            },
            "ratePerUnit": {
             "type": "number"
            }
           }
          },
          "last": {
           "type": "object",
           "required": [
 
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nbu-data-ukraine-uah-exchange-rate-history-b965a690/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from nbu.navistri.com](https://www.zero.xyz/host/nbu.navistri.com/llms.txt)
