Skip to content

Comparison

The comparison API can be used to request price and speed information about various money transfer providers. This includes not only Wise but other providers in the market.

Price Estimation

The quotes (price and speed) provided by this API are based off of real quotes collected from 3rd party websites. We collect both the advertised exchange rate and fee for each provider for various amounts. When a comparison is requested, we calculate the markup percentage of the collected exchange rate on the mid-market rate at the time of collection. We then apply this markup to the current mid-market rate to provide a realistic estimate of what each provider offers. We collect data for all providers around once per hour to ensure we provide as accurate and up-to-date information as possible.

Note: Today, we only provide estimations for FX transactions with a Bank Transfer pay-in and pay-out option. This is important to stress as many providers offer significantly different fees and exchange rates when used debit/credit card, cash etc.

For more details on the data collection process please see the following page: https://wise.com/gb/compare/disclaimer

If you have questions or suspect any data to be inaccurate or incomplete please contact us at: comparison@wise.com

Delivery Estimation

Similar to price, we collect speed data for most (if not all) providers which we have price information for. Many providers display speed estimates to their customers in a number of different ways.

Some examples:

  • "The transfer should be complete within 2-5 days"
  • "The money should arrive in your account within 48 hours"
  • "Should arrive by 26th Aug"
  • "Could take up to 4 working days"

The below API intends to model these in a consistent format by providing a minimum and maximum range for all delivery estimations. An estimate that states "up to X" will have "max" set to a duration but "min" as null; "from X" will have "min" set to a duration and "max" as null. Finally, for those providers who offer a specific, point in time estimation (like Wise), the API will surface a duration where "min" and "max" are equal.

Quotes structure

In order to provide the most flexible and accurate data for clients, we surface a denormalized list of quotes per provider where each quote represents a unique collection of comparison "dimensions".

A single given provider may expose multiple quotes for the same currency route. The most common example is where a provider offers different pricing for two different countries which use the same currency, e.g.:

Provider X:

  • GBP EUR 1000 [GB -> ES] fee: 10, rate: 1.5
  • GBP EUR 1000 [GB -> DE] fee: 8, rate: 1.5
  • GBP EUR 1000 [GB -> FR] fee: 10, rate: 1.35

The same principle applies for speed, i.e. a provider may have different speed estimates for different target countries. Hence, we expose these as discrete quotes, where a quote is a unique combination of route, country, speed and price factors.

A client may choose to reduce this set of quotes down to a single or several quotes in order to display a relevant quote to a given user. An example where we take the cheapest quote for a given currency route (and also surface the target country) can be seen at the below link:

Request a comparison quote

Request

Request price and speed comparison data for money transfer providers on a given currency route.

You must provide either sendAmount or recipientGetsAmount (but not both).

Query
sourceCurrencystringrequired

ISO 4217 source currency code

Example:sourceCurrency=GBP
targetCurrencystringrequired

ISO 4217 target currency code

Example:targetCurrency=EUR
sendAmountnumber

Amount to send in source currency. Must provide either sendAmount or recipientGetsAmount.

Example:sendAmount=10000
recipientGetsAmountnumber

Amount to be received in target currency. Must provide either sendAmount or recipientGetsAmount.

midMarketRatenumber

Current mid-market rate between the source and target currency

wiseFeenumber

Wise's fee, if the Wise quote is known

wiseEstimatedDeliverystring

Wise's estimated delivery timestamp, if the Wise quote is known

wiseQuoteCreatedTimestring

Timestamp when the Wise quote was created

payInMethodstring

Change the pay-in method of the Wise quote only (all other quotes will remain as bank transfer)

sourceCountrystring

Filter by source country (ISO 3166-1 Alpha-2 code)

targetCountrystring

Filter by target country (ISO 3166-1 Alpha-2 code)

providerCountrystring

Filter by provider country (ISO 3166-1 Alpha-2 code)

filterstring

Filter by most popular competitors

Value:"POPULAR"
numberOfProvidersinteger, (int32)

Number of popular competitors to return if filter is set to POPULAR - default value is 4

providerTypesArray of strings

Filter by provider type

Items Enum:"bank""moneytransferprovider""travelMoney"
providersstring

Filter by specific provider aliases

excludePartnersboolean

Exclude Wise's partner banks - default true

includeWiseboolean

Overrides filters to ensure Wise data is returned, even if exclusionary filters are applied

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/v4/comparisons?sourceCurrency=GBP&targetCurrency=EUR&sendAmount=10000&recipientGetsAmount=0&midMarketRate=0&wiseFee=0&wiseEstimatedDelivery=string&wiseQuoteCreatedTime=string&payInMethod=string&sourceCountry=string&targetCountry=string&providerCountry=string&filter=POPULAR&numberOfProviders=0&providerTypes=bank&providers=string&excludePartners=true&includeWise=true' \
  -H 'X-External-Correlation-Id: f47ac10b-58cc-4372-a567-0e02b2c3d479'

Responses

Comparison data retrieved successfully.

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
sourceCurrencystring or null

ISO 4217 source currency code

Example:"GBP"
targetCurrencystring or null

ISO 4217 target currency code

Example:"EUR"
sourceCountrystring or null

Source country (ISO 3166-1 Alpha-2 code)

Example:null
targetCountrystring or null

Target country (ISO 3166-1 Alpha-2 code)

Example:null
providerCountrystring or null

Provider country (ISO 3166-1 Alpha-2 code)

Example:null
providerTypesArray of strings

List of provider types included in the response

Example:
[ "bank", "moneyTransferProvider" ]
amountnumber

The comparison amount

Example:10000
amountTypestring

Whether the amount represents a send amount or recipient gets amount

Example:"SEND"
providersArray of objects

List of providers with their estimated quotes

property name*anyadditional property
Response
{ "sourceCurrency": "GBP", "targetCurrency": "EUR", "sourceCountry": null, "targetCountry": null, "providerCountry": null, "providerTypes": [ "bank", "moneyTransferProvider" ], "amount": 10000, "amountType": "SEND", "providers": [ { "id": 39, "alias": "wise", "name": "Wise", "logos": {}, "type": "moneyTransferProvider", "partner": false, "quotes": [] }, { "id": 1, "alias": "barclays", "name": "Barclays", "logos": {}, "type": "bank", "partner": false, "quotes": [] } ] }