← Docs

Currency API

Currency names and symbols, plus daily exchange rates.

Pass USD, EUR, or JPY. The name, the symbol people recognize, the native symbol and how many digits after the decimal. Deep adds numeric code, plural name and countries.

Lookup

GET
api.parseapi.com/currency/{code}
By ISO 4217 code. Name, symbols and decimal digits
Explore
Parameters 3
codestring · path · required

ISO 4217 currency code

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

deepboolean · query · optional

Alternate currency metadata and countries using the currency. Included on every plan, with no additional charge.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.currency("usd");
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "currency": "USD",
  "name": "United States Dollar",
  "symbol": "$",
  "symbol_native": "$",
  "digits": 2
}

Response fields

currency
ISO 4217 currency code
name
Currency name
symbol
Currency symbol
symbol_native
Native / local symbol
digits
Minor unit digits (e.g. 2 for USD, 0 for JPY)

Exchange rate

Two codes make a pair. Rates are daily official reference rates from central banks, refreshed after each publish. Coverage is every currency those sources publish, plus statutory pegs. Good for display and estimates, not for settling trades. An unsupported pair returns a 404.

Add ?date=YYYY-MM-DD for a past business day. A weekend or holiday resolves to the last published day on or before it. Older than the held history is a 404. Add ?amount= to convert. The response appends amount and converted, rounded to the quote currency's minor-unit digits.

GET
api.parseapi.com/currency/{base}/{quote}
Daily official reference rate for a pair. Optional ?date= and ?amount=
Explore
Parameters 4
basestring · path · required

Base currency code (ISO 4217)

quotestring · path · required

Quote currency code (ISO 4217)

datestring · query · optional

YYYY-MM-DD. Official rate for that business day. A weekend or holiday resolves to the last published day on or before it. Older than held history is a 404

amountnumber · query · optional

Appends amount and converted, rounded to the quote currency minor-unit digits

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.currency.rate("usd", "eur");
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "base": "USD",
  "quote": "EUR",
  "rate": 0.85888517,
  "date": "2026-08-28"
}

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.currency.rate("usd", "eur", { date: "2026-08-28" });
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "base": "USD",
  "quote": "EUR",
  "rate": 0.85888517,
  "date": "2026-08-28"
}

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.currency.rate("usd", "jpy", { amount: 100 });
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "base": "USD",
  "quote": "JPY",
  "rate": 159.68393026,
  "date": "2026-08-28",
  "amount": 100,
  "converted": 15968
}

Response fields

base
Base currency code
quote
Quote currency code
rate
Units of quote per 1 unit of base
date
Business day the rate was published
amount
With ?amount= only: echo of the amount asked
converted
With ?amount= only: amount times rate, rounded to the quote currency minor-unit digits

Deep

?deep=true Alternate currency metadata and countries using the currency. Included on every plan, with no additional charge.

Run uses the free demo on API 2.0.0. Copied code uses your API key when signed in, or YOUR_API_KEY when signed out.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.currency("usd", { deep: true });
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response
{
  "currency": "USD",
  "name": "United States Dollar",
  "symbol": "$",
  "symbol_native": "$",
  "digits": 2,
  "deep": {
    "numeric": 840,
    "name_plural": "United States Dollars",
    "countries": [
      "AS",
      "EC",
      "PR",
      "US",
      "VI"
    ]
  }
}

Deep fields

deep.numeric
ISO 4217 numeric code
deep.name_plural
Plural currency name
deep.countries
ISO2 countries that use this currency

Display language

Pass lang with a language tag such as fr, pt-BR, or zh-Hant. Currency name and requested deep.name_plural. Each choice covers 154–155 of the 156 current currencies. Rates and currency codes stay unchanged; name_plural is a reference label, not amount-dependent formatting.

Omitting lang preserves the original response. Codes, IDs, numeric facts and native-name fields stay unchanged. Missing translations keep their existing source value; unknown values stay null. A preserved name_local may equal the translated name.

Send a chosen browser preference explicitly, for example { lang: navigator.language } in your JavaScript SDK options. The API does not read Accept-Language automatically. Unsupported regions fall back to their supported base language; unsupported languages or scripts use English. Empty, invalid or repeated tags return 400.

Content-Language identifies languages used in translated display fields and known English fallbacks. This option follows the current API contract. Requests selecting frozen 1.0.0 retain that contract. Select API 2.0.0 to use display language.

41 display language choices
Language tagLanguage
enAmerican English
zh-Hans简体中文
frfrançais (France)
deDeutsch
ititaliano
ja日本語
ko한국어
esespañol de España
arالعربية
bgбългарски
cacatalà
hrhrvatski
csčeština
dadansk
nlNederlands
fisuomi
elΕλληνικά
heעברית
hiहिन्दी
humagyar
idIndonesia
kkқазақ тілі
msMelayu
nbnorsk bokmål
plpolski
ptportuguês (Brasil)
roromână
ruрусский
skslovenčina
svsvenska
thไทย
trTürkçe
ukукраїнська
viTiếng Việt
zh-Hant繁體中文
en-AUAustralian English
en-GBBritish English
fr-CAfrançais canadien
es-419español latinoamericano
pt-PTportuguês europeu
zh-Hant-HK繁體中文(中國香港特別行政區)

Build with Currency

All tutorials →

Questions? Email