Convertisseur de devises et API de taux de change

Taux de change en temps réel pour plus de 170 devises (fiat, crypto, métaux). Comparez les taux sur 8 plateformes dont Wise, Revolut, PayPal. Données historiques jusqu'à 1 an.

Que pouvez-vous faire ?
Taux de change en temps réel

Plus de 170 devises fiat, crypto et métaux précieux en un seul appel.

Comparaison des taux par plateforme

Comparez Wise, Revolut, PayPal, XE et 5 autres pour trouver la meilleure offre.

Données historiques jusqu'à 1 an

Instantanés quotidiens pour l'analyse de tendances, graphiques et backtesting.

99.9 % Disponibilité
5ms Réponse
20 req/s
0.001 Crédits / requête

List Currencies


POST https://api.yeb.to/v1/currency/currencies
ParamètreTypeReq.Description
api_key string oui Your API key

Exemple

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

Exemple de réponse

{
  "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}

Codes de réponse

CodeDescription
200 SuccessRequête traitée avec succès.
400 Bad RequestValidation d'entrée échouée.
401 UnauthorizedClé API manquante ou incorrecte.
403 ForbiddenClé inactive ou non autorisée.
429 Rate LimitTrop de requêtes.
500 Server ErrorErreur inattendue.

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
ParamètreTypeReq.Description
api_key string oui Your API key
from string opt. Source currency code (use with to for single pair)
to string opt. Target currency code (use with from for single pair)
pairs array opt. Array of pairs: [{"from":"EUR","to":"BGN"}, ...] (max 20)

Exemple

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

Exemple de réponse

{
  "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}

Codes de réponse

CodeDescription
200 SuccessRequête traitée avec succès.
400 Bad RequestValidation d'entrée échouée.
401 UnauthorizedClé API manquante ou incorrecte.
403 ForbiddenClé inactive ou non autorisée.
429 Rate LimitTrop de requêtes.
500 Server ErrorErreur inattendue.

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
ParamètreTypeReq.Description
api_key string oui Your API key
from string oui Source currency code (e.g. EUR, USD, BTC)
to string oui Target currency code (e.g. BGN, GBP, ETH)
amount number oui Amount to convert (0.01 – 10,000,000)
include_platforms bool opt. Include platform rate comparison (default: true)

Exemple

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

Exemple de réponse

{
  "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}

Codes de réponse

CodeDescription
200 SuccessRequête traitée avec succès.
400 Bad RequestValidation d'entrée échouée.
401 UnauthorizedClé API manquante ou incorrecte.
403 ForbiddenClé inactive ou non autorisée.
429 Rate LimitTrop de requêtes.
500 Server ErrorErreur inattendue.

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
ParamètreTypeReq.Description
api_key string oui Your API key

Exemple

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

Exemple de réponse

{
  "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}

Codes de réponse

CodeDescription
200 SuccessRequête traitée avec succès.
400 Bad RequestValidation d'entrée échouée.
401 UnauthorizedClé API manquante ou incorrecte.
403 ForbiddenClé inactive ou non autorisée.
429 Rate LimitTrop de requêtes.
500 Server ErrorErreur inattendue.

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
ParamètreTypeReq.Description
api_key string oui Your API key
from string oui Source currency code
to string oui Target currency code
start_date string opt. Start date in YYYY-MM-DD (default: 30 days ago)
end_date string opt. End date in YYYY-MM-DD (default: today)

Exemple

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"
}'

Exemple de réponse

{
  "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}

Codes de réponse

CodeDescription
200 SuccessRequête traitée avec succès.
400 Bad RequestValidation d'entrée échouée.
401 UnauthorizedClé API manquante ou incorrecte.
403 ForbiddenClé inactive ou non autorisée.
429 Rate LimitTrop de requêtes.
500 Server ErrorErreur inattendue.

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

                

Convertisseur de devises et API de taux de change — 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

Questions fréquemment posées

Nous agrégeons les taux de plusieurs sources indépendantes (fawazahmed0, fxratesapi, BCE) et les vérifions mutuellement. Si une source est indisponible, les autres assurent la relève.

Les marges des plateformes sont basées sur les structures de frais publiées. Nous appliquons le pourcentage de marge connu de chaque plateforme au taux moyen du marché. Les taux réels peuvent varier légèrement selon le montant et le corridor.

Oui. Nous supportons plus de 10 cryptomonnaies majeures dont BTC, ETH, SOL, USDT, USDC et plus. Les métaux précieux (XAU, XAG, XPT, XPD) sont également disponibles.

Les taux historiques sont disponibles sur une période allant jusqu'à 365 jours. Des instantanés quotidiens sont pris automatiquement et stockés pour les graphiques et analyses.

Les taux primaires sont actualisés toutes les 15 minutes. La vérification par la source secondaire s'exécute toutes les 30 minutes. Les recherches de paires individuelles sont mises en cache pendant 5 minutes.

Oui. Chaque requête, même celles qui entraînent des erreurs, consomme des crédits. Vos crédits sont liés au nombre de requêtes, indépendamment du succès ou de l'échec. Si l'erreur est clairement due à un problème de plateforme de notre côté, nous restaurerons les crédits affectés (pas de remboursement en espèces).

Contactez-nous à [email protected]. Nous prenons les retours au sérieux—si votre rapport de bug ou demande de fonctionnalité est pertinent, nous pouvons corriger ou améliorer l'API rapidement et vous accorder 50 crédits gratuits en guise de remerciement.

Cela dépend de l'API et parfois même du endpoint. Certains endpoints utilisent des données de sources externes, qui peuvent avoir des limites plus strictes. Nous imposons également des limites pour prévenir les abus et maintenir la stabilité de notre plateforme. Consultez la documentation pour la limite spécifique de chaque endpoint.

Nous fonctionnons avec un système de crédits. Les crédits sont des unités prépayées et non remboursables que vous dépensez pour les appels API et les outils. Les crédits sont consommés en FIFO (les plus anciens en premier) et sont valables 12 mois à compter de la date d'achat. Le tableau de bord affiche chaque date d'achat et son expiration.

Oui. Tous les crédits achetés (y compris les soldes fractionnaires) sont valables 12 mois à compter de l'achat. Les crédits inutilisés expirent automatiquement et sont définitivement supprimés à la fin de la période de validité. Les crédits expirés ne peuvent être restaurés ni convertis en espèces ou autre valeur. Règle transitoire : les crédits achetés avant le 22 sept. 2025 sont traités comme achetés le 22 sept. 2025 et expirent le 22 sept. 2026 (sauf si une expiration antérieure a été indiquée lors de l'achat).

Oui—dans leur période de validité. Les crédits inutilisés restent disponibles et sont reportés de mois en mois jusqu'à leur expiration 12 mois après l'achat.

Les crédits sont non remboursables. N'achetez que ce dont vous avez besoin—vous pouvez toujours recharger plus tard. Si une erreur de plateforme cause un échec de facturation, nous pouvons restaurer les crédits affectés après enquête. Pas de remboursement en espèces.

Les prix sont fixés en crédits, pas en dollars. Chaque endpoint a son propre coût—voir le badge « Crédits / requête » ci-dessus. Vous saurez toujours exactement ce que vous dépensez.
← Retour aux APIs