Valutaomregner & vekselkurs-API

Realtids vekselkurser for 170+ valutaer (fiat, krypto, metaller). Sammenlign kurser på 8 platforme inkl. Wise, Revolut, PayPal. Historiske data op til 1 år.

Hvad kan du gøre?
Realtids vekselkurser

170+ fiat-, krypto- & ædelmetalvalutaer i ét enkelt kald.

Platformkurssammenligning

Sammenlign Wise, Revolut, PayPal, XE & 5 flere for at finde det bedste tilbud.

Historiske data op til 1 år

Daglige øjebliksbilleder til trendanalyse, diagrammer & backtesting.

99.9 % Oppetid
5ms Svar
20 req/s
0.001 Kreditter / forespørgsel

List Currencies


POST https://api.yeb.to/v1/currency/currencies
ParameterTypePåkrævetBeskrivelse
api_key string ja Your API key

Eksempel

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

Svareksempel

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

Svarkoder

KodeBeskrivelse
200 SuccessForespørgsel behandlet OK.
400 Bad RequestInputvalidering mislykkedes.
401 UnauthorizedManglende / forkert API-nøgle.
403 ForbiddenNøgle inaktiv eller ikke tilladt.
429 Rate LimitFor mange forespørgsler.
500 Server ErrorUventet fejl.

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
ParameterTypePåkrævetBeskrivelse
api_key string ja Your API key
from string valgfri Source currency code (use with to for single pair)
to string valgfri Target currency code (use with from for single pair)
pairs array valgfri Array of pairs: [{"from":"EUR","to":"BGN"}, ...] (max 20)

Eksempel

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

Svareksempel

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

Svarkoder

KodeBeskrivelse
200 SuccessForespørgsel behandlet OK.
400 Bad RequestInputvalidering mislykkedes.
401 UnauthorizedManglende / forkert API-nøgle.
403 ForbiddenNøgle inaktiv eller ikke tilladt.
429 Rate LimitFor mange forespørgsler.
500 Server ErrorUventet fejl.

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
ParameterTypePåkrævetBeskrivelse
api_key string ja Your API key
from string ja Source currency code (e.g. EUR, USD, BTC)
to string ja Target currency code (e.g. BGN, GBP, ETH)
amount number ja Amount to convert (0.01 – 10,000,000)
include_platforms bool valgfri Include platform rate comparison (default: true)

Eksempel

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

Svareksempel

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

Svarkoder

KodeBeskrivelse
200 SuccessForespørgsel behandlet OK.
400 Bad RequestInputvalidering mislykkedes.
401 UnauthorizedManglende / forkert API-nøgle.
403 ForbiddenNøgle inaktiv eller ikke tilladt.
429 Rate LimitFor mange forespørgsler.
500 Server ErrorUventet fejl.

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
ParameterTypePåkrævetBeskrivelse
api_key string ja Your API key

Eksempel

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

Svareksempel

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

Svarkoder

KodeBeskrivelse
200 SuccessForespørgsel behandlet OK.
400 Bad RequestInputvalidering mislykkedes.
401 UnauthorizedManglende / forkert API-nøgle.
403 ForbiddenNøgle inaktiv eller ikke tilladt.
429 Rate LimitFor mange forespørgsler.
500 Server ErrorUventet fejl.

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
ParameterTypePåkrævetBeskrivelse
api_key string ja Your API key
from string ja Source currency code
to string ja Target currency code
start_date string valgfri Start date in YYYY-MM-DD (default: 30 days ago)
end_date string valgfri End date in YYYY-MM-DD (default: today)

Eksempel

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

Svareksempel

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

Svarkoder

KodeBeskrivelse
200 SuccessForespørgsel behandlet OK.
400 Bad RequestInputvalidering mislykkedes.
401 UnauthorizedManglende / forkert API-nøgle.
403 ForbiddenNøgle inaktiv eller ikke tilladt.
429 Rate LimitFor mange forespørgsler.
500 Server ErrorUventet fejl.

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

                

Valutaomregner & vekselkurs-API — 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

Ofte stillede spørgsmål

Vi aggregerer kurser fra flere uafhængige kilder (fawazahmed0, fxratesapi, ECB) og krydstjekker dem. Hvis én kilde er nede, leverer de andre fallback.

Platformmarginer er baseret på offentliggjorte gebyrstrukturer. Vi anvender hver platforms kendte marginprocent på midtmarkedskursen. Faktiske kurser kan variere en smule afhængigt af beløb og korridor.

Ja. Vi understøtter 10+ store kryptovalutaer inkl. BTC, ETH, SOL, USDT, USDC og flere. Ædelmetaller (XAU, XAG, XPT, XPD) er også tilgængelige.

Historiske kurser er tilgængelige i op til 365 dage. Daglige øjebliksbilleder tages automatisk og gemmes til diagrammer og analyser.

Primære kurser opdateres hvert 15. minut. Sekundær kildeverificering kører hvert 30. minut. Individuelle paropslag caches i 5 minutter.

Ja. Hver forespørgsel, selv dem der resulterer i fejl, forbruger kreditter. Dine kreditter er bundet til antallet af forespørgsler, uanset succes eller fejl. Hvis fejlen tydeligt skyldes et platformproblem på vores side, gendanner vi de berørte kreditter (ingen kontant refusion).

Kontakt os på [email protected]. Vi tager feedback alvorligt—hvis din fejlrapport eller funktionsanmodning er meningsfuld, kan vi rette eller forbedre API'et hurtigt og give dig 50 gratis kreditter som tak.

Det afhænger af API'et og nogle gange endda af endpointet. Nogle endpoints bruger data fra eksterne kilder, som kan have strengere grænser. Vi håndhæver også grænser for at forhindre misbrug og holde vores platform stabil. Se dokumentationen for den specifikke hastighedsgrænse for hvert endpoint.

Vi opererer med et kreditsystem. Kreditter er forudbetalte, ikke-refunderbare enheder, du bruger på API-kald og værktøjer. Kreditter forbruges FIFO (ældste først) og er gyldige i 12 måneder fra købsdatoen. Dashboardet viser hver købsdato og dens udløb.

Ja. Alle købte kreditter (inklusive brøkdele) er gyldige i 12 måneder fra købet. Ubrugte kreditter udløber automatisk og slettes permanent ved udgangen af gyldighedsperioden. Udløbne kreditter kan ikke gendannes eller konverteres til kontanter eller anden værdi. Overgangsregel: kreditter købt før 22. sep. 2025 behandles som købt den 22. sep. 2025 og udløber den 22. sep. 2026 (medmindre en tidligere udløbsdato var angivet ved købet).

Ja—inden for deres gyldighedsperiode. Ubrugte kreditter forbliver tilgængelige og overføres fra måned til måned, indtil de udløber 12 måneder efter købet.

Kreditter er ikke-refunderbare. Køb kun det, du har brug for—du kan altid fylde op senere. Hvis en platformfejl forårsager en mislykket opkrævning, kan vi gendanne de berørte kreditter efter undersøgelse. Ingen kontant refusion.

Priser er angivet i kreditter, ikke dollars. Hvert endpoint har sin egen pris—se mærket "Kreditter / forespørgsel" ovenfor. Du ved altid præcis, hvad du bruger.
← Tilbage til API'er