Zurück zum Blog

Wise Wechselkurs-API: So erhalten Sie Wise-Kurse – und wann eine Alternative besser ist

V
Vlado Grigirov
September 04, 2026
Currency API Exchange Rates Wise API Comparison Fintech Developer Guide

Wer schon einmal versucht hat, den Wise-Wechselkurs im eigenen Produkt anzuzeigen, hat vermutlich festgestellt, dass die Wise Wechselkurs-API nicht ganz das ist, was man erwartet hat. Wise veröffentlicht wirklich hervorragende Mittelkursdaten und stellt sie über einen REST-Endpunkt bereit – aber sie liegt hinter einem Partner-Onboarding, sie lebt in einer Zahlungs-API statt in einer Marktdaten-API, und der Kurs, den Sie zurückbekommen, ist bewusst nicht der Preis, den Ihre Nutzer zahlen.

Dieser Leitfaden zeigt genau, was Wise bereitstellt, wie die Authentifizierung funktioniert, was jeder Endpunkt tatsächlich liefert und welche fünf strukturellen Grenzen darüber entscheiden, ob Wise die richtige Quelle für Ihr Projekt ist. Und er beantwortet ehrlich die Frage, um die es den meisten eigentlich geht: Wenn Sie einfach nur verlässliche Mittelkurse in einer App brauchen – ist Wise dafür das richtige Werkzeug?

Was die Wise Wechselkurs-API wirklich ist

Wise ist ein Geldtransfer-Unternehmen. Seine API – unter dem Namen Wise Platform – ist dafür gebaut, Geld zu bewegen: Quotes erstellen, Empfänger anlegen, Überweisungen finanzieren, Salden abstimmen, Karten ausgeben. Wechselkurse tauchen dort auf, weil man ohne sie keine Überweisung bepreisen kann, nicht weil Wise Marktdaten verkauft.

Diese Einordnung erklärt fast alle Überraschungen, auf die Entwickler stoßen. Kurse sind ein kleines Modul innerhalb einer Zahlungsplattform und auf die Währungsrouten beschränkt, die Wise tatsächlich bedient.

Drei getrennte Oberflächen, drei unterschiedliche Zugangswege

Die größte Verwirrungsquelle: „Die Wise-Kurs-API" bezeichnet mindestens drei verschiedene Dinge.

  1. GET /rates – der Exchange-Rates-Endpunkt. Liefert Wises Mittelkurs für ein Währungspaar, aktuell oder historisch. Das ist es, was die meisten meinen.
  2. POST /quotes – der Quotes-Endpunkt. Liefert eine bepreiste Überweisung: Kurs, Gebühr, geschätzte Laufzeit und einen Ablaufzeitpunkt für den Kurs.
  3. GET /comparisons – der Comparison-Endpunkt. Liefert geschätzte Preis- und Geschwindigkeitsdaten für Wise und konkurrierende Anbieter und Banken auf einer Route.

Alle drei stehen in derselben Referenz, nutzen unterschiedliche Authentifizierungsverfahren und beantworten sehr unterschiedliche Fragen. Der Griff zum falschen Endpunkt ist die übliche Ursache für „Warum weicht dieser Kurs von dem auf wise.com ab?".

Wie man Zugang zu Wise-Kursdaten bekommt

Es gibt keinen Self-Service-API-Key. Der Zugang teilt sich in zwei Wege:

Platform-Partner. Sie durchlaufen das Onboarding als Wise-Platform-Partner und authentifizieren sich mit OAuth 2.0 (Client ID und Client Secret), um ein Token zu erhalten. Die /rates-Referenz merkt an, dass der Endpunkt „nur Bearer-Authentifizierung für Nicht-Affiliate-Partner" unterstützt, per User Token oder Personal Token.

Affiliate-Partner. Sie treten dem Wise-Affiliate-Programm bei und schreiben anschließend an partnerwise@wise.com, um Zugangsdaten anzufordern. Wise prüft die Anfrage und stellt bei Freigabe Basic-Auth-Zugangsdaten aus, die genau zwei Endpunkte freischalten: Exchange Rates List und Get Temporary Quote. Mehr nicht.

Hier trennen sich die Wege. Wenn Sie eine Vergleichsseite, ein Widget für einen Reiseblog oder eine Fintech-Marketingseite bauen, ist der Affiliate-Weg für Sie gemacht. Wenn Sie ein Produktfeature bauen – Mehrwährungspreise, Rechnungsstellung, einen Umrechner, einen internen Report – bitten Sie ein Payments-Partnerteam um Freigabe für Marktdaten, und das will keine der beiden Seiten aus dieser Beziehung.

Beachten Sie außerdem: Wise verankert die API-Version im URL-Pfad. Produktion ist https://api.wise.com/2026Q3/rates, Sandbox https://api.wise-sandbox.com/2026Q3/rates. Ältere Affiliate-Dokumentation verweist weiterhin auf /v1/rates unter api.transferwise.com. Versionen im Pfad bedeuten, dass Ihre Integration still altert, sofern niemand das Upgrade verantwortet.

Den Wise-Rates-Endpunkt aufrufen

Sobald Sie ein Token haben, ist der Endpunkt sauber und gut entworfen. Vier Aufrufformen sind dokumentiert:

# Latest rates for every supported currency
curl -X GET 'https://api.wise.com/2026Q3/rates' \
  -H 'Authorization: Bearer <YOUR_TOKEN>'

# Latest rate for a single pair
curl -X GET 'https://api.wise.com/2026Q3/rates?source=EUR&target=USD' \
  -H 'Authorization: Bearer <YOUR_TOKEN>'

# Rate at a specific historical moment
curl -X GET 'https://api.wise.com/2026Q3/rates?source=EUR&target=USD&time=2019-02-13T14:53:01' \
  -H 'Authorization: Bearer <YOUR_TOKEN>'

# A time series, grouped by day, hour or minute
curl -X GET 'https://api.wise.com/2026Q3/rates?source=EUR&target=USD&from=2019-02-13&to=2019-03-13&group=day' \
  -H 'Authorization: Bearer <YOUR_TOKEN>'

Die Antwort ist ein Array, ein Objekt pro Intervall:

[
  {
    "rate": 1.166,
    "source": "EUR",
    "target": "USD",
    "time": "2018-08-31T10:43:31+0000"
  }
]

Zwei Details sind erwähnenswert. Erstens akzeptiert group die Werte day, hour oder minute – minutengenaue Historie ist ungewöhnlich großzügig und für Backtesting wirklich nützlich. Zweitens ist die Antwort immer ein Array, auch bei einem einzelnen Paar; parsen Sie entsprechend:

import requests

TOKEN = "<YOUR_TOKEN>"
BASE = "https://api.wise.com/2026Q3"

def wise_rate(source: str, target: str) -> float:
    r = requests.get(
        f"{BASE}/rates",
        params={"source": source, "target": target},
        headers={"Authorization": f"Bearer {TOKEN}"},
        timeout=10,
    )
    r.raise_for_status()
    payload = r.json()
    if not payload:
        raise LookupError(f"No rate returned for {source}/{target}")
    return payload[0]["rate"]  # array, even for one pair

print(wise_rate("EUR", "USD"))

Noch eine gut dokumentierte Falle: Wenn Sie time und from/to in derselben Anfrage senden, gewinnen die Bereichsparameter und time wird ignoriert. Das verursachte einen langlebigen Bug im Wise-Node von n8n, der einen Upstream-Patch brauchte. Senden Sie das eine oder das andere, niemals beides.

Der Mittelkurs ist nicht der Preis, den Ihre Nutzer zahlen

Wises /rates-Endpunkt liefert den Mittelkurs (Mid-Market Rate) – die Mitte zwischen An- und Verkaufspreis am Interbankenmarkt. Das ist der „echte" Kurs, und damit wirbt Wise. Es ist zugleich per Definition ein Kurs, zu dem niemand handelt.

Wenn Sie wissen wollen, was eine Überweisung tatsächlich kostet, brauchen Sie /quotes:

curl -X POST 'https://api.wise.com/2026Q3/quotes' \
  -H 'Authorization: Bearer <YOUR_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
    "sourceCurrency": "GBP",
    "targetCurrency": "USD",
    "sourceAmount": 100
  }'

Die Quote-Antwort enthält die Felder, die Preislogik wirklich braucht: rate, rateType (z. B. FIXED), rateExpirationTime, eine fee-Aufschlüsselung, feePercentage und ein paymentOptions-Array mit estimatedDelivery je Einzahlungsmethode. Sie liefert außerdem notices – Wises eigenes dokumentiertes Beispiel warnt, dass ein Kunde maximal drei offene Überweisungen mit garantiertem Kurs halten kann, bevor weitere auf den Live-Kurs zurückfallen.

Die praktische Konsequenz: Eine Quote ist ein kurzlebiges, zustandsbehaftetes Objekt, das an eine Überweisung gebunden ist – keine Kursabfrage, die Sie im Takt pollen können. Wenn Ihr Anwendungsfall „den heutigen USD-Preis auf einer Preisseite anzeigen" lautet, sind Quotes die falsche Primitive und Rates die richtige. Wenn er „dem Nutzer exakt sagen, was ankommt" lautet, überschätzen Rates allein den Betrag. Diese Verwechslung ist eine häufige Quelle der Rundungs- und Abstimmungsdifferenzen, die wir im Leitfaden zu Währungsrundung und Nachkommastellen beschreiben.

Was die Comparison-API wirklich liefert

Der Comparison-Endpunkt ist der interessanteste und am meisten missverstandene Teil der Plattform. Er liefert anbieterweise Preis- und Geschwindigkeitsschätzungen für Banken und Transferdienste auf einer Route:

curl -X GET 'https://api.wise.com/2026Q3/comparisons?sourceCurrency=GBP&targetCurrency=EUR&sendAmount=10000&filter=POPULAR'

Bevor Sie darauf etwas bauen, lesen Sie Wises eigene Methodikhinweise genau. Wise gibt an, beworbene Kurse und Gebühren von Websites Dritter zu erheben, daraus den Aufschlag jedes Anbieters auf den Mittelkurs zum Erhebungszeitpunkt zu berechnen und diesen gespeicherten Aufschlag anschließend auf den aktuellen Mittelkurs anzuwenden, um die Zahl zu erzeugen, die Sie erhalten. Die Erhebung läuft etwa einmal pro Stunde.

Anders gesagt: Wettbewerberpreise aus diesem Endpunkt sind modellierte Schätzungen aus stündlichen Erhebungen, keine Live-Quotes. Wise sagt das klar – das spricht für den Anbieter –, aber es bedeutet, dass die Daten für alles ungeeignet sind, wo Sie für die Zahl des Wettbewerbers geradestehen müssten. Wise beschränkt die Schätzungen zudem auf Ein- und Auszahlung ausschließlich per Banküberweisung und weist darauf hin, dass viele Anbieter Karten- und Bargeldtransaktionen sehr abweichend bepreisen.

Strukturell ist die Antwort denormalisiert: Ein Anbieter kann mehrere Quotes für dasselbe Währungspaar liefern, weil Preis und Laufzeit je Zielland variieren. Sie erhalten ein providers-Array, jeweils mit einem quotes-Array – das auf eine Kennzahl je Anbieter zu reduzieren, ist Ihre Aufgabe, nicht die der API.

Fünf Grenzen, die Sie vor dem Bauen auf Wise-Kursen kennen sollten

  1. Zugang ist eine Geschäftsbeziehung, keine Registrierung. Affiliate-Freigabe oder Platform-Onboarding stehen vor jedem Kursaufruf. Es gibt kein Dashboard, in dem Sie in dreißig Sekunden einen Key erzeugen.
  2. Die Abdeckung folgt den Transferrouten. Wise unterstützt die Währungen, in denen es Geld bewegen kann. Ein dedizierter Datenanbieter deckt die Währungen ab, die er bepreisen kann – eine größere Menge. Finexly deckt über 170 Währungen ab, darunter solche, für die kein Transferkorridor existiert.
  3. Kurse sind ein Modul in einer Zahlungs-API. Drumherum liegen Quotes, Empfänger, KYC, Karten und Webhooks. Das ist eine große, sicherheitskritische Integration, die man pflegen muss, wenn man eigentlich nur eine Zahl wollte.
  4. Kein veröffentlichtes Kontingent. Die /rates-Referenz dokumentiert eine 429-Antwort, nennt aber kein öffentliches Anfragelimit – Sie dimensionieren also gegen eine unbekannte Grenze. Vergleichen Sie das mit einem expliziten Modell mit Headern in jeder Antwort.
  5. Zwei Währungen pro Aufruf. /rates nimmt genau ein source und ein target. Preise in acht Währungen bedeuten acht Aufrufe oder einen Volltabellen-Abruf mit clientseitigem Filtern.

Nichts davon ist ein Fehler. So sieht eine Zahlungs-API aus, wenn man sie als Daten-API benutzt.

Wann Wise die richtige Wahl ist – und wann nicht

Ihr AnwendungsfallBeste WahlWarum
Vergleichsseite oder Affiliate-Content „Banken vs. Wise"Wise Comparison APIEs ist die einzige Quelle dafür, und der Affiliate-Weg existiert genau dafür
Tatsächlich Geld über Wise sendenWise Quotes + TransfersSie brauchen das bepreiste, ablaufende Quote-Objekt
Den Wise-Markenkurs zeigen, weil Nutzer danach fragenWise /ratesDie Markenzuordnung ist der ganze Zweck
Mehrwährungspreise, Checkout oder UmrechnerDedizierte Währungs-APISie brauchen Breite, einen sofortigen Key und einen einfachen Vertrag
Rechnungsstellung, Billing und UmsatzreportingDedizierte Währungs-APISie brauchen eine stabile historische Reihe und einen Prüfpfad
Backtesting oder AnalyticsBeidesWises Minutenhistorie ist stark; eine Daten-API ist leichter zu bekommen
Wenn Sie in den ersten drei Zeilen landen, nutzen Sie Wise. Es ist das richtige Werkzeug, und dieser Artikel tut nicht so, als wäre es anders. Landen Sie in den unteren Zeilen, zahlen Sie Partner-Onboarding-Kosten für eine Abfrage – und eine zweckgebaute Wechselkurs-API ist der kürzere Weg. Dieselbe Logik gilt für FX-Endpunkte eines Zahlungsdienstleisters als Datenquelle, was wir in Stripe FX Quotes API vs. dedizierte Währungs-API durchgespielt haben.

Stattdessen eine dedizierte Wechselkurs-API nutzen

Eine Daten-API dreht den Kompromiss um: kein Onboarding-Gespräch, breitere Abdeckung, ein explizites Kontingent und eine Antwort, in der nichts außer dem Kurs steht.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.finexly.com/v1/rate?from=EUR&to=USD"
{ "pair": "EUR_USD", "rate": 1.0852 }

Preise in mehreren Währungen sind ein einziger Roundtrip statt eines Aufrufs je Paar:

const apiKey = process.env.FINEXLY_API_KEY;

async function priceTable(base, quotes) {
  const q = quotes.map((c) => `${base}_${c}`).join(',');
  const res = await fetch(`https://api.finexly.com/v1/convert?q=${q}`, {
    headers: { Authorization: `Bearer ${apiKey}` },
  });
  if (!res.ok) throw new Error(`Finexly ${res.status}`);
  return res.json();
}

const rates = await priceTable('USD', ['EUR', 'GBP', 'JPY', 'CAD', 'AUD']);
// { "USD_EUR": { "rate": 0.9215 }, "USD_GBP": { "rate": 0.7892 }, ... }

Und wenn Sie den umgerechneten Betrag statt des Multiplikators wollen, lassen Sie die API rechnen, damit Rundung an genau einer Stelle passiert:

import requests

def convert(amount, src, dst, api_key):
    r = requests.get(
        "https://api.finexly.com/v1/convert-amount",
        params={"from": src, "to": dst, "amount": amount},
        headers={"Authorization": f"Bearer {api_key}"},
        timeout=10,
    )
    r.raise_for_status()
    return r.json()["result"]

print(convert(100, "USD", "EUR", "YOUR_API_KEY"))

Jede Antwort trägt X-RateLimit-Limit, X-RateLimit-Used und X-RateLimit-Units, das Kontingent ist also beobachtbar statt geraten. Kurse aktualisieren sich jede Minute während der Handelszeiten. Der kostenlose Tarif bietet 1.000 Anfragen pro Monat bei 10 Anfragen pro Minute, bezahlte Pläne starten bei 6,99 $/Monat für 3.500 Anfragen und reichen bis 100.000 im Professional-Plan – die vollständige Aufschlüsselung steht auf der Preisseite.

Kurz zum Volumen: 1.000 Anfragen im Monat klingen nach wenig, bis man cached. Ein einzelner Job, der die komplette Kurstabelle alle fünfzehn Minuten aktualisiert, verbraucht rund 2.900 Aufrufe im Monat; alle sechzig Minuten etwa 730. Caching macht Ihr Aufrufvolumen zu einer Funktion der Zeit statt des Traffics – genau das macht einen kleinen Tarif in jeder Größenordnung tragfähig. Die Muster stehen in Caching und Fehlerbehandlung für Währungs-APIs.

Migration von Wise /rates

Wenn Sie eine bestehende Integration umziehen, ist die Zuordnung fast eins zu eins:

WiseEntsprechungHinweis
GET /ratesGET /v1/currencies, dann /v1/rateWises nacktes /rates liefert alles; Währungsliste einmal abrufen
GET /rates?source=X&target=YGET /v1/rate?from=X&to=YLiefert ein Objekt, kein einelementiges Array
Mehrere Paare, mehrere AufrufeGET /v1/convert?q=X_Y,X_ZEine Anfrage
Manuelles amount * rateGET /v1/convert-amountRundung serverseitig
?time= historischer PunktHistorischer EndpunktErfordert einen bezahlten Plan; siehe den Leitfaden zu historischen Kursen
Basic- oder OAuth-TokenAuthorization: BearerKey aus dem Dashboard, kein Freigabeschritt
Was nicht migriert, ist die Marke Wise. Wenn Ihr Wertversprechen „Wir zeigen Ihnen den Wise-Kurs" lautet, kann nur Wise ihn liefern. Wenn es „Unsere Preise stimmen in Ihrer Währung" lautet, genügt jede genaue Mittelkursquelle – und die Frage der Datenherkunft lohnt sich ohnehin, wir entwirren sie in Woher Wechselkurs-APIs ihre Daten beziehen.

Zum Schluss: Bitte scrapen Sie wise.com nicht. Mehrere Marktplatz-Angebote versprechen genau das, und sie sind fragil, rechtlich trüb und brechen beim ersten Markup-Wechsel der Seite. Wenn Sie speziell die Wise-Zahl brauchen, gehen Sie den Affiliate-Weg und holen Sie sie sauber aus der API. Wenn Sie eine Zahl brauchen, nehmen Sie eine API, die dafür gebaut ist. Unser Vergleich kostenloser Währungs-APIs und der Leitfaden zu Frankfurter-Alternativen behandeln die Optionen ohne Key ausführlicher.

Häufig gestellte Fragen

Ist die Wise Wechselkurs-API kostenlos? Für den Rates-Endpunkt gibt es keinen veröffentlichten Preis pro Anfrage, aber der Zugang ist nicht offen. Sie müssen freigegebener Wise-Platform-Partner oder freigegebener Affiliate-Partner sein, was eine Bewerbung und Prüfung bedeutet statt eines Anmeldeformulars. Für die meisten Projekte kostet es Zeit, nicht Geld.

Kann ich die Wise-API ohne Konto nutzen? Nein. Beide dokumentierten Wege verlangen Zugangsdaten – Bearer-Tokens für Platform-Partner, Basic-Auth mit Client ID und Secret für Affiliates. Der einzige Endpunkt, dessen dokumentiertes Beispiel keinen Authorization-Header zeigt, ist /comparisons; darauf Produktionstraffic zu bauen, wäre unklug.

Liefert die Wise-API denselben Kurs wie wise.com? /rates liefert den Mittelkurs, also die Kennzahl, mit der Wise wirbt. Der Betrag, den ein Kunde tatsächlich erhält, kommt aus /quotes und enthält die Wise-Gebühr. Wenn Ihre Zahlen nicht zur Website passen, vergleichen Sie fast sicher einen Mittelkurs mit einer bepreisten Quote.

Wie weit reicht die historische Kursdatenhistorie von Wise zurück? Der Endpunkt akzeptiert beliebige from/to-Zeitstempel mit Gruppierung nach day, hour oder minute; Wise nennt in der Referenz kein festes frühestes Datum – testen Sie also den konkret benötigten Zeitraum, statt Abdeckung anzunehmen.

Was ist die beste Alternative zur Wise Wechselkurs-API? Das hängt davon ab, was Sie ersetzen. Für Wettbewerbspreisvergleiche gibt es keine Alternative – Wises Comparison API ist einzigartig. Für Mittelkurse in einem Produkt gibt Ihnen eine dedizierte Währungsdaten-API mehr Abdeckung, sofortige Keys und ein explizites Kontingent. Vergleichen Sie die Optionen auf unserer API-Vergleichsseite.

Darf ich den Wise-Kurs meinen Nutzern rechtlich zeigen? Als freigegebener Affiliate oder Platform-Partner ja, im Rahmen dieser Vereinbarung. Die öffentliche Website zu scrapen, um dieselben Zahlen zu bekommen, ist etwas anderes und nichts, worauf wir ein Geschäft aufbauen würden.


Bereit, das Partner-Onboarding zu überspringen und einfach Kurse zu bekommen? Holen Sie sich Ihren kostenlosen Finexly-API-Key – ohne Kreditkarte. Starten Sie mit 1.000 kostenlosen Anfragen pro Monat über 170+ Währungen und erweitern Sie erst, wenn Ihr Traffic es tut. Sie können die Kurse auch zuerst im Browser mit unserem Währungsrechner ausprobieren.

Vlado Grigirov

Senior Currency Markets Analyst & Financial Strategist

Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...

View full profile →

Diesen Artikel teilen