---
title: "Bank of Korea Exchange Rate API: Official KRW Rates as JSON"
description: "Official Bank of Korea daily won exchange rates as JSON — ~40 currencies, history back to 1964. REST + npm SDK, free tier included."
canonical: https://allratestoday.com/blog/bok-exchange-rate-api/
source: AllRatesToday (https://allratestoday.com/) — Markdown mirror of the page above; index of all pages at https://allratestoday.com/llms.txt
generated: 2026-09-21T22:53:37.825Z
---

**Bank of Korea** publishes the won's official daily exchange rates — the basic exchange rate (매매기준율, the market average rate set each business morning at 08:10 KST) for around 40 currencies — and these are the *published official rates* used for tax filings, audits, and compliant invoicing in South Korea, not moving market prices. This guide shows how to pull them as JSON: via a REST endpoint or the zero-dependency [`bok-exchange-rate`](https://www.npmjs.com/package/bok-exchange-rate) npm package, with history back to 1964.

  USD → KRW — official Bank of Korea basic exchange rate (MAR) Weekly observations, Aug '25 – Aug '26 · South Korean won per 1 US dollar

*Source: Bank of Korea published rates · chart data from the AllRatesToday API (`/api/v1/central-bank/bok/history?source=USD&target=KRW`).*

## What the Bank of Korea publishes

- **~40 active currencies against the won** — USD, EUR, JPY, CNY, GBP, and the full Asian and Gulf set.
- **History back to 1964** — one of the deepest official series anywhere, queryable by exact date or as a time series.
- **The bank's own publication date** on every response, so a rate is always citable.
- **No gaps to trip over** — requests for weekends and Korean holidays resolve to the most recent published rates and are flagged explicitly.

The USD/KRW basic rate is the anchor of the table: it is the market average rate (MAR) computed from interbank trading and announced through Seoul Money Brokerage — the number Korean law and accounting practice reference for won conversion.

## Why official rates, not market rates

A live mid-market feed answers "what is USD/KRW trading at right now?" — the right tool for checkouts and dashboards. But accountants, auditors, and tax authorities ask a different question: "which rate were you *required* to use for this date?" That answer comes from the central bank's published rates, and it never changes after publication.

Getting at Korea's official rates programmatically has an extra wrinkle: the Bank of Korea's registered Open API requires Korean-phone PASS identity verification to sign up, which locks out most developers outside Korea. AllRatesToday carries the same published table with no Korean registration needed.

## Get the latest rates (REST)

```
curl "https://allratestoday.com/api/v1/central-bank/bok/latest" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

The response is the bank's most recent published data — every rate and the publication date. The latest rates are available on every plan, including the free tier (300 requests/month, no credit card).

## The npm SDK

```
npm install bok-exchange-rate
```

```
import { getRate, getLatestRates } from 'bok-exchange-rate';

// One pair at the official Bank of Korea rate
const pair = await getRate('USD', 'KRW', { apiKey: 'art_live_...' });
console.log(pair.rate, pair.rate_date);

// The bank's full published table
const table = await getLatestRates({ apiKey: 'art_live_...' });
console.log(table.rate_date, table.rates.length);
```

Zero dependencies, TypeScript types included, and it runs anywhere `fetch` exists — Node 18+, Bun, Deno, and edge runtimes.

## Historical rates for an invoice date

```
import { getRatesForDate, getHistory } from 'bok-exchange-rate';

// The official rates for an invoice date — non-publication days return
// the most recent published date, flagged via published_on_requested_date.
const day = await getRatesForDate('2026-06-30', { apiKey: 'art_live_...' });

// Time series for one pair
const series = await getHistory(
  { source: 'USD', target: 'KRW', from: '2026-01-01' },
  { apiKey: 'art_live_...' }
);
```

Historical dates and time series need a [paid plan](https://allratestoday.com/pricing/); the latest rates stay free.

## Published vs derived pairs

If the Bank of Korea does not print a pair directly, the API resolves it from the bank's published rates — an inverse, or a cross rate via KRW — and flags it `derived: true` with the method used. Official and computed values are never silently mixed, which is exactly the distinction an auditor will ask about.

## Sixty years of won history

The series starts on 4 May 1964 — the day South Korea devalued the won to 255.77 per dollar and moved toward a unified exchange rate. From there the data traces every regime: the managed float of the 1980s, the 1997 Asian financial crisis (the won passing 1,600 per dollar), the 2008 global financial crisis, and the COVID shock of 2020. For long-run research, backtesting, or historical audit work, it is one of the deepest official exchange rate records available anywhere.

## FAQ

### Does Bank of Korea have an official exchange rate API?

The Bank of Korea publishes official daily rates through its ECOS statistics system, but the registered Open API requires Korean-phone identity verification, which locks out most foreign developers. AllRatesToday serves the bank's published rates as clean JSON — around 40 currencies against the won, with history back to 1964 — via REST or the bok-exchange-rate npm package. The latest table is free.

### How often do Bank of Korea rates update?

Once per business day. The basic exchange rate (매매기준율, the market average rate) is set each business morning at 08:10 Korea time. These are published reference rates, not moving market prices — every API response carries the bank's own publication date so you can cite it.

### Can I get the Bank of Korea rate for a past date, like an invoice date?

Yes. The /central-bank/bok/rates-for-date endpoint returns the official rates for any date back to 1964. Non-publication days resolve to the most recent published date and are flagged, so your audit trail stays honest. Historical dates require a paid plan; latest rates are free.

## Official Bank of Korea rates, as JSON

The latest rates are free — 300 requests/month, no credit card.

 [Get your free API key](https://allratestoday.com/register/)

## Related Articles

- [Bank of Korea rates API — product page](https://allratestoday.com/central-bank-rates-api/bok/)
- [All covered central banks](https://allratestoday.com/central-bank-rates-api/)
- [Bank of Japan exchange rate API guide](https://allratestoday.com/blog/boj-exchange-rate-api/)
- [Hong Kong Monetary Authority exchange rate API guide](https://allratestoday.com/blog/hkma-exchange-rate-api/)
- [Central bank API documentation](https://allratestoday.com/docs/#central-bank)
- [Best exchange rate APIs in 2026 — how the official-rate and market-rate providers compare](https://allratestoday.com/best/best-exchange-rate-api/)
