The yen is one of the most traded currencies in the world, and USD/JPY is one of the major pairs. It is also often described as a funding and safe-haven currency, which is why it can move sharply when global markets are stressed. For developers the yen has a quirk that breaks naive code: amounts have no decimal places, while rates expressed per 1 yen are tiny. The fxapi JPY exchange rate API returns full-precision rates either way – you decide where to round.
JPY facts for developers
- Where it’s used: Japan.
- Symbol and formatting:
¥before the amount, comma thousands separator, no decimals:¥12,800. In Japanese text the kanji円usually follows the number (12,800円). Because¥is shared with the Chinese yuan, useJP¥orJPYin multi-currency UIs. - Minor unit: 0 decimals. The sen is not used in everyday transactions.
- Central bank: the Bank of Japan. Currency interventions are decided by Japan’s Ministry of Finance and executed by the Bank of Japan.
- Regime: free float, with occasional intervention.
- Events in the historical data: after the Tōhoku earthquake in March 2011 the yen surged to a then-record high against the dollar, and the G7 intervened jointly on 18 March 2011 – the sample date on this page. The yen weakened substantially from late 2012 under “Abenomics”. The Bank of Japan kept a negative policy rate from 2016 until March 2024, and Japan intervened to support the yen in 2022 and 2024.
Get JPY rates with the fxapi API
/v1/latest and /v1/historical are available on every plan. This Go program fetches rates with base_currency=JPY and converts a whole-yen price, also printing the “per 100 yen” view many finance teams prefer:
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
"os"
)
type latestResponse struct {
Data map[string]struct {
Code string `json:"code"`
Value float64 `json:"value"`
} `json:"data"`
}
func main() {
req, err := http.NewRequest("GET",
"https://api.fxapi.com/v1/latest?base_currency=JPY¤cies=USD,EUR,GBP", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("apikey", os.Getenv("FXAPI_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
log.Fatalf("fxapi returned %s", resp.Status)
}
var out latestResponse
if err := json.NewDecoder(resp.Body).Decode(&out); err != nil {
log.Fatal(err)
}
const priceJPY = 12800 // yen amounts are whole numbers
for code, r := range out.Data {
fmt.Printf("¥%d = %.2f %s (100 JPY = %.4f %s)\n",
priceJPY, priceJPY*r.Value, code, 100*r.Value, code)
}
}
See the Go guide for caching and error handling, and the historical exchange rates API for back-dated values such as the 2011 intervention. The South Korean won and the Chinese yuan pages cover the other major East Asian currencies.
Things to watch
- Never store yen with two decimals in a column that also feeds payment providers – many reject fractional JPY amounts.
- Precision on inverse rates. Rounding USD-per-yen to 4 decimals destroys most of the information; store the full value. See currency rounding and precision.
- Intervention days can produce large daily moves; validate against a tolerance rather than a fixed band.
Popular JPY pairs
Request any of these pairs – or any other combination of the 190+ supported currencies – with base_currency=JPY:
| Pair | Latest rate request |
|---|---|
| JPY/USD | /v1/latest?base_currency=JPY¤cies=USD |
| JPY/EUR | /v1/latest?base_currency=JPY¤cies=EUR |
| JPY/GBP | /v1/latest?base_currency=JPY¤cies=GBP |
| JPY/CNY | /v1/latest?base_currency=JPY¤cies=CNY |
| JPY/AUD | /v1/latest?base_currency=JPY¤cies=AUD |
| JPY/KRW | /v1/latest?base_currency=JPY¤cies=KRW |
| JPY/CHF | /v1/latest?base_currency=JPY¤cies=CHF |
Monthly averages and fluctuation for JPY
# Monthly average JPY rates for 2025 (IAS 21 / ASC 830)
curl -G "https://api.fxapi.com/v1/average" \
-d date_from=2025-01-01 -d date_to=2025-12-31 -d period=month \
-d base_currency=JPY -d currencies=USD,EUR,GBP \
-H "apikey: $FXAPI_KEY"
# How did JPY move over the last year?
curl -G "https://api.fxapi.com/v1/fluctuation" \
-d date_from=2025-10-01 -d date_to=2026-10-01 \
-d base_currency=JPY -d currencies=USD,EUR,GBP \
-H "apikey: $FXAPI_KEY"See the historical exchange rates API, average rates API and documentation for every parameter.
JPY is one of 190+ currencies in fxapi, the foreign exchange rates API for developers – live rates, daily history since 1999 and monthly averages with one API key.
Frequently asked questions
How do I get the USD to JPY exchange rate via API?
/v1/latest?currencies=JPY – USD is the default base, so the value is yen per 1 US dollar. For the inverse, set base_currency=JPY¤cies=USD.