LUME EXCHANGE RATES / API REFERENCE

API-documentatie

De ingestelde bron is Externe wisselkoersaanbieder. Antwoorden vermelden bron en publicatietijd. Beschikbare valuta volgen de echte gegevens.

Base URLhttps://lumeexchangerates.com

Overzicht

Lume Exchange Rates combineert koersvergelijking, omrekening en historie voor reizen, internationale prijzen en producten.

De ingestelde bron is Externe wisselkoersaanbieder. Antwoorden vermelden bron en publicatietijd. Beschikbare valuta volgen de echte gegevens.

HTTPSJSONUTF-8GET / POSTUTC

Snel aan de slag

Lees de valutalijst en kies anchor en targets. Veldnamen en codes zijn in alle talen gelijk.

cURL
curl --request GET 'https://lumeexchangerates.com/v1/quotes?anchor=USD&targets=EUR,JPY'
JavaScript · browser
const response = await fetch('/v1/quotes?anchor=USD&targets=EUR,JPY', {
  credentials: 'same-origin'
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const { meta, anchor, data } = await response.json();
console.log(anchor, meta.as_of, data);

Het browservoorbeeld gebruikt dezelfde oorsprong. Privé-sites vereisen toegangsrechten; een URL omzeilt de aanmelding niet.

Toegang en authenticatie

Toegang volgt de websitebevoegdheden en browsersessie. Klantsleutels, Bearer-authenticatie voor klanten en een publieke cross-origin-API zijn nog niet beschikbaar. Bewaar de App ID op de server.

ParameterTypeBeschrijving
Base URLURLhttps://lumeexchangerates.com
Content-Typeheaderapplication/json
Customer API key—Deze gehoste voorvertoning gebruikt de ingelogde browsersessie. Er worden nog geen individuele API-sleutels voor klanten uitgegeven.
Provider App IDserver secretOPEN_EXCHANGE_RATES_APP_ID
CORSsame-originEr worden geen cross-origin-toegangsheaders verstrekt.

Authorization: Token is uitsluitend voor de serververbinding met Externe wisselkoersaanbieder, niet voor klanten. Controleer HTTP-status en Content-Type: toegangsfouten kunnen HTML of omleidingen zijn.

Endpoints

MethodPathBeschrijving
GET/v1/currenciesAlle symbolen met actuele koersen en providernamen. Inclusief beschikbare alternatieve valuta en metalen.
GET/v1/quotesBasissymbool; standaard USD. Elk actueel providersymbool is toegestaan.
GET/v1/exchangeNiet-negatief numeriek bedrag om om te rekenen.
GET/v1/historyGebruik /v1/history voor een datum en /v1/series voor een datumbereik.
GET/v1/seriesGebruik /v1/history voor een datum en /v1/series voor een datumbereik.
GET/v1/candlesOHLC
GET/v1/capabilitiesBeschikbaarheid
GET/api/rates/latestLaatst gepubliceerde koers
GET/api/currenciesValuta
GET/api/rates/historyGrafieken
GET/api/rates/previousVorige UTC-dag
POST/api/convertOmrekenen

/v1 is de compacte query-API; /api levert websitekoersen, historie en omrekening. Standaardwaarden en antwoordvormen verschillen.

GET /v1/currencies

Alle symbolen met actuele koersen en providernamen. Inclusief beschikbare alternatieve valuta en metalen.

Parameter: —

cURL
curl --request GET 'https://lumeexchangerates.com/v1/currencies'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "mode": "provider",
    "source": "Externe wisselkoersaanbieder",
    "source_url": "https://openexchangerates.org/",
    "as_of": "2026-01-01T00:00:00.000Z",
    "fetched_at": "2026-01-01T00:00:05.000Z",
    "currency_count": 3,
    "includes_alternative": true,
    "refresh_interval_seconds": 300,
    "provider_plan": "Unlimited",
    "notice": "Illustrative response; not live rates."
  },
  "data": [
    {
      "code": "USD",
      "name": "United States Dollar"
    },
    {
      "code": "EUR",
      "name": "Euro"
    },
    {
      "code": "JPY",
      "name": "Japanese Yen"
    }
  ]
}
ParameterTypeBeschrijving
data[].codestringHoofdlettercode; alternatieve activa kunnen langere codes of onderstrepingstekens hebben.
data[].namestringValutanaam van de provider, anders de code.

GET /v1/quotes

Basissymbool; standaard USD. Elk actueel providersymbool is toegestaan.

ParameterTypeVerplichtStandaardBeschrijving
anchorstringOptioneelUSDBasissymbool; standaard USD. Elk actueel providersymbool is toegestaan.
targetsstringOptioneelalleDoelsymbolen gescheiden door komma’s. Laat weg om alle beschikbare symbolen terug te krijgen.
cURL
curl --request GET 'https://lumeexchangerates.com/v1/quotes?anchor=USD&targets=EUR,JPY'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "mode": "provider",
    "source": "Externe wisselkoersaanbieder",
    "source_url": "https://openexchangerates.org/",
    "as_of": "2026-01-01T00:00:00.000Z",
    "fetched_at": "2026-01-01T00:00:05.000Z",
    "currency_count": 3,
    "includes_alternative": true,
    "refresh_interval_seconds": 300,
    "provider_plan": "Unlimited",
    "notice": "Illustrative response; not live rates."
  },
  "anchor": "USD",
  "data": [
    {
      "currency": "EUR",
      "value": 0.9
    },
    {
      "currency": "JPY",
      "value": 150
    }
  ]
}

/v1/quotes?anchor=EUR&targets=USD,JPY geeft doeleenheden per basiseenheid. Dubbele targets vervallen; lege, kleine of onbeschikbare codes geven 400.

ParameterTypeBeschrijving
anchorstringBasissymbool; standaard USD. Elk actueel providersymbool is toegestaan.
data[].currencystringNaar
data[].valuenumberrates[currency] / rates[anchor]

GET /v1/exchange

Niet-negatief numeriek bedrag om om te rekenen.

ParameterTypeVerplichtStandaardBeschrijving
fromstringOptioneelUSDSymbool van de bronvaluta; standaard USD.
tostringOptioneelKRWSymbool van de doelvaluta; standaard KRW.
quantitynumberOptioneel1Niet-negatief numeriek bedrag om om te rekenen.
cURL
curl --request GET 'https://lumeexchangerates.com/v1/exchange?from=USD&to=EUR&quantity=100'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "mode": "provider",
    "source": "Externe wisselkoersaanbieder",
    "source_url": "https://openexchangerates.org/",
    "as_of": "2026-01-01T00:00:00.000Z",
    "fetched_at": "2026-01-01T00:00:05.000Z",
    "currency_count": 3,
    "includes_alternative": true,
    "refresh_interval_seconds": 300,
    "provider_plan": "Unlimited",
    "notice": "Illustrative response; not live rates."
  },
  "data": {
    "from": "USD",
    "to": "EUR",
    "quantity": 100,
    "rate": 0.9,
    "result": 90
  }
}

/v1/exchange?from=USD&to=EUR&quantity=100. Geef from en to altijd op; deze oudere GET-route gebruikt standaard KRW. Lege, negatieve, NaN- of oneindige waarden en overloop geven 400.

ParameterTypeBeschrijving
data.ratenumberrates[to] / rates[from]
data.resultnumberquantity × rate

GET /api/rates/latest

Laatst gepubliceerde koers

Parameter: —

cURL
curl --request GET 'https://lumeexchangerates.com/api/rates/latest'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "provider": "Externe wisselkoersaanbieder",
    "kind": "latest_published",
    "provider_timestamp": 1767225600,
    "published_at": "2026-01-01T00:00:00.000Z",
    "expected_interval_seconds": 300,
    "lag_seconds": 5,
    "stale": false,
    "timezone": "Asia/Seoul",
    "fetched_at": "2026-01-01T00:00:05.000Z",
    "persistent_storage": false
  },
  "data": {
    "base": "USD",
    "rates": {
      "USD": 1,
      "EUR": 0.9,
      "JPY": 150
    }
  }
}
ParameterTypeBeschrijving
data.basestringUSD
data.ratesobjectAlle beschikbare USD-relatieve koersen; controleer codes in het nieuwste antwoord.
meta.provider_timestampintegerUTC · UNIX seconds
meta.published_atstringISO 8601 · UTC
meta.fetched_atstringOphaaltijd van de server, niet de publicatietijd van de provider.
meta.expected_interval_secondsintegerseconds
meta.stalebooleantrue bij een ouderdom groter dan max(3 × verwacht interval, 900 seconden).
meta.lag_secondsintegerSeconden sinds publicatie door de provider.
meta.persistent_storagebooleanOf de dienst voor blijvende gegevensverzameling is aangesloten.
meta.kindstringlatest_published | utc_daily

GET /api/currencies

Valuta

ParameterTypeVerplichtStandaardBeschrijving
langstringOptioneelenen / ko / ja / zh / es / hi / bn / de / fr / nl / pt / it / ru / vi / th / ar / id / ur
cURL
curl --request GET 'https://lumeexchangerates.com/api/currencies?lang=en'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "provider": "Externe wisselkoersaanbieder",
    "kind": "latest_published",
    "provider_timestamp": 1767225600,
    "published_at": "2026-01-01T00:00:00.000Z",
    "expected_interval_seconds": 300,
    "lag_seconds": 5,
    "stale": false,
    "timezone": "Asia/Seoul",
    "fetched_at": "2026-01-01T00:00:05.000Z",
    "persistent_storage": false
  },
  "data": [
    {
      "code": "USD",
      "name": "US Dollar"
    },
    {
      "code": "EUR",
      "name": "Euro"
    }
  ]
}

Intl.DisplayNames lokaliseert namen; onbekende activa behouden hun code. Alleen actuele codes worden geretourneerd.

GET /api/rates/history

Gebruik /v1/history voor een datum en /v1/series voor een datumbereik.

ParameterTypeVerplichtStandaardBeschrijving
fromstringOptioneelUSDVan
tostringOptioneelEURNaar
periodenumOptioneel1M1D | 1W | 1M | 3M | 1Y
cURL
curl --request GET 'https://lumeexchangerates.com/api/rates/history?from=USD&to=EUR&period=1W'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "kind": "utc_daily",
    "from": "USD",
    "to": "EUR",
    "period": "1W",
    "provider": "Externe wisselkoersaanbieder",
    "persistent_storage": false
  },
  "data": [
    {
      "time": "2026-01-01",
      "value": 0.9
    },
    {
      "time": "2026-01-02",
      "value": 0.91
    }
  ]
}

1W begint zeven dagen geleden; 1M, 3M en 1Y volgen kalenderperioden. Daggegevens eindigen gisteren. Maand- en schrikkelgrenzen worden aangepast. Langere perioden worden per kalendermaand opgehaald, gesorteerd en ontdubbeld.

ParameterTypeBeschrijving
data[].timestring | integerDagelijks: YYYY-MM-DD (UTC). Intradag: UNIX-seconden.
data[].valuenumberrates[to] / rates[from]
meta.kindstringutc_daily | intraday
JSON
{
  "meta": {
    "kind": "intraday",
    "persistent_storage": false
  },
  "data": []
}

Zonder verzameldienst retourneert 1D HTTP 200 met een lege lijst, geen fout of minutengegevens. Historisch ontbrekende valuta kunnen niet beschikbaar zijn.

GET /api/rates/previous

Vorige UTC-dag

ParameterTypeVerplichtStandaardBeschrijving
fromstringOptioneelUSDVan
tostringOptioneelEURNaar
cURL
curl --request GET 'https://lumeexchangerates.com/api/rates/previous?from=USD&to=EUR'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "kind": "utc_daily",
    "reference_date": "2026-01-01",
    "reference_timestamp": "2026-01-01T23:59:59Z"
  },
  "data": {
    "from": "USD",
    "to": "EUR",
    "rate": 0.9,
    "rates": {
      "USD": 1,
      "EUR": 0.9
    }
  }
}

Vergelijking met de vorige UTC-dag. reference_timestamp is het logische dageinde, niet de publicatietijd. Procentuele wijziging: (huidig − referentie) / referentie × 100.

POST /api/convert

Omrekenen

ParameterTypeVerplichtStandaardBeschrijving
Content-TypeheaderVerplichtapplication/jsonapplication/json
amountnumberVerplicht—0 ≤ amount ≤ 1e15; finite
fromstringVerplicht—Van
tostringVerplicht—Naar
cURL
curl --request POST 'https://lumeexchangerates.com/api/convert' \
  --header 'Content-Type: application/json' \
  --data '{"amount":100,"from":"USD","to":"EUR"}'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "provider": "Externe wisselkoersaanbieder",
    "kind": "latest_published",
    "provider_timestamp": 1767225600,
    "published_at": "2026-01-01T00:00:00.000Z",
    "expected_interval_seconds": 300,
    "lag_seconds": 5,
    "stale": false,
    "timezone": "Asia/Seoul",
    "fetched_at": "2026-01-01T00:00:05.000Z",
    "persistent_storage": false
  },
  "data": {
    "amount": 100,
    "from": "USD",
    "to": "EUR",
    "rate": 0.9,
    "result": 90
  }
}

Stuur amount als JSON-getal; de tekenreeks "100" geeft 400. Codes moeten in de actuele momentopname staan. Er wordt geen betaling of transactie uitgevoerd.

GET /v1/history

Gebruik /v1/history voor een datum en /v1/series voor een datumbereik.

ParameterTypeVerplichtStandaardBeschrijving
dateYYYY-MM-DDVerplicht—1999-01-01 ≤ date ≤ UTC today
anchorstringOptioneelUSDVan
targetsCSVOptioneelallNaar
cURL
curl --request GET 'https://lumeexchangerates.com/v1/history?date=2026-01-01&anchor=EUR&targets=USD,JPY'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "date": "2026-01-01",
    "published_at": "2026-01-01T23:00:00Z",
    "partial_day": false
  },
  "anchor": "EUR",
  "data": [
    {
      "currency": "USD",
      "value": 1.1
    }
  ]
}
ParameterTypeBeschrijving
meta.partial_daybooleanDagelijkse UTC-referentie
meta.published_atISO 8601 UTCLaatst gepubliceerde koers

GET /v1/series

Gebruik /v1/history voor een datum en /v1/series voor een datumbereik.

ParameterTypeVerplichtStandaardBeschrijving
start / endYYYY-MM-DDVerplicht—1999-01-01 ≤ start ≤ end < UTC today; ≤ 366 days inclusive
anchor / targetsstring / CSVOptioneelUSD / allsame as /v1/quotes
cURL
curl --request GET 'https://lumeexchangerates.com/v1/series?start=2026-01-01&end=2026-01-07&anchor=USD&targets=EUR'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "start": "2026-01-01",
    "end": "2026-01-02",
    "timezone": "UTC",
    "count": 2
  },
  "anchor": "USD",
  "data": [
    {
      "date": "2026-01-01",
      "rates": [
        {
          "currency": "EUR",
          "value": 0.9
        }
      ]
    },
    {
      "date": "2026-01-02",
      "rates": [
        {
          "currency": "EUR",
          "value": 0.91
        }
      ]
    }
  ]
}

OHLC via /v1/candles vereist toestemming van de gegevensleverancier. Controleer /v1/capabilities; beschikbaarheid hangt af van het ingestelde abonnement.

JSON
{
  "timezone": "UTC",
  "date_bounds": "inclusive",
  "max_days": 366,
  "upstream_chunk": "calendar_month"
}

GET /v1/candles

OHLC via /v1/candles vereist toestemming van de gegevensleverancier. Controleer /v1/capabilities; beschikbaarheid hangt af van het ingestelde abonnement.

ParameterTypeVerplichtStandaardBeschrijving
startYYYY-MM-DDTHH:mm:00ZVerplicht—UTC; completed period only; ≥ 2016-12-19
periodenumVerplicht—1m | 5m | 15m | 30m | 1h | 12h | 1d | 1w | 1mo
anchor / targetsstring / CSVOptioneelUSD / allprovider base / symbols
cURL
curl --request GET 'https://lumeexchangerates.com/v1/candles?start=2026-01-01T00%3A00%3A00Z&period=1d&anchor=USD&targets=EUR'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "meta": {
    "start": "2026-01-01T00:00:00Z",
    "end": "2026-01-01T23:59:59Z",
    "period": "1d"
  },
  "anchor": "USD",
  "data": [
    {
      "currency": "EUR",
      "open": 0.9,
      "high": 0.92,
      "low": 0.89,
      "close": 0.91,
      "average": 0.905
    }
  ]
}
JSON
{
  "source": "provider_ohlc",
  "synthetic": false,
  "cross_rate_ohlc": false,
  "max_age": {
    "1m": "1h",
    "5m": "24h",
    "15m": "24h",
    "30m": "32d",
    "1h": "32d"
  },
  "alignment_minutes": {
    "5m": 5,
    "15m": 15,
    "30m": 30,
    "1h": 30,
    "12h": 30,
    "1d": 30
  },
  "calendar_alignment": {
    "1w": "00:00 UTC",
    "1mo": "YYYY-MM-01T00:00:00Z"
  }
}

GET /v1/capabilities

Beschikbaarheid

Parameter: —

cURL
curl --request GET 'https://lumeexchangerates.com/v1/capabilities'

Voorbeeldwaarden en datums zijn geen actuele koersen; lijsten kunnen ingekort zijn. Gebruik de API-verkenner voor echte gegevens.

JSON
{
  "data": {
    "latest": true,
    "currencies": true,
    "conversion": "latest_snapshot",
    "historical": "verified_on_request",
    "time_series": true,
    "ohlc": false,
    "refresh_interval_seconds": 300,
    "customer_api_keys": false
  }
}

OHLC via /v1/candles vereist toestemming van de gegevensleverancier. Controleer /v1/capabilities; beschikbaarheid hangt af van het ingestelde abonnement.

Gegevens en precisie

Indicatieve koersen zijn geen bankaanbod of gegarandeerde transactieprijs. Gebruik dezelfde momentopname en rond pas bij weergave of afrekening af.

Formula
rate = rates[to] / rates[from]
result = amount * rate

Koersen behouden hun zwevendekommaprecisie zonder vaste afkapping van decimalen. Rond alleen af voor weergave of volgens je boekhoudbeleid.

Eén broneenheid, ook voor JPY. Vermenigvuldig alleen voor weergave met 100 indien gewenst. Houd rekening met JavaScript-kommafouten en kies expliciete afrondingsregels voor afrekening.

Tijd en datum

UNIX is UTC-seconden; ISO gebruikt Z. UTC-datums kunnen lokaal verschillen. De website gebruikt de browserzone. meta.timezone is alleen een weergavehint.

ParameterTypeBeschrijving
/v1 meta.as_ofISO 8601 | YYYY-MM-DDTijdstempel van de provider
/v1 meta.refresh_interval_secondsintegerCache
/v1 meta.currency_countinteger… valuta beschikbaar
/v1 meta.modeprovider | dailyGegevensbron
/api meta.published_atISO 8601 UTCLaatst gepubliceerde koers
history data[].timeYYYY-MM-DD UTC | UNIX secondsDagelijkse UTC-referentie

Fouten

HTTPcodeBeschrijving
400INVALID_CURRENCY / INVALID_INPUT / INVALID_CONVERSION / INVALID_JSON / INVALID_PERIODVoer een niet-negatief bedrag in
405METHOD_NOT_ALLOWEDGET: /v1/*, /api/rates/*, /api/currencies; POST: /api/convert
404NOT_FOUND/api/rates/*
422HISTORY_NOT_IN_PLAN / DATA_UNAVAILABLEBeschikbaarheid
429RATE_LIMITED/api/* · 90 / IP / minute
404NOT_FOUNDUnknown /v1 endpoint
422FEATURE_NOT_IN_PLAN / HISTORY_NOT_IN_PLAN / OHLC_NOT_IN_PLANBeschikbaarheid
400INVALID_DATE / INVALID_DATE_RANGE / INVALID_PERIOD / INCOMPLETE_PERIODVoer een niet-negatief bedrag in
503PROVIDER_UNAVAILABLE / DATA_UNAVAILABLE / SERVICE_UNAVAILABLEKoersen zijn niet beschikbaar. Probeer het zo opnieuw.
JSON
{
  "error": {
    "code": "INVALID_CURRENCY",
    "message": "Symbol not available in latest provider data"
  }
}

message kan ontbreken. Gebruik HTTP-status en error.code. Corrigeer invoer; herhaal 429 of tijdelijke 503 beperkt met exponentiële wachttijd en willekeurige spreiding. Retry-After is niet gegarandeerd.

Limieten en cache

Actuele gegevens worden gecachet; ingesteld op vijf minuten. /api: 90 verzoeken per minuut per IP, lokaal per instantie bij directe toegang en gedeeld met Redis. /v1 past toekomstige planquota nog niet toe.

Cache-Control: no-store betreft het browserantwoord, niet de servercache. Hergebruik momentopnamen per publicatietijd. Bij storingen kan de laatste geldige waarde terugkomen; controleer stale of as_of. Worker-cache is niet blijvend.

JSON
{
  "endpoints": [
    "/v1/history",
    "/v1/series",
    "/v1/candles",
    "/v1/capabilities"
  ],
  "requests_per_ip_per_minute": 60,
  "cache": "in_process",
  "completed_history_cache_seconds": 3600,
  "current_day_cache_seconds": 60
}

Beschikbaarheid

OHLC via /v1/candles vereist toestemming van de gegevensleverancier. Controleer /v1/capabilities; beschikbaarheid hangt af van het ingestelde abonnement.

OHLC via /v1/candles vereist toestemming van de gegevensleverancier. Controleer /v1/capabilities; beschikbaarheid hangt af van het ingestelde abonnement.

API-verkenner

Roep de API van deze site aan. Je providersleutel blijft op de server.

VERZOEK / cURL
ANTWOORD / JSON
Voer het verzoek uit om het echte JSON-antwoord te bekijken.
WELCOME TO LUME EXCHANGE RATES

Begin met bouwen met Lume Exchange Rates

Ontdek echte providerkoersen zonder betaalkaart. Gratis API-toegang is momenteel een voorvertoning; er ontstaat geen aankoop of afschrijving.

Echte koersen · Geen betaling nodig

SUBSCRIPTION / USD

Controleer je abonnement

Terugkerend abonnement in USD. Controleer vóór bevestiging de uiteindelijke belastingen en het totaal in het beveiligde betaalvenster.

Toepasselijke belastingen worden bij het betalen getoond. Je kunt verlenging beheren en opzeggen via het facturatieportaal.

Paddle

ACCOUNT / BILLING

Je abonnement