API Kurs Mata Uang Real-Time: Rupiah ke Dollar dan Ratusan Mata Uang Lain
Cara mengambil kurs mata uang terbaru dan riwayat nilai tukar Rupiah ke berbagai mata uang dunia lewat REST API, lengkap dengan contoh kode dan penanganan cache.

Aplikasi e-commerce lintas negara, fintech, dan tools akuntansi sering butuh nilai tukar mata uang yang selalu up to date. Menyimpan kurs secara manual jelas tidak praktis karena nilainya berubah setiap saat. API Kurs dari API Indonesia menyediakan nilai tukar terbaru dan data historis untuk pasangan mata uang apa pun dalam format ISO 4217, dengan Rupiah (IDR) sebagai salah satu mata uang target/basis utama.
Daftar Endpoint
Base URL: https://use.apiindonesia.id/api/v1/kurs
| Method | Endpoint | Keterangan |
|---|---|---|
| GET | /latest?base=&target= |
Kurs terbaru antara dua mata uang (default base=USD, target=IDR) |
| GET | /history?base=&target=&start=&end= |
Riwayat kurs harian dalam rentang tanggal (maks. 366 hari) |
Contoh Request
curl "https://use.apiindonesia.id/api/v1/kurs/latest?base=USD&target=IDR" \
-H "x-api-key: aip_live_xxx"
curl "https://use.apiindonesia.id/api/v1/kurs/history?base=USD&target=IDR&start=2026-06-01&end=2026-06-30" \
-H "x-api-key: aip_live_xxx"
async function getKurs(base = 'USD', target = 'IDR') {
const url = new URL('https://use.apiindonesia.id/api/v1/kurs/latest');
url.searchParams.set('base', base);
url.searchParams.set('target', target);
const res = await fetch(url, {
headers: { 'x-api-key': process.env.API_INDONESIA_KEY },
});
const { data } = await res.json();
return data.rate;
}
import requests
res = requests.get(
"https://use.apiindonesia.id/api/v1/kurs/latest",
params={"base": "SGD", "target": "IDR"},
headers={"x-api-key": "aip_live_xxx"},
)
kurs = res.json()["data"]
print(f'1 SGD = {kurs["rate"]} IDR')
Contoh Response
{
"data": {
"base": "USD",
"target": "IDR",
"rate": 16250.5,
"fetched_at": "2026-07-10T05:00:00.000Z"
}
}
Kasus Pakai
- Kalkulator konversi mata uang di aplikasi belanja atau travel.
- Invoice multi-mata uang untuk bisnis yang melayani klien luar negeri.
- Dashboard tren kurs memakai endpoint
/historyuntuk grafik pergerakan harian. - Notifikasi harga — bandingkan
rateterbaru dengan ambang batas tertentu untuk memicu alert.
Catatan Cache
Kurs terbaru di-cache selama 12 jam agar response cepat dan tidak membebani sumber data eksternal. Jika Anda butuh data yang sangat presisi untuk transaksi finansial bernilai tinggi, tetap disarankan melakukan validasi tambahan sesuai kebutuhan kepatuhan bisnis Anda.
FAQ
Mata uang apa saja yang didukung? Semua kode mata uang format ISO 4217 (contoh: USD, EUR, JPY, SGD, IDR).
Apakah base dan target boleh sama? Tidak, base dan target harus berbeda.
Berapa lama rentang riwayat yang bisa diambil sekaligus? Maksimal 366 hari per request pada endpoint /history.
Mulai Sekarang
Buat API key gratis di dashboard.apiindonesia.id/register dan cek detail response di docs.apiindonesia.id.
