API Kurs Rupiah: Cek Kurs dan Konversi Mata Uang ke IDR

Oleh , Tim Engineering APIPedia · Terbit · Diperbarui · 6 menit baca

API kurs APIPedia memberi kurs referensi harian ECB untuk 30 mata uang, termasuk rupiah, plus endpoint konversi nominal antar mata uang.

API kurs rupiah APIPedia: cek kurs referensi ECB untuk 30 mata uang dan konversi USD ke IDR

API kurs adalah layanan HTTP yang mengembalikan nilai tukar antar mata uang, sehingga aplikasi bisa menampilkan harga dalam rupiah atau mengonversi nominal tanpa memperbarui tabel kurs secara manual. Di APIPedia ada tiga endpoint: daftar mata uang, kurs terbaru terhadap satu mata uang dasar, dan konversi nominal.

Data kurs berasal dari kurs referensi harian European Central Bank (ECB) melalui layanan Frankfurter. Artikel ini membahas cara memanggil ketiga endpoint, arti setiap field, contoh menampilkan harga dalam rupiah, dan batasan yang perlu Anda pahami sebelum memakai kurs referensi untuk transaksi.

Apa saja endpoint API kurs di APIPedia?

Ketiganya memakai metode GET, base URL https://api.apipedia.id/v1, dan header Authorization: Bearer apk_xxx. Kode mata uang memakai standar ISO 4217 tiga huruf, misalnya USD, IDR, atau SGD.

EndpointFungsiParameter
/kurs/currenciesDaftar kode dan nama mata uang yang didukung-
/kurs/latestKurs terbaru terhadap satu mata uang dasarbase (default USD), symbols (opsional)
/kurs/convertKonversi nominal dari satu mata uang ke mata uang lainfrom, to, amount (wajib)

Mata uang apa saja yang didukung?

/kurs/currencies mengembalikan 30 mata uang, termasuk rupiah (IDR) dan mata uang mitra dagang utama Indonesia di Asia: SGD, MYR, THB, PHP, CNY, JPY, KRW, HKD, dan INR. Mata uang utama lain seperti USD, EUR, GBP, AUD, dan CHF juga tersedia.

curl https://api.apipedia.id/v1/kurs/currencies \
  -H "Authorization: Bearer apk_xxx"
{
  "jumlah": 30,
  "currencies": {
    "AUD": "Australian Dollar",
    "IDR": "Indonesian Rupiah",
    "SGD": "Singapore Dollar",
    "USD": "United States Dollar"
  },
  "source": "ECB via Frankfurter",
  "cached": false
}

Daftar ini hampir tidak pernah berubah. Ambil sekali untuk mengisi dropdown pilihan mata uang, lalu simpan di aplikasi Anda.

Bagaimana cara mengambil kurs rupiah terbaru?

Panggil /kurs/latest dengan base sebagai mata uang dasar dan symbols berisi mata uang tujuan yang dipisah koma. Kosongkan symbols untuk mengambil semua.

curl "https://api.apipedia.id/v1/kurs/latest?base=USD&symbols=IDR,SGD,EUR" \
  -H "Authorization: Bearer apk_xxx"
{
  "is_success": true,
  "message": "Kurs referensi ECB berhasil diambil",
  "data": {
    "base": "USD",
    "date": "2026-10-23",
    "rates": {
      "EUR": 0.89342,
      "IDR": 18108,
      "SGD": 1.2785
    },
    "source": "ECB via Frankfurter",
    "cached": false
  }
}
FieldKeterangan
baseMata uang dasar. Semua nilai di rates berarti "1 base = sekian mata uang tujuan"
dateTanggal kurs referensi yang dipakai
ratesObjek berisi kode mata uang tujuan dan nilainya
sourceSumber data, "ECB via Frankfurter"
cachedtrue bila jawaban diambil dari cache

Contoh di atas berarti 1 USD setara Rp18.108 menurut kurs referensi ECB tanggal 23 Oktober 2026. Perhatikan field date: contoh ini diambil pada Senin 26 Oktober, tetapi tanggal kursnya Jumat sebelumnya. Penjelasannya ada di bagian berikut.

Kenapa tanggal kurs tidak selalu hari ini?

ECB menerbitkan kurs referensi sekali sehari pada hari kerja, sekitar pukul 16.00 waktu Eropa Tengah, dan tidak menerbitkannya di akhir pekan maupun hari libur TARGET. Jadi pada pagi hari WIB, kurs hari ini belum terbit, dan di hari Sabtu-Minggu Anda akan menerima kurs Jumat. Selalu tampilkan date di antarmuka supaya pengguna tahu kurs itu berlaku untuk tanggal berapa.

Bagaimana mengonversi USD ke rupiah lewat API?

/kurs/convert menerima from, to, dan amount (lebih besar dari nol), lalu mengembalikan kurs yang dipakai dan hasil konversinya.

curl "https://api.apipedia.id/v1/kurs/convert?from=USD&to=IDR&amount=100" \
  -H "Authorization: Bearer apk_xxx"
{
  "from": "USD",
  "to": "IDR",
  "amount": 100,
  "rate": 18108,
  "result": 1810800,
  "date": "2026-10-23",
  "source": "ECB via Frankfurter",
  "cached": false
}

result adalah amount dikali rate. Endpoint ini praktis untuk satu kali konversi, misalnya di kalkulator atau bot. Untuk mengonversi banyak harga sekaligus, lebih hemat mengambil /kurs/latest sekali lalu mengalikannya sendiri.

Contoh: menampilkan harga produk dalam rupiah

Misalnya toko Anda mengimpor barang dengan harga dasar USD, atau Anda menjual layanan SaaS dengan harga dolar dan ingin menampilkan perkiraan rupiah. Ambil kurs sekali, simpan di cache backend selama beberapa jam, lalu hitung semua harga dari situ.

const BASE = "https://api.apipedia.id/v1";
let kurs = null; // { rates, date, diambil }

async function ambilKurs() {
  const enamJam = 6 * 60 * 60 * 1000;
  if (kurs && Date.now() - kurs.diambil < enamJam) return kurs;

  const res = await fetch(`${BASE}/kurs/latest?base=USD&symbols=IDR`, {
    headers: { Authorization: `Bearer ${process.env.APIPEDIA_KEY}` }, // apk_xxx
  });
  const body = await res.json();
  if (!body.is_success) {
    if (kurs) return kurs; // pakai kurs terakhir bila API gagal
    throw new Error(body.message);
  }
  kurs = { rates: body.data.rates, date: body.data.date, diambil: Date.now() };
  return kurs;
}

const rupiah = new Intl.NumberFormat("id-ID", {
  style: "currency", currency: "IDR", maximumFractionDigits: 0,
});

export async function hargaRupiah(hargaUsd) {
  const { rates, date } = await ambilKurs();
  return {
    teks: `≈ ${rupiah.format(hargaUsd * rates.IDR)}`,
    keterangan: `Kurs referensi ECB ${date}`,
  };
}

// hargaRupiah(29) -> { teks: "≈ Rp 525.132", keterangan: "Kurs referensi ECB 2026-10-23" }

Dengan cache enam jam, satu server hanya butuh sekitar empat request per hari, jauh di bawah kuota paket Free yang 500 request per hari. Tanda "≈" dan keterangan tanggal penting agar pembeli tidak menganggap angka itu harga final.

Apa batasan kurs referensi ECB?

Bagian ini perlu dibaca sebelum memakai API untuk urusan uang sungguhan.

  • Bukan kurs transaksi. Kurs referensi adalah nilai tengah untuk informasi. Bank, money changer, dan penyedia pembayaran memakai kurs jual dan beli sendiri yang bisa berbeda cukup jauh.
  • Bukan JISDOR Bank Indonesia. Untuk keperluan yang mewajibkan kurs resmi Indonesia, seperti pelaporan tertentu atau kontrak yang menyebut JISDOR, gunakan sumber Bank Indonesia. Untuk kurs pajak, rujuk Kurs Menteri Keuangan (KMK) yang ditetapkan mingguan.
  • Diperbarui harian. Data tidak bergerak sepanjang hari, jadi tidak cocok untuk trading atau penetapan harga real-time.
  • Terbatas 30 mata uang. Mata uang yang tidak ada di /kurs/currencies, misalnya VND atau SAR, belum didukung.

Untuk menampilkan perkiraan harga, laporan internal, kalkulator perjalanan, atau dasbor, kurs referensi ini sudah memadai. Untuk penagihan dalam mata uang asing, tambahkan margin selisih kurs dan cocokkan dengan kurs penyedia pembayaran Anda.

Ide pemakaian lain

  • Kalkulator perjalanan: konversi anggaran rupiah ke SGD, THB, atau JPY sebelum liburan.
  • Dasbor keuangan: konsolidasikan pendapatan multi-mata uang ke rupiah dengan kurs per tanggal.
  • Bot internal: jawab "berapa kurs dolar hari ini?" di Slack atau WhatsApp tim finance.
  • Jastip dan impor: perkirakan harga jual rupiah dari harga barang di luar negeri. Tambahkan estimasi ongkir domestik untuk harga sampai di tangan pembeli.

Pertanyaan yang sering diajukan

Apakah API kurs ini gratis?

Ya. Ketiga endpoint tersedia di paket Free yang gratis selamanya, dengan kuota 500 request per hari dan rate limit 10 request per detik.

Seberapa sering kurs diperbarui?

Mengikuti ECB, yaitu sekali sehari pada hari kerja Eropa. Field date menunjukkan tanggal kurs yang sedang dipakai.

Bisakah memakai rupiah sebagai mata uang dasar?

Bisa. Kirim base=IDR untuk mendapatkan nilai 1 rupiah dalam mata uang lain. Nilainya akan sangat kecil, jadi biasanya lebih mudah memakai mata uang asing sebagai dasar lalu menampilkan hasil dalam rupiah.

Apakah ini kurs Bank Indonesia?

Bukan. Data berasal dari kurs referensi ECB melalui Frankfurter, bukan JISDOR BI dan bukan kurs pajak KMK.

Bisakah ditanyakan lewat asisten AI?

Bisa. Dengan server MCP APIPedia, Claude bisa menjawab "100 dolar berapa rupiah?" memakai tool kurs_convert.

Mulai pakai API kurs

Buat akun gratis di console.apipedia.id, ambil kunci di menu Token API, lalu jalankan contoh curl /kurs/convert di atas. Harga dolar di aplikasi Anda bisa langsung tampil dalam rupiah, lengkap dengan tanggal kursnya.

Topik:

Tentang penulis

Tim APIPedia — Tim Engineering APIPedia

Tim engineering di balik APIPedia yang membangun dan memelihara API data Indonesia - ongkir, OCR KTP, data wilayah, BMKG, hingga server MCP - dan menulis panduan integrasinya dari pengalaman langsung.