Konverter Mata Uang & API Nilai Tukar

Nilai tukar real-time untuk 170+ mata uang (fiat, kripto, logam mulia). Bandingkan kurs di 8 platform termasuk Wise, Revolut, PayPal. Data historis hingga 1 tahun.

Apa yang bisa Anda lakukan?
Nilai tukar real-time

170+ mata uang fiat, kripto & logam mulia dalam satu panggilan.

Perbandingan kurs platform

Bandingkan Wise, Revolut, PayPal, XE & 5 lainnya untuk menemukan penawaran terbaik.

Data historis hingga 1 tahun

Snapshot harian untuk analisis tren, grafik & backtesting.

99.9 % Waktu Aktif
5ms Respons
20 req/s
0.001 Kredit / permintaan

List Currencies


POST https://api.yeb.to/v1/currency/currencies
ParameterTipeWajibDeskripsi
api_key string ya Your API key

Contoh

curl -X POST https://api.yeb.to/v1/currency/currencies \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY"
}'

Contoh Respons

{
  "currencies": [
    { "code": "EUR", "name": "Euro", "symbol": "\u20ac", "decimals": 2, "type": "fiat" },
    { "code": "USD", "name": "US Dollar", "symbol": "$", "decimals": 2, "type": "fiat" },
    { "code": "BTC", "name": "Bitcoin", "symbol": "\u20bf", "decimals": 8, "type": "crypto" },
    { "code": "XAU", "name": "Gold (Troy Ounce)", "symbol": "XAU", "decimals": 2, "type": "metal" }
  ],
  "total": 182,
  "top_fiat": ["USD","EUR","GBP","BGN","JPY","AUD","CAD","CHF"],
  "top_crypto": ["BTC","ETH","SOL","ADA","BNB","USDT","USDC","XRP","DOGE","DOT"],
  "metals": ["XAU","XAG","XPT","XPD"]
}
{"error":"Invalid API key","code":401}

Kode Respons

KodeDeskripsi
200 SuccessPermintaan diproses OK.
400 Bad RequestValidasi input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak diizinkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tak terduga.

List Currencies

currency/currencies 0.0010 credits

Parameters

API Key
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Get Exchange Rates


POST https://api.yeb.to/v1/currency/rates
ParameterTipeWajibDeskripsi
api_key string ya Your API key
from string opsional Source currency code (use with to for single pair)
to string opsional Target currency code (use with from for single pair)
pairs array opsional Array of pairs: [{"from":"EUR","to":"BGN"}, ...] (max 20)

Contoh

curl -X POST https://api.yeb.to/v1/currency/rates \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "from": "EUR",
  "to": "BGN"
}'

Contoh Respons

{
  "rates": [
    {
      "from": "EUR",
      "to": "BGN",
      "rate": 1.955800,
      "source": "fawazahmed0",
      "fetched_at": "2026-02-20T14:30:00Z"
    }
  ]
}
{"error":"pairs array or from/to parameters are required","code":422}

Kode Respons

KodeDeskripsi
200 SuccessPermintaan diproses OK.
400 Bad RequestValidasi input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak diizinkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tak terduga.

Get Exchange Rates

currency/rates 0.0050 credits

Parameters

API Key
body · string · required
From Currency
body · string
To Currency
body · string
Pairs
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Convert Currency


POST https://api.yeb.to/v1/currency/convert
ParameterTipeWajibDeskripsi
api_key string ya Your API key
from string ya Source currency code (e.g. EUR, USD, BTC)
to string ya Target currency code (e.g. BGN, GBP, ETH)
amount number ya Amount to convert (0.01 – 10,000,000)
include_platforms bool opsional Include platform rate comparison (default: true)

Contoh

curl -X POST https://api.yeb.to/v1/currency/convert \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "from": "EUR",
  "to": "BGN",
  "amount": 1000,
  "include_platforms": true
}'

Contoh Respons

{
  "from": "EUR",
  "to": "BGN",
  "amount": 1000,
  "mid_market": {
    "rate": 1.9558,
    "result": 1955.80
  },
  "platforms": {
    "wise":    { "rate": 1.9460, "result": 1946.03, "fee": 5.93, "total_cost": 15.70, "markup": "0.50%" },
    "revolut": { "rate": 1.9509, "result": 1950.91, "fee": 0,    "total_cost": 4.89,  "markup": "0.25%" },
    "paypal":  { "rate": 1.8776, "result": 1877.57, "fee": 3.99, "total_cost": 82.22, "markup": "4.00%" }
  },
  "sources": { "primary": "fawazahmed0" },
  "fetched_at": "2026-02-20T14:30:00Z"
}
{"error":"Exchange rate not available for xxx/yyy","code":404}

Kode Respons

KodeDeskripsi
200 SuccessPermintaan diproses OK.
400 Bad RequestValidasi input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak diizinkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tak terduga.

Convert Currency

currency/convert 0.0090 credits

Parameters

API Key
body · string · required
From Currency
body · string · required
To Currency
body · string · required
Amount
body · string · required
Include Platforms
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

List Platforms


POST https://api.yeb.to/v1/currency/platforms
ParameterTipeWajibDeskripsi
api_key string ya Your API key

Contoh

curl -X POST https://api.yeb.to/v1/currency/platforms \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY"
}'

Contoh Respons

{
  "platforms": {
    "wise":       { "name": "Wise",          "markup": 0.50, "fee_pct": 0.50, "fee_flat": 0, "weekend_extra": 0 },
    "revolut":    { "name": "Revolut",       "markup": 0.25, "fee_pct": 0,    "fee_flat": 0, "weekend_extra": 0.75 },
    "paypal":     { "name": "PayPal",        "markup": 4.00, "fee_pct": 2.90, "fee_flat": 0, "weekend_extra": 0 },
    "skrill":     { "name": "Skrill",        "markup": 3.99, "fee_pct": 1.45, "fee_flat": 0, "weekend_extra": 0 },
    "western_union": { "name": "Western Union", "markup": 2.00, "fee_pct": 0, "fee_flat": 5, "weekend_extra": 0 },
    "xe":         { "name": "XE",            "markup": 0.50, "fee_pct": 0,    "fee_flat": 0, "weekend_extra": 0 },
    "remitly":    { "name": "Remitly",       "markup": 1.50, "fee_pct": 0,    "fee_flat": 0, "weekend_extra": 0 },
    "ofx":        { "name": "OFX",           "markup": 0.50, "fee_pct": 0,    "fee_flat": 0, "weekend_extra": 0 }
  }
}
{"error":"Invalid API key","code":401}

Kode Respons

KodeDeskripsi
200 SuccessPermintaan diproses OK.
400 Bad RequestValidasi input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak diizinkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tak terduga.

List Platforms

currency/platforms 0.0010 credits

Parameters

API Key
body · string · required

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Historical Rates


POST https://api.yeb.to/v1/currency/historical
ParameterTipeWajibDeskripsi
api_key string ya Your API key
from string ya Source currency code
to string ya Target currency code
start_date string opsional Start date in YYYY-MM-DD (default: 30 days ago)
end_date string opsional End date in YYYY-MM-DD (default: today)

Contoh

curl -X POST https://api.yeb.to/v1/currency/historical \
  -H "Content-Type: application/json" \
  -d '{
  "api_key": "YOUR_KEY",
  "from": "EUR",
  "to": "BGN",
  "start_date": "2026-01-01",
  "end_date": "2026-01-31"
}'

Contoh Respons

{
  "from": "EUR",
  "to": "BGN",
  "start_date": "2026-01-01",
  "end_date": "2026-01-31",
  "rates": [
    { "date": "2026-01-01", "rate": 1.955800 },
    { "date": "2026-01-02", "rate": 1.955800 },
    { "date": "2026-01-03", "rate": 1.955600 }
  ],
  "count": 31
}
{"error":"Date range must not exceed 365 days","code":422}

Kode Respons

KodeDeskripsi
200 SuccessPermintaan diproses OK.
400 Bad RequestValidasi input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak diizinkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tak terduga.

Historical Rates

currency/historical 0.0200 credits

Parameters

API Key
body · string · required
From Currency
body · string · required
To Currency
body · string · required
Start Date
body · string
End Date
body · string

Code Samples


                
                
                
            

Response

Status:
Headers

                
Body

                

Konverter Mata Uang & API Nilai Tukar — Practical Guide

A hands-on guide to the Currency API: real-time exchange rates from multiple verified sources, platform fee comparison (Wise, Revolut, PayPal & more), historical rate data, and how to integrate it all into your application.

#What the Currency API does

The Currency API provides 5 endpoints for production-ready currency data: list 170+ currencies (fiat, crypto & metals), fetch live exchange rates from multiple verified sources, convert amounts with platform fee comparison, browse platform markups, and query historical daily rates for up to one year.

#Endpoints at a glance

Endpoint What it does Credits
currencies List all supported currencies with code, name, symbol, type (fiat/crypto/metal) 0.001
rates Get live exchange rates for one or more currency pairs (max 20) 0.005
convert Convert an amount & compare what you’d receive on 8 platforms 0.009
platforms List platforms with their markup percentages and fee structures 0.001
historical Daily historical rates for a pair (up to 365 days) 0.02

#Convert & Platform Comparison

The convert endpoint is the most popular. It returns the mid-market rate plus what you’d actually receive on each platform after their markup and fees.

POST
curl -X POST https://api.yeb.to/v1/currency/convert \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_KEY",
    "from": "EUR",
    "to": "BGN",
    "amount": 1000,
    "include_platforms": true
  }'

The response includes the mid-market conversion and a breakdown per platform:

  • rate — the effective rate after platform markup
  • result — what you actually receive
  • fee — the platform’s transfer fee
  • total_cost — total hidden cost vs mid-market (markup + fee)
  • markup — the platform’s markup percentage

#Supported platforms

We compare rates across 8 popular money transfer platforms:

PlatformMarkupFeeNotes
Wise0.50%VariableTransparent mid-market based
Revolut0.25%None (free plan)+0.75% on weekends
XE0.50%NoneClose to mid-market
OFX0.50%NoneGood for large amounts
Remitly1.50%VariablePopular for remittances
Western Union2.00%Flat feeWide physical network
Skrill3.99%1.45%Digital wallet
PayPal4.00%2.90%Highest total cost

#Currency coverage

The API supports 170+ currencies across three categories:

  • Fiat — USD, EUR, GBP, BGN, JPY, CHF, AUD, CAD, and 150+ more
  • Crypto — BTC, ETH, SOL, ADA, BNB, USDT, USDC, XRP, DOGE, DOT
  • Precious metals — XAU (gold), XAG (silver), XPT (platinum), XPD (palladium)

Use the currencies endpoint to fetch the full list with symbols and decimal precision.

#Historical rates

The historical endpoint returns daily rate snapshots for any pair. Useful for building charts, calculating averages, or backtesting strategies.

  • Default range: last 30 days
  • Maximum range: 365 days
  • Dates in YYYY-MM-DD format

#How rates are sourced

Reliability is built in through multi-source aggregation:

  1. Primary — fawazahmed0 exchange API (CDN-backed, 200+ currencies, no rate limit, updated every 15 min)
  2. Secondary — fxratesapi.com (real-time verification every 30 min)
  3. Fallback — European Central Bank (ECB) daily reference rates
  4. Cache — last known rate if all sources are temporarily unavailable (< 24h)

If the primary and secondary sources diverge by more than 1%, the system logs a deviation warning and uses the primary rate.

#Common use cases

  • E-commerce — display prices in the visitor’s local currency
  • Fintech apps — show users how much they’d save on each platform
  • Travel apps — quick multi-currency converter
  • Accounting — historical rates for end-of-month reconciliation
  • Crypto dashboards — live BTC/ETH prices alongside fiat

Pertanyaan yang Sering Diajukan

Kami mengagregasi kurs dari beberapa sumber independen (fawazahmed0, fxratesapi, ECB) dan memverifikasi silang. Jika satu sumber sedang down, sumber lainnya menyediakan cadangan.

Markup platform didasarkan pada struktur biaya yang dipublikasikan. Kami menerapkan persentase markup yang diketahui dari setiap platform ke kurs pasar menengah. Kurs aktual dapat sedikit bervariasi tergantung jumlah dan koridor.

Ya. Kami mendukung 10+ mata uang kripto utama termasuk BTC, ETH, SOL, USDT, USDC, dan lainnya. Logam mulia (XAU, XAG, XPT, XPD) juga tersedia.

Kurs historis tersedia hingga 365 hari. Snapshot harian diambil secara otomatis dan disimpan untuk pembuatan grafik dan analisis.

Kurs utama diperbarui setiap 15 menit. Verifikasi sumber sekunder berjalan setiap 30 menit. Pencarian pasangan mata uang individual di-cache selama 5 menit.

Ya. Setiap permintaan, bahkan yang menghasilkan error, mengonsumsi kredit. Kredit Anda terkait dengan jumlah permintaan, terlepas dari keberhasilan atau kegagalan. Jika error jelas disebabkan oleh masalah platform di pihak kami, kami akan memulihkan kredit yang terpengaruh (tanpa pengembalian uang tunai).

Hubungi kami di [email protected]. Kami menganggap umpan balik serius—jika laporan bug atau permintaan fitur Anda bermakna, kami dapat memperbaiki atau meningkatkan API dengan cepat dan memberikan Anda 50 kredit gratis sebagai terima kasih.

Tergantung pada API dan terkadang bahkan pada endpoint. Beberapa endpoint menggunakan data dari sumber eksternal, yang mungkin memiliki batas lebih ketat. Kami juga menerapkan batas untuk mencegah penyalahgunaan dan menjaga stabilitas platform kami. Periksa dokumentasi untuk batas spesifik setiap endpoint.

Kami beroperasi dengan sistem kredit. Kredit adalah unit prabayar yang tidak dapat dikembalikan yang Anda gunakan untuk panggilan API dan alat. Kredit dikonsumsi secara FIFO (yang terlama lebih dulu) dan berlaku selama 12 bulan sejak tanggal pembelian. Dashboard menampilkan setiap tanggal pembelian dan masa berlakunya.

Ya. Semua kredit yang dibeli (termasuk saldo pecahan) berlaku selama 12 bulan sejak pembelian. Kredit yang tidak digunakan kedaluwarsa secara otomatis dan dihapus secara permanen di akhir masa berlaku. Kredit yang kedaluwarsa tidak dapat dipulihkan atau dikonversi menjadi uang tunai atau nilai lainnya. Aturan transisi: kredit yang dibeli sebelum 22 Sep 2025 diperlakukan sebagai dibeli pada 22 Sep 2025 dan kedaluwarsa pada 22 Sep 2026 (kecuali kedaluwarsa lebih awal dinyatakan saat pembelian).

Ya—dalam masa berlakunya. Kredit yang tidak digunakan tetap tersedia dan dialihkan dari bulan ke bulan hingga kedaluwarsa 12 bulan setelah pembelian.

Kredit tidak dapat dikembalikan. Beli hanya yang Anda butuhkan—Anda selalu bisa mengisi ulang nanti. Jika error platform menyebabkan tagihan gagal, kami dapat memulihkan kredit yang terpengaruh setelah penyelidikan. Tidak ada pengembalian uang tunai.

Harga ditetapkan dalam kredit, bukan dolar. Setiap endpoint memiliki biayanya sendiri—lihat lencana "Kredit / permintaan" di atas. Anda akan selalu tahu persis berapa yang Anda keluarkan.
← Kembali ke API