THE DEVELOPER DESK API v1
Browse documentation
Reference

API reference

Explore all BankFXApi endpoints, request parameters, response status codes and JSON examples in the API reference generated from the OpenAPI specification.

This reference is generated from the project’s OpenAPI specification. Examples illustrate response structure; they are not current exchange rates.

Use https://api.bankfxapi.com as the server. All /v1 endpoints require authentication.

API welcome

GET /

Returns a basic welcome response. This endpoint does not require authentication.

HTTP status Response
200 API welcome response.

Example response:

{
    "code": 200,
    "message": "Welcome to BankFXApi"
}

Get latest rates for a base currency

GET /v1/{base_currency}/latest

Returns the latest available blended rates for a base currency.

If amount is omitted, rates is a simple object keyed by currency code. If amount is provided, rates contains per-currency rate and converted amount objects.

Parameter Location Required Description
base_currency path Yes Three-letter ISO currency code used as the base currency.
amount query No Positive numeric amount to convert. Defaults to 1 when omitted.
HTTP status Response
200 Latest rates for the requested base currency.
401 Missing or invalid API key.
402 Insufficient API points or expired plan.
422 Invalid request parameters or body.

Example response:

{
    "code": 200,
    "message": "success",
    "rates": {
        "AED": 3.6725,
        "EUR": 0.859107,
        "MYR": 4.018
    }
}

Convert one currency to another

GET /v1/rate/{base_currency}/{target_currency}

Returns the latest fresh exchange rate from one currency to another. If amount is omitted, the API uses 1.

Parameter Location Required Description
base_currency path Yes Three-letter ISO currency code used as the base currency.
target_currency path Yes Three-letter ISO currency code used as the target currency.
amount query No Positive numeric amount to convert. Defaults to 1 when omitted.
HTTP status Response
200 Conversion response for the requested currency pair.
401 Missing or invalid API key.
402 Insufficient API points or expired plan.
404 No fresh rate is available for the requested pair.
422 Invalid request parameters or body.

Example response:

{
    "code": 200,
    "message": "success",
    "base": "USD",
    "target": "EUR",
    "rate": 0.859107,
    "amount": 1,
    "converted": 0.859107,
    "last_update": "2026-06-04 15:26:44"
}

Bulk currency conversion

POST /v1/rates/convert

Converts one amount from a base currency into multiple target currencies in a single request. If amount is omitted, the API uses 1.

Request body: application/json.

Field Type Required Description
base string Yes
amount number No
targets array Yes
HTTP status Response
200 Bulk conversion response.
401 Missing or invalid API key.
402 Insufficient API points or expired plan.
422 Invalid request parameters or body.

Example response:

{
    "code": 200,
    "message": "success",
    "base": "USD",
    "amount": 100,
    "rates": {
        "EUR": {
            "rate": 0.859107,
            "converted": 85.9107,
            "last_update": "2026-06-04 15:26:44"
        },
        "AED": {
            "rate": 3.6725,
            "converted": 367.25,
            "last_update": "2026-06-04 15:31:27"
        },
        "MYR": {
            "rate": 4.018,
            "converted": 401.8,
            "last_update": "2026-06-04 16:42:29"
        }
    },
    "missing": []
}

Get rates from a specific central bank

GET /v1/bank/{bank_code}

Returns rates published by a specific supported central bank or reference source. This endpoint is not available on the Starter plan.

Parameter Location Required Description
bank_code path Yes Four-character BankFxApi bank code from the supported banks endpoint.
reciprocal query No Whether to return reciprocal stored rates.
format query No Use full for detailed row objects. Omit for a simple currency-to-rate map.
HTTP status Response
200 Rates for the requested central bank.
401 Missing or invalid API key.
402 Insufficient API points or expired plan.
403 Endpoint is unavailable on the current plan.

Example response:

{
    "code": 200,
    "message": "success",
    "meta": {
        "country_code": "AE",
        "bank_name": "Central Bank of the U.A.E",
        "base_currency": "AED",
        "last_update": "2026-06-04 15:31:27"
    },
    "rates": [
        {
            "currency": "USD",
            "rate": 0.272294,
            "last_update": "2026-06-04 15:31:27",
            "bank_update": "2026-06-04 15:31:27"
        }
    ]
}

List supported banks

GET /v1/banks

Returns supported central banks and reference sources.

HTTP status Response
200 Supported bank list.
401 Missing or invalid API key.
402 Insufficient API points or expired plan.

Example response:

{
    "code": 200,
    "message": "success",
    "banks": [
        {
            "country_code": "AE",
            "country_name": "United Arab Emirates",
            "bank_code": "AECB",
            "currency": "AED",
            "bank_name": "Central Bank of the U.A.E"
        },
        {
            "country_code": "MY",
            "country_name": "Malaysia",
            "bank_code": "BNMY",
            "currency": "MYR",
            "bank_name": "Bank Negara Malaysia"
        }
    ]
}

List supported currencies

GET /v1/currencies

Returns supported currencies with country metadata.

HTTP status Response
200 Supported currency list.
401 Missing or invalid API key.
402 Insufficient API points or expired plan.

Example response:

{
    "code": 200,
    "message": "success",
    "currencies": [
        {
            "country_code": "AE",
            "country_name": "United Arab Emirates",
            "currency": "AED"
        },
        {
            "country_code": "MY",
            "country_name": "Malaysia",
            "currency": "MYR"
        }
    ]
}