Exchange rates API
We provide programmatic access to currency exchange rates of Ukraine and the world through a REST API: real-time interbank data, the cash market, fixing, NBU rates, bank cash desk rates, online bank rates, card rates and Forex.
To get an extended version of the API for ERP systems (SAP), online stores, contracts or other purposes, contact us through the feedback form. Tell us which rates you need and what for — we will offer the best cooperation option for your needs.
We provide:
- Real-time interbank rates based on large buy/sell deals
- Commercial rate (cash market monitoring)
- Cash and cashless fixing for contracts (the rate is fixed every day at the same time)
- NBU rates
- Cash desk rates of Ukrainian banks
- Online bank rates of Ukraine
- Card rates of Ukrainian banks
- Exchange office rates
- Forex rates
- Cryptocurrency rates
General information
Base URL
All methods are available at:
https://kurs.com.ua/api/{method}
Parameters can be passed either as a query string (?key=...&format=json) or as URL segments (/key/.../format/json) — both notations are equivalent.
Authorization
Every request must contain the key parameter — your personal access key. To get a key, contact us through the feedback form.
Response format
By default the response is returned in XML. Add the format=json parameter to get JSON.
Rate limits
The hourly number of requests is limited per method and depends on the terms of your key. When the limit is reached, error 401 is returned.
Errors
On error, the response contains the fields status: false and error with the reason.
400 |
invalid request parameters (unknown currency, city, etc.) |
401 |
hourly request limit reached, key expired or insufficient permissions |
403 |
invalid API key |
Response fields
bid |
buy rate — the organization buys currency at this rate |
ask |
sell rate — the organization sells currency at this rate |
bid_change, ask_change, change |
change of the value against the previous day |
value |
official rate (NBU, international market) |
rate |
currency pair rate (Forex) |
updated |
date and time of the last value update |
date |
date the data is returned for |
new / old |
fresh data updated today / data not updated today |
total, banks_total |
number of organizations in the selection |
avg / best |
average and best rate among the selected organizations |
trusted |
trust level of the data source |
translit |
transliterated key used in request parameters |
nal / beznal |
cash / cashless fixing |
CURRENT / PREVIOUS |
chart points for the current and previous trading day |
The key and format parameters are common to all methods and are not repeated in the tables.
Summary rates
/api/summary_info
A summary of current rates for the selected city or region in one request: average and best bank rates, cash market, interbank, NBU, Visa/Mastercard, Forex and fixing.
| Parameter | Description |
|---|---|
city |
City or region — transliterated key (see the cities and regions methods). Default — all (whole Ukraine). |
currencies |
Comma-separated list of currencies — transliterated keys, e.g. usd,eur (see the currencies method). Default — all available currencies. |
basic_currency |
Base currency the rates are calculated against. Default — uah. |
date |
Date for which the rates are requested, e.g. 13.07.2026 or 2026-07-13. Default — today. |
type |
Organization type: MAJOR (largest), BIG (large), BANK (all banks), POV (exchange offices). Default — BANK. |
source |
Comma-separated data sources. Default — all. Possible values: organizations — average and best bank rates, commercial — commercial cash market rate, actual — actual cash market rate, blackmarket — cash market, mezhbank — interbank, nbu — NBU rates, international — international market, visa — Visa rates, mastercard — Mastercard rates, fixing — fixing. |
https://kurs.com.ua/api/summary_info?key=YOUR_API_KEY&city=kiev¤cies=usd,eur&format=json
Example response
{
"basic_currency": { "id": "491", "iso": "980", "symbol": "UAH", "name": "гривна" },
"date": "Mon, 13 Jul 2026 00:00:00 +0300",
"city": { "id": "908", "name": "Киев", "translit": "kiev" },
"currencies": [
{
"id": "1", "iso": "840", "symbol": "USD", "name": "доллар",
"rates": [
{
"type": "organizations",
"updated": "Mon, 13 Jul 2026 12:48:52 +0300",
"banks_total": 43,
"avg": { "bid": 44.3398, "bid_change": 0.0666, "ask": 44.7893, "ask_change": 0.0673 },
"best": { "bid": 44.6, "bid_change": 0.2, "ask": 44.6, "ask_change": 0.05 }
},
{
"type": "commercial",
"updated": "Mon, 13 Jul 2026 12:30:00 +0300",
"bid": 44.4552, "bid_change": 0.0235,
"ask": 44.6187, "ask_change": 0.0022
},
{
"type": "nbu",
"updated": "Mon, 13 Jul 2026 00:00:00 +0300",
"value": 44.3564, "change": 0.0421
}
]
}
]
}
Currencies directory
/api/currencies
Directory of currencies and bank metals: identifiers, symbols, names and transliterated keys used in the currencies parameter of other methods.
| Parameter | Description |
|---|---|
type |
Directory type: currency_and_metal (default) — currencies and bank metals, currency — currencies only, metal — bank metals only, nbu — NBU rate currencies, cash — cash market currencies, cash_cards — card rate currencies, cards — payment card currencies, mejbank — interbank currencies, commercial — commercial rate currencies, actual — actual rate currencies, visa — Visa currencies, mastercard — Mastercard currencies, forex — Forex market instruments, forex_currency — Forex currencies, forex_metal — Forex metals, bank_metal — bank metals. |
https://kurs.com.ua/api/currencies?key=YOUR_API_KEY&format=json
Example response
{
"total": 172,
"currencies": [
{ "id": "1", "symbol": "USD", "name": "доллар", "translit": "usd" },
{ "id": "2", "symbol": "EUR", "name": "евро", "translit": "eur" },
{ "id": "3", "symbol": "RUB", "name": "рубль", "translit": "rub" }
]
}
Regions
/api/regions
List of Ukrainian regions with transliterated keys for the region and city parameters.
| Parameter | Description |
|---|---|
type |
Region filter: commercial — regions with cash market rates. |
https://kurs.com.ua/api/regions?key=YOUR_API_KEY&format=json
Example response
{
"total": 24,
"regions": [
{ "id": "2", "name": "Винницкая область", "translit": "vinnickaya_oblast" },
{ "id": "3", "name": "Волынская область", "translit": "volynskaya_oblast" }
]
}
Cities
/api/cities
List of Ukrainian cities with geo-coordinates. The translit field is used in the city parameter of other methods.
| Parameter | Description |
|---|---|
type |
City filter: commercial, bank, bank_big, big. |
region |
Region — transliterated key (see the regions method). |
https://kurs.com.ua/api/cities?key=YOUR_API_KEY&type=big&format=json
Example response
{
"total": 58,
"cities": [
{
"id": "908",
"region_id": "11",
"name": "Киев",
"translit": "kiev",
"size": "5",
"geometry": {
"lat": 50.4501,
"lng": 30.5234,
"bounds": {
"ne": { "lat": 50.590798, "lng": 30.825941 },
"sw": { "lat": 50.213273, "lng": 30.239440 }
}
}
}
]
}
Banks & organizations
/api/organizations
List of banks and exchange offices: names, types, phones and icons.
| Parameter | Description |
|---|---|
type |
Organization type: MAJOR, BIG, BANK, POV, BANK_ALL. |
https://kurs.com.ua/api/organizations?key=YOUR_API_KEY&type=MAJOR&format=json
Example response
{
"total": 17,
"organizations": [
{
"id": "34",
"name": "Sense bank",
"translit": "sense-bank",
"type": "BANK",
"group": "1",
"phones": "0-800-50-20-50, (044)298-80-00",
"icon": {
"base64": "data:image/png;base64,iVBORw0KGgoAAAANSU...",
"url": "https://old.kurs.com.ua/static/images/banks_icon/34.png"
}
}
]
}
Departments
/api/organizations_departments
Departments of the selected organization: addresses, phones, geo-coordinates.
| Parameter | Description |
|---|---|
organization |
Organization ID (see the organizations method). |
city |
City — transliterated key (see the cities method). |
https://kurs.com.ua/api/organizations_departments?key=YOUR_API_KEY&organization=10&format=json
Example response
{
"total": 1698,
"departments": [
{
"id": "154994",
"city": "2327",
"name": "Отделение ПриватБанка",
"address": "г. Чернигов, ул. Ивана Мазепы, 6",
"phones": "3700",
"geo": { "lat": "51.4967", "lng": "31.2872" }
}
]
}
Bank cash desk rates
/api/organizations_rates
Cash rates at bank cash desks and exchange offices of the selected city. The data is split into fresh (new) and outdated (old).
| Parameter | Description |
|---|---|
city |
City or region — transliterated key (see the cities and regions methods). |
currencies |
Comma-separated list of currencies — transliterated keys, e.g. usd,eur (see the currencies method). Default — all available currencies. |
date |
Date for which the rates are requested, e.g. 13.07.2026 or 2026-07-13. Default — today. |
type |
Organization type: MAJOR, BIG, BANK, POV, BANK_ALL, or a comma-separated list of types. |
wholesale |
Wholesale rates: 1 — return wholesale values. |
https://kurs.com.ua/api/organizations_rates?key=YOUR_API_KEY&city=kiev¤cies=usd&type=MAJOR&format=json
Example response
{
"date": "Mon, 13 Jul 2026 00:00:00 +0300",
"city": { "id": "908", "name": "Киев", "translit": "kiev" },
"currencies": [
{
"id": "1",
"symbol": "USD",
"updated": "Mon, 13 Jul 2026 00:00:00 +0300",
"total": 15,
"rates": {
"new": [
{
"organization_id": "10",
"organization": "Приватбанк",
"bid": "44.1000", "bid_change": "0.0000",
"ask": "44.7000", "ask_change": "0.0000",
"updated": "Mon, 13 Jul 2026 09:31:32 +0300",
"trusted": "2"
},
{
"organization_id": "98",
"organization": "Райффайзен Банк",
"bid": "44.4500", "bid_change": "0.1500",
"ask": "44.8200", "ask_change": "0.1300",
"updated": "Mon, 13 Jul 2026 11:50:08 +0300",
"trusted": "1"
}
],
"old": [
{
"organization_id": "146",
"organization": "Кредобанк",
"bid": "44.3700", "bid_change": "0.0000",
"ask": "44.6400", "ask_change": "0.0000",
"updated": "Fri, 10 Jul 2026 12:36:16 +0300",
"trusted": "2"
}
]
}
}
]
}
Bank card rates
/api/organizations_card_rates
Payment card conversion rates of Ukrainian banks. Response structure is the same as in organizations_rates.
| Parameter | Description |
|---|---|
currencies |
Comma-separated list of currencies — transliterated keys, e.g. usd,eur (see the currencies method). Default — all available currencies. |
date |
Date for which the rates are requested, e.g. 13.07.2026 or 2026-07-13. Default — today. |
https://kurs.com.ua/api/organizations_card_rates?key=YOUR_API_KEY¤cies=usd&format=json
Example response
{
"date": "Mon, 13 Jul 2026 00:00:00 +0300",
"currencies": [
{
"id": "1",
"symbol": "USD",
"updated": "Mon, 13 Jul 2026 00:00:00 +0300",
"total": 38,
"rates": {
"new": [
{
"organization_id": "35",
"organization": "Банк Альянс",
"bid": "44.5000", "bid_change": "0.1000",
"ask": "44.6500", "ask_change": "0.1200",
"updated": "Mon, 13 Jul 2026 11:30:07 +0300",
"trusted": "1"
}
],
"old": []
}
}
]
}
Online bank rates
/api/organizations_online_rates
Online rates of Ukrainian banks. Response structure is the same as in organizations_rates.
| Parameter | Description |
|---|---|
currencies |
Comma-separated list of currencies — transliterated keys, e.g. usd,eur (see the currencies method). Default — all available currencies. |
date |
Date for which the rates are requested, e.g. 13.07.2026 or 2026-07-13. Default — today. |
https://kurs.com.ua/api/organizations_online_rates?key=YOUR_API_KEY¤cies=usd&format=json
Example response
{
"date": "Mon, 13 Jul 2026 00:00:00 +0300",
"currencies": [
{
"id": "1",
"symbol": "USD",
"updated": "Mon, 13 Jul 2026 00:00:00 +0300",
"total": 29,
"rates": {
"new": [
{
"organization_id": "87",
"organization": "ОТП Банк",
"bid": "44.5540", "bid_change": "0.2080",
"ask": "44.8500", "ask_change": "0.1500",
"updated": "Mon, 13 Jul 2026 12:30:05 +0300",
"trusted": "1"
}
],
"old": [
{
"organization_id": "146",
"organization": "Кредобанк",
"bid": "44.3700", "bid_change": "0.0000",
"ask": "44.6400", "ask_change": "0.0000",
"updated": "Fri, 10 Jul 2026 12:36:16 +0300",
"trusted": "2"
}
]
}
}
]
}
Forex rates
/api/forex
International Forex market rates by currency pairs.
| Parameter | Description |
|---|---|
currencies |
Comma-separated currency pairs in the from_to format, e.g. eur_usd,gbp_usd. Without this parameter the main Forex pairs against USD are returned. |
date |
Date for which the rates are requested, e.g. 13.07.2026 or 2026-07-13. Default — today. |
https://kurs.com.ua/api/forex?key=YOUR_API_KEY&format=json
Example response
{
"date": "Mon, 13 Jul 2026 00:00:00 +0300",
"rates": [
{ "currency": "EUR/USD", "rate": "1.142970", "change": "0.001340", "updated": "Mon, 13 Jul 2026 12:49:39 +0300" },
{ "currency": "GBP/USD", "rate": "1.339070", "change": "0.000130", "updated": "Mon, 13 Jul 2026 12:49:39 +0300" }
]
}
Fixing
/api/fixing
Daily fixing of the cash (nal) and cashless (beznal) rate. The rate is fixed every day at the same time — convenient for contracts.
| Parameter | Description |
|---|---|
currencies |
Comma-separated currencies: usd, eur, rub. Default — all. |
date |
Date for which the rates are requested, e.g. 13.07.2026 or 2026-07-13. Default — today. |
https://kurs.com.ua/api/fixing?key=YOUR_API_KEY¤cies=usd&format=json
Example response
{
"date": "Mon, 13 Jul 2026 00:00:00 +0300",
"currencies": [
{
"id": "1",
"symbol": "USD",
"updated": "Mon, 13 Jul 2026 12:00:00 +0300",
"rates": {
"nal": 44.50, "nal_change": 0.02,
"nal_bid": 44.45, "nal_bid_change": 0.02,
"nal_ask": 44.55, "nal_ask_change": 0.02,
"beznal": 44.40, "beznal_change": 0.01,
"beznal_bid": 44.35, "beznal_bid_change": 0.01,
"beznal_ask": 44.45, "beznal_ask_change": 0.01
}
}
]
}