Penukar Mata Wang & API Kadar Pertukaran

Kadar pertukaran masa nyata untuk 170+ mata wang (fiat, kripto, logam berharga). Bandingkan kadar merentasi 8 platform termasuk Wise, Revolut, PayPal. Data sejarah sehingga 1 tahun.

Apa yang boleh anda lakukan?
Kadar pertukaran masa nyata

170+ mata wang fiat, kripto & logam berharga dalam satu panggilan.

Perbandingan kadar platform

Bandingkan Wise, Revolut, PayPal, XE & 5 lagi untuk mencari tawaran terbaik.

Data sejarah sehingga 1 tahun

Snapshot harian untuk analisis trend, carta & ujian semula.

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

List Currencies


POST https://api.yeb.to/v1/currency/currencies
ParameterJenisWajibPenerangan
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}

Kod Respons

KodPenerangan
200 SuccessPermintaan diproses OK.
400 Bad RequestPengesahan input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak dibenarkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tidak dijangka.

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
ParameterJenisWajibPenerangan
api_key string ya Your API key
from string pilihan Source currency code (use with to for single pair)
to string pilihan Target currency code (use with from for single pair)
pairs array pilihan 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}

Kod Respons

KodPenerangan
200 SuccessPermintaan diproses OK.
400 Bad RequestPengesahan input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak dibenarkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tidak dijangka.

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
ParameterJenisWajibPenerangan
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 pilihan 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}

Kod Respons

KodPenerangan
200 SuccessPermintaan diproses OK.
400 Bad RequestPengesahan input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak dibenarkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tidak dijangka.

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
ParameterJenisWajibPenerangan
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}

Kod Respons

KodPenerangan
200 SuccessPermintaan diproses OK.
400 Bad RequestPengesahan input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak dibenarkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tidak dijangka.

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
ParameterJenisWajibPenerangan
api_key string ya Your API key
from string ya Source currency code
to string ya Target currency code
start_date string pilihan Start date in YYYY-MM-DD (default: 30 days ago)
end_date string pilihan 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}

Kod Respons

KodPenerangan
200 SuccessPermintaan diproses OK.
400 Bad RequestPengesahan input gagal.
401 UnauthorizedKunci API hilang / salah.
403 ForbiddenKunci tidak aktif atau tidak dibenarkan.
429 Rate LimitTerlalu banyak permintaan.
500 Server ErrorKegagalan tidak dijangka.

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

                

Penukar Mata Wang & API Kadar Pertukaran — 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

Soalan Lazim

Kami mengagregat kadar daripada pelbagai sumber bebas (fawazahmed0, fxratesapi, ECB) dan mengesahkan silang. Jika satu sumber tidak berfungsi, sumber lain menyediakan sandaran.

Markup platform berdasarkan struktur yuran yang diterbitkan. Kami menggunakan peratusan markup yang diketahui bagi setiap platform pada kadar pasaran pertengahan. Kadar sebenar mungkin berbeza sedikit bergantung pada jumlah dan koridor.

Ya. Kami menyokong 10+ mata wang kripto utama termasuk BTC, ETH, SOL, USDT, USDC, dan lain-lain. Logam berharga (XAU, XAG, XPT, XPD) juga tersedia.

Kadar sejarah tersedia sehingga 365 hari. Snapshot harian diambil secara automatik dan disimpan untuk carta dan analisis.

Kadar utama dimuat semula setiap 15 minit. Pengesahan sumber sekunder berjalan setiap 30 minit. Carian pasangan mata wang individu di-cache selama 5 minit.

Ya. Setiap permintaan, termasuk yang menghasilkan ralat, menggunakan kredit. Kredit anda terikat kepada bilangan permintaan, tanpa mengira kejayaan atau kegagalan. Jika ralat jelas disebabkan oleh masalah platform di pihak kami, kami akan memulihkan kredit yang terjejas (tiada bayaran balik tunai).

Hubungi kami di [email protected]. Kami mengambil maklum balas dengan serius—jika laporan pepijat atau permintaan ciri anda bermakna, kami boleh memperbaiki atau menambah baik API dengan cepat dan memberikan anda 50 kredit percuma sebagai penghargaan.

Ia bergantung pada API dan kadangkala pada endpoint. Sesetengah endpoint menggunakan data dari sumber luaran, yang mungkin mempunyai had yang lebih ketat. Kami juga menguatkuasakan had untuk mencegah penyalahgunaan dan mengekalkan kestabilan platform kami. Semak dokumentasi untuk had khusus setiap endpoint.

Kami beroperasi dengan sistem kredit. Kredit ialah unit prabayar yang tidak boleh dikembalikan yang anda belanjakan untuk panggilan API dan alatan. Kredit digunakan secara FIFO (yang paling lama dahulu) dan sah selama 12 bulan dari tarikh pembelian. Papan pemuka menunjukkan setiap tarikh pembelian dan tamat tempohnya.

Ya. Semua kredit yang dibeli (termasuk baki pecahan) sah selama 12 bulan dari pembelian. Kredit yang tidak digunakan tamat tempoh secara automatik dan dipadam secara kekal pada akhir tempoh sah. Kredit yang tamat tempoh tidak boleh dipulihkan atau ditukar kepada tunai atau nilai lain. Peraturan peralihan: kredit yang dibeli sebelum 22 Sep 2025 dianggap dibeli pada 22 Sep 2025 dan tamat tempoh pada 22 Sep 2026 (melainkan tamat tempoh lebih awal dinyatakan semasa pembelian).

Ya—dalam tempoh sah mereka. Kredit yang tidak digunakan kekal tersedia dan dibawa dari bulan ke bulan sehingga tamat tempoh 12 bulan selepas pembelian.

Kredit adalah tidak boleh dikembalikan. Beli hanya apa yang anda perlukan—anda sentiasa boleh menambah nilai kemudian. Jika ralat platform menyebabkan caj gagal, kami mungkin memulihkan kredit yang terjejas selepas siasatan. Tiada bayaran balik tunai.

Harga ditetapkan dalam kredit, bukan dolar. Setiap endpoint mempunyai kosnya sendiri—lihat lencana "Kredit / permintaan" di atas. Anda akan sentiasa tahu dengan tepat berapa yang anda belanjakan.
← Kembali ke API