Skip to content

Exchange Rates

Current and historical exchange rates by currency routes.

Operations

Retrieve current rates

Request

The from, to, and group parameters are not testable in our Sandbox environment at this time.

GET /rates
Fetch latest exchange rates of all currencies.

GET /rates?source=EUR&target=USD
Fetch latest exchange rate of one currency pair.

GET /rates?source=EUR&target=USD&time=2019-02-13T14:53:01
Fetch exchange rate of specific historical timestamp.

GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=day
Fetch exchange rate history over period of time with daily interval.

GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=hour
Fetch exchange rate history over period of time with hourly interval.

GET /rates?source=EUR&target=USD&from=2019-02-13T14:53:01&to=2019-03-13T14:53:01&group=minute
Fetch exchange rate history over period of time with 1 minute interval.

This endpoint only supports Bearer authentication for non-Affiliate partners.

Security
UserToken or PersonalToken
Query
sourcestring

Source (send) currency code.

Example:source=EUR
targetstring

Target (receive) currency code.

Example:target=USD
timestring

Timestamp to get historic exchange rate.
Supports only Timestamp (combined date and time). Timezone offset is supported but optional.
Supported examples: 2019-03-13T14:53:01 or 2019-03-13T14:53:01+0100.

Example:time=2019-02-13T14:53:01
fromstring

Period start date/time to get exchange rate history.
Supports Timestamp (combined date and time) or Date (date only).
Supported examples: 2019-03-13T14:53:01 or 2019-03-13.

Example:from=2019-02-13T14:53:01
tostring

Period end date/time to get exchange rate history.
Supports Timestamp (combined date and time) or Date (date only).
Timezone offset is supported but optional.
Supported examples: 2019-03-13T14:53:01+0100 or 2019-03-13+0100.

Example:to=2019-03-13T14:53:01
groupstring

Interval for history grouping.

Enum:"day""hour""minute"
Example:group=day
Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Example:f47ac10b-58cc-4372-a567-0e02b2c3d479
curl -i -X GET \
  'https://api.wise.com/2026Q3/rates?source=EUR&target=USD&time=2019-02-13T14%3A53%3A01&from=2019-02-13T14%3A53%3A01&to=2019-03-13T14%3A53%3A01&group=day' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479'

Responses

List of exchange rate values which meet your query criteria.

Headers
X-External-Correlation-Idstring, (uuid), <= 36 characters

Echoed back when X-External-Correlation-Id was included in the request. Learn more.

Example:"f47ac10b-58cc-4372-a567-0e02b2c3d479"
x-trace-idstring

Unique trace identifier assigned by Wise. Useful when contacting support about a specific request.

Example:"fba501b6d453b96789f52338f019341f"
Bodyapplication/json
Array [
ratenumber, (double)required

Exchange rate value.

Example:1.166
sourcestringrequired

Source (send) currency code.

Example:"EUR"
targetstringrequired

Target (receive) currency code.

Example:"USD"
timestringrequired

Timestamp for exchange rate.

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