Exchange Rates (VND) API
Vietcombank buying (cash, transfer) and selling rates for 20 currencies, past dates, VND conversion and mid-market rates for 160 currencies.
The exchange rate API returns the rate table of Vietcombank, the reference most Vietnamese businesses use: cash buying, transfer buying and selling rates for 20 currencies (USD, EUR, JPY, CNY, KRW, SGD…). Pass date=YYYY-MM-DD for a past day, for example the date of an invoice; past tables are cached, today’s table is refreshed every 15 minutes.
With amount, from and to it converts: from a foreign currency to VND you get the amount at each buying rate and at the selling rate; from VND to a foreign currency, the amount the bank sells you. Conversions between two foreign currencies, or currencies Vietcombank does not quote, use daily mid-market rates (open.er-api.com, about 160 currencies), as does source=market&base=EUR for a full table.
Rates are for reference: bank branches and transfer types can differ. The response always names the source, the date of the table and the time Vietcombank last updated it.
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
date | query | string | no | Day of the table, YYYY-MM-DD (default: today, Vietnam time). | |
currencies | query | string | no | Only these codes, e.g. USD,EUR. | |
amount | query | number | no | 1 | Amount to convert. |
from | query | string | no | Currency to convert from (enables conversion). | |
to | query | string | no | VND | Currency to convert to. |
source | query | string | no | vietcombank | vietcombank or market (mid-market, today only). |
base | query | string | no | USD | Base currency for source=market. |
Example
curl "https://apibox.io.vn/v1/exchange-rates?amount=100&from=USD" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/exchange-rates?amount=100&from=USD', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/exchange-rates?amount=100&from=USD",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/exchange-rates?amount=100&from=USD');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Response
{
"amount": 100,
"from": "USD",
"to": "VND",
"source": "Vietcombank",
"date": "2026-11-10",
"updated_at": "2026-11-10T16:14:44+07:00",
"rate": {
"cash_buy": 25380,
"transfer_buy": 25410,
"sell": 25790
},
"result": {
"cash_buy": 2538000,
"transfer_buy": 2541000,
"sell": 2579000
},
"note": "cash_buy / transfer_buy: VND you receive when selling the currency to the bank; sell: VND you pay to buy it."
}
Use cases
- Show today’s USD/VND rate on e-commerce and travel sites
- Convert invoice amounts at the rate of the invoice date
- Accounting exports with the bank rate of each day
- Price lists in several currencies
FAQ
Which rate should I use for accounting?
For foreign-currency revenue the transfer buying rate of your bank on the transaction date is the usual choice; use date= to get it. The API returns all three Vietcombank rates so you can follow your own policy.
How far back does the history go?
As far as Vietcombank publishes its tables (several years). Weekends and holidays return the last table of that day.
Can I convert USD to EUR?
Yes. Pairs without VND use mid-market rates of the day (source: open.er-api.com) and are only available for today.
Related APIs
JSON Validator
Check JSON syntax with exact line and column of errors, and validate data against a JSON Schema (draft 4, 7, 2019-09 or 2020-12).
{ }JSON Formatter
Pretty print JSON with 0-8 spaces or tabs, minify it, or sort object keys recursively. Syntax errors are reported with line and column.
CSVCSV to JSON
Convert CSV into an array of JSON objects using the header row, with delimiter auto-detection, number and boolean typing, and row-level errors.