Home Documentation Bank Rates Playground Pricing API Status Blog About FAQ Support

Bank of Korea Exchange Rate API: Official KRW Rates as JSON

Reviewed by Madhushan, Fintech Developer — August 2026

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 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
1,4001,500Aug '25Nov '25Feb '26May '26Aug '261,4252025-08-06: 1,387 KRW2025-08-07: 1,390 KRW2025-08-08: 1,384 KRW2025-08-11: 1,386 KRW2025-08-12: 1,388 KRW2025-08-13: 1,390 KRW2025-08-14: 1,384 KRW2025-08-18: 1,382 KRW2025-08-19: 1,385 KRW2025-08-20: 1,389 KRW2025-08-21: 1,398 KRW2025-08-22: 1,398 KRW2025-08-25: 1,396 KRW2025-08-26: 1,386 KRW2025-08-27: 1,391 KRW2025-08-28: 1,396 KRW2025-08-29: 1,389 KRW2025-09-01: 1,388 KRW2025-09-02: 1,392 KRW2025-09-03: 1,392 KRW2025-09-04: 1,394 KRW2025-09-05: 1,393 KRW2025-09-08: 1,392 KRW2025-09-09: 1,390 KRW2025-09-10: 1,387 KRW2025-09-11: 1,388 KRW2025-09-12: 1,389 KRW2025-09-15: 1,389 KRW2025-09-16: 1,390 KRW2025-09-17: 1,382 KRW2025-09-18: 1,380 KRW2025-09-19: 1,385 KRW2025-09-22: 1,394 KRW2025-09-23: 1,394 KRW2025-09-24: 1,394 KRW2025-09-25: 1,395 KRW2025-09-26: 1,400 KRW2025-09-29: 1,412 KRW2025-09-30: 1,402 KRW2025-10-01: 1,403 KRW2025-10-02: 1,406 KRW2025-10-10: 1,402 KRW2025-10-13: 1,421 KRW2025-10-14: 1,428 KRW2025-10-15: 1,428 KRW2025-10-16: 1,424 KRW2025-10-17: 1,419 KRW2025-10-20: 1,420 KRW2025-10-21: 1,420 KRW2025-10-22: 1,424 KRW2025-10-23: 1,430 KRW2025-10-24: 1,437 KRW2025-10-27: 1,436 KRW2025-10-28: 1,433 KRW2025-10-29: 1,434 KRW2025-10-30: 1,433 KRW2025-10-31: 1,423 KRW2025-11-03: 1,427 KRW2025-11-04: 1,429 KRW2025-11-05: 1,438 KRW2025-11-06: 1,447 KRW2025-11-07: 1,446 KRW2025-11-10: 1,454 KRW2025-11-11: 1,454 KRW2025-11-12: 1,463 KRW2025-11-13: 1,466 KRW2025-11-14: 1,470 KRW2025-11-17: 1,459 KRW2025-11-18: 1,458 KRW2025-11-19: 1,465 KRW2025-11-20: 1,465 KRW2025-11-21: 1,468 KRW2025-11-24: 1,472 KRW2025-11-25: 1,474 KRW2025-11-26: 1,474 KRW2025-11-27: 1,463 KRW2025-11-28: 1,465 KRW2025-12-01: 1,466 KRW2025-12-02: 1,469 KRW2025-12-03: 1,470 KRW2025-12-04: 1,469 KRW2025-12-05: 1,472 KRW2025-12-08: 1,472 KRW2025-12-09: 1,469 KRW2025-12-10: 1,470 KRW2025-12-11: 1,470 KRW2025-12-12: 1,470 KRW2025-12-15: 1,473 KRW2025-12-16: 1,474 KRW2025-12-17: 1,472 KRW2025-12-18: 1,479 KRW2025-12-19: 1,477 KRW2025-12-22: 1,478 KRW2025-12-23: 1,479 KRW2025-12-24: 1,483 KRW2025-12-26: 1,461 KRW2025-12-29: 1,442 KRW2025-12-30: 1,434 KRW2025-12-31: 1,435 KRW2026-01-02: 1,435 KRW2026-01-05: 1,442 KRW2026-01-06: 1,447 KRW2026-01-07: 1,446 KRW2026-01-08: 1,448 KRW2026-01-09: 1,449 KRW2026-01-12: 1,456 KRW2026-01-13: 1,464 KRW2026-01-14: 1,473 KRW2026-01-15: 1,478 KRW2026-01-16: 1,470 KRW2026-01-19: 1,474 KRW2026-01-20: 1,474 KRW2026-01-21: 1,477 KRW2026-01-22: 1,473 KRW2026-01-23: 1,468 KRW2026-01-26: 1,467 KRW2026-01-27: 1,443 KRW2026-01-28: 1,449 KRW2026-01-29: 1,429 KRW2026-01-30: 1,427 KRW2026-02-02: 1,437 KRW2026-02-03: 1,457 KRW2026-02-04: 1,449 KRW2026-02-05: 1,451 KRW2026-02-06: 1,464 KRW2026-02-09: 1,470 KRW2026-02-10: 1,464 KRW2026-02-11: 1,458 KRW2026-02-12: 1,454 KRW2026-02-13: 1,443 KRW2026-02-19: 1,443 KRW2026-02-20: 1,451 KRW2026-02-23: 1,449 KRW2026-02-24: 1,442 KRW2026-02-25: 1,446 KRW2026-02-26: 1,435 KRW2026-02-27: 1,425 KRW2026-03-03: 1,435 KRW2026-03-04: 1,465 KRW2026-03-05: 1,479 KRW2026-03-06: 1,464 KRW2026-03-09: 1,475 KRW2026-03-10: 1,493 KRW2026-03-11: 1,473 KRW2026-03-12: 1,467 KRW2026-03-13: 1,480 KRW2026-03-16: 1,490 KRW2026-03-17: 1,496 KRW2026-03-18: 1,492 KRW2026-03-19: 1,486 KRW2026-03-20: 1,500 KRW2026-03-23: 1,495 KRW2026-03-24: 1,510 KRW2026-03-25: 1,498 KRW2026-03-26: 1,496 KRW2026-03-27: 1,506 KRW2026-03-30: 1,508 KRW2026-03-31: 1,513 KRW2026-04-01: 1,531 KRW2026-04-02: 1,508 KRW2026-04-03: 1,519 KRW2026-04-06: 1,508 KRW2026-04-07: 1,507 KRW2026-04-08: 1,507 KRW2026-04-09: 1,476 KRW2026-04-10: 1,481 KRW2026-04-13: 1,480 KRW2026-04-14: 1,490 KRW2026-04-15: 1,481 KRW2026-04-16: 1,473 KRW2026-04-17: 1,473 KRW2026-04-20: 1,480 KRW2026-04-21: 1,476 KRW2026-04-22: 1,471 KRW2026-04-23: 1,478 KRW2026-04-24: 1,481 KRW2026-04-27: 1,483 KRW2026-04-28: 1,473 KRW2026-04-29: 1,473 KRW2026-04-30: 1,476 KRW2026-05-04: 1,485 KRW2026-05-06: 1,471 KRW2026-05-07: 1,457 KRW2026-05-08: 1,451 KRW2026-05-11: 1,466 KRW2026-05-12: 1,473 KRW2026-05-13: 1,484 KRW2026-05-14: 1,495 KRW2026-05-15: 1,492 KRW2026-05-18: 1,500 KRW2026-05-19: 1,503 KRW2026-05-20: 1,504 KRW2026-05-21: 1,510 KRW2026-05-22: 1,504 KRW2026-05-26: 1,513 KRW2026-05-27: 1,508 KRW2026-05-28: 1,502 KRW2026-05-29: 1,506 KRW2026-06-01: 1,503 KRW2026-06-02: 1,511 KRW2026-06-04: 1,516 KRW2026-06-05: 1,529 KRW2026-06-08: 1,543 KRW2026-06-09: 1,547 KRW2026-06-10: 1,518 KRW2026-06-11: 1,522 KRW2026-06-12: 1,527 KRW2026-06-15: 1,520 KRW2026-06-16: 1,510 KRW2026-06-17: 1,514 KRW2026-06-18: 1,513 KRW2026-06-19: 1,523 KRW2026-06-22: 1,535 KRW2026-06-23: 1,536 KRW2026-06-24: 1,537 KRW2026-06-25: 1,538 KRW2026-06-26: 1,545 KRW2026-06-29: 1,544 KRW2026-06-30: 1,542 KRW2026-07-01: 1,548 KRW2026-07-02: 1,554 KRW2026-07-03: 1,554 KRW2026-07-06: 1,540 KRW2026-07-07: 1,532 KRW2026-07-08: 1,527 KRW2026-07-09: 1,510 KRW2026-07-10: 1,504 KRW2026-07-13: 1,507 KRW2026-07-14: 1,505 KRW2026-07-15: 1,492 KRW2026-07-16: 1,489 KRW2026-07-20: 1,484 KRW2026-07-21: 1,482 KRW2026-07-22: 1,476 KRW2026-07-23: 1,481 KRW2026-07-24: 1,469 KRW2026-07-27: 1,466 KRW2026-07-28: 1,465 KRW2026-07-29: 1,466 KRW2026-07-30: 1,450 KRW2026-07-31: 1,441 KRW2026-08-03: 1,434 KRW2026-08-04: 1,430 KRW2026-08-05: 1,428 KRW2026-08-06: 1,425 KRW
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

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; 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

Related Articles