Skip to content

All From Base

Returns live exchange rates from a specified base currency to all supported assets — both fiat currencies and cryptocurrencies — in a single response. Combines the data from Fiat From Base and Crypto From Base into one call.

Use this to:

  • Build a universal currency converter with a single request
  • Value holdings across all asset classes from one base
  • Avoid making two separate calls when you need both fiat and crypto rates
  • Power a full market overview dashboard

Base URL

https://fast-price-exchange-rates.p.rapidapi.com

Get all rates from base

GET/api/v1/convert-rates/all/from

Returns an object with the base currency and a combined map of all fiat and crypto targets to their exchange rates.

Authentication

HeaderValue
X-RapidAPI-KeyYour RapidAPI secret key
X-RapidAPI-Hostfast-price-exchange-rates.p.rapidapi.com

Query parameters

ParameterTypeRequiredDescription
currencystringYes Base currency code. Accepts both fiat and crypto symbols.

Examples: USD, EUR, BTC, ETH
detailedbooleanNo When false (default): keys are plain symbols — crypto tickers and fiat ISO codes mixed together ("ETH", "EUR").
When true: keys use "SYMBOL:NAME:TYPE" format where TYPE is either CRYPTO or FIAT, allowing you to distinguish asset classes ("ETH:ETHEREUM:CRYPTO", "EUR:EURO:FIAT").

Example requests

bash
curl "https://fast-price-exchange-rates.p.rapidapi.com/api/v1/convert-rates/all/from?currency=USD&detailed=false" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: fast-price-exchange-rates.p.rapidapi.com"
bash
curl "https://fast-price-exchange-rates.p.rapidapi.com/api/v1/convert-rates/all/from?currency=USD&detailed=true" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: fast-price-exchange-rates.p.rapidapi.com"
javascript
const response = await fetch(
  'https://fast-price-exchange-rates.p.rapidapi.com/api/v1/convert-rates/all/from?currency=USD&detailed=false',
  {
    headers: {
      'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
      'X-RapidAPI-Host': 'fast-price-exchange-rates.p.rapidapi.com',
    },
  }
)

const data = await response.json()

const amount = 1000 // USD

// Convert to fiat
console.log(`${amount} USD = ${(amount * data.to['EUR']).toFixed(2)} EUR`)
console.log(`${amount} USD = ${(amount * data.to['JPY']).toFixed(0)} JPY`)

// Convert to crypto
console.log(`${amount} USD = ${(amount * data.to['BTC']).toFixed(6)} BTC`)
console.log(`${amount} USD = ${(amount * data.to['ETH']).toFixed(4)} ETH`)
javascript
const response = await fetch(
  'https://fast-price-exchange-rates.p.rapidapi.com/api/v1/convert-rates/all/from?currency=USD&detailed=true',
  {
    headers: {
      'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
      'X-RapidAPI-Host': 'fast-price-exchange-rates.p.rapidapi.com',
    },
  }
)

const data = await response.json()

// Split into fiat and crypto using the TYPE suffix
const fiat = {}
const crypto = {}

for (const [key, rate] of Object.entries(data.to)) {
  const [symbol, name, type] = key.split(':')
  if (type === 'FIAT') {
    fiat[symbol] = { name, rate }
  } else if (type === 'CRYPTO') {
    crypto[symbol] = { name, rate }
  }
}

console.log(`Fiat currencies: ${Object.keys(fiat).length}`)
console.log(`Crypto tokens:   ${Object.keys(crypto).length}`)
console.log(`EUR rate: ${fiat['EUR'].rate}`)
console.log(`BTC rate: ${crypto['BTC'].rate}`)
python
import os
import requests

response = requests.get(
    "https://fast-price-exchange-rates.p.rapidapi.com/api/v1/convert-rates/all/from",
    params={"currency": "USD", "detailed": "false"},
    headers={
        "X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"],
        "X-RapidAPI-Host": "fast-price-exchange-rates.p.rapidapi.com",
    },
)

response.raise_for_status()
data = response.json()

amount = 1000  # USD
targets = {"EUR": "fiat", "GBP": "fiat", "JPY": "fiat", "BTC": "crypto", "ETH": "crypto", "SOL": "crypto"}

print(f"Converting {amount} {data['from']}:\n")
for symbol, kind in targets.items():
    rate = data["to"].get(symbol)
    if rate:
        print(f"  {amount} USD → {amount * rate:>14.4f} {symbol:<6} ({kind})")
python
import os
import requests

response = requests.get(
    "https://fast-price-exchange-rates.p.rapidapi.com/api/v1/convert-rates/all/from",
    params={"currency": "USD", "detailed": "true"},
    headers={
        "X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"],
        "X-RapidAPI-Host": "fast-price-exchange-rates.p.rapidapi.com",
    },
)

response.raise_for_status()
data = response.json()

fiat, crypto = {}, {}
for key, rate in data["to"].items():
    symbol, name, asset_type = key.split(":")
    if asset_type == "FIAT":
        fiat[symbol] = {"name": name, "rate": rate}
    elif asset_type == "CRYPTO":
        crypto[symbol] = {"name": name, "rate": rate}

print(f"Fiat currencies : {len(fiat)}")
print(f"Crypto tokens   : {len(crypto)}")
print(f"Total assets    : {len(fiat) + len(crypto)}")

Response — detailed=false

json
{
  "from": "USD",
  "to": {
    "00": 217.39130434782612,
    "1INCH": 10.781198535000964,
    "AAVE": 0.011031365786003623,
    "ADA": 2.492,
    "BTC": 0.0000112,
    "ETH": 0.000319,
    "EUR": 0.8437,
    "GBP": 0.7492,
    "JPY": 159.23,
    "SOL": 0.00754,
    "VND": 26326.99169899569,
    "ZAR": 16.429649024960792,
    "...": "... all fiat and crypto combined"
  }
}

Response — detailed=true

json
{
  "from": "USD",
  "to": {
    "00:00 TOKEN:CRYPTO": 217.39130434782612,
    "1INCH:1INCH TOKEN:CRYPTO": 10.781198535000964,
    "AAVE:AAVE:CRYPTO": 0.011028317940953256,
    "ADA:CARDANO:CRYPTO": 2.492,
    "BTC:BITCOIN:CRYPTO": 0.0000112,
    "ETH:ETHEREUM:CRYPTO": 0.000319,
    "EUR:EURO:FIAT": 0.8451,
    "GBP:BRITISH POUND:FIAT": 0.7495,
    "JPY:JAPANESE YEN:FIAT": 159.23,
    "VND:VIETNAMESE ĐỒNG:FIAT": 26326.99430071189,
    "ZAR:SOUTH AFRICAN RAND:FIAT": 16.432159678470576,
    "...": "... all fiat and crypto combined"
  }
}

Response fields

FieldTypeDescription
fromstringThe base currency code (mirrors the currency query parameter).
toobject Combined map of all target assets (fiat + crypto) to their exchange rates. One unit of from equals rate units of the target.

Key format depends on the detailed parameter:
false: plain symbol — "EUR" or "BTC"
true: "SYMBOL:NAME:TYPE" where TYPE is FIAT or CRYPTO

Key format (detailed=true)

SYMBOL:FULL NAME:TYPE
  │        │       └─ "FIAT" or "CRYPTO"
  │        └─ full asset name in uppercase
  └─ ticker or ISO code
Example keyTypeMeaning
EUR:EURO:FIATFiatEuro — ISO 4217 currency
BTC:BITCOIN:CRYPTOCryptoBitcoin
ADA:CARDANO:CRYPTOCryptoCardano
VND:VIETNAMESE ĐỒNG:FIATFiatVietnamese Đồng

When to use detailed=true

Use detailed=true when you need to separate fiat from crypto in your application — for example, to display them in different sections of a UI, or to apply different formatting (crypto often needs more decimal places than fiat). With detailed=false you get a smaller response but cannot distinguish asset types from the key alone.


Error responses

StatusCodeDescription
400bad_requestcurrency parameter is missing or not a recognized symbol
401unauthorizedX-RapidAPI-Key is missing or invalid
403forbiddenYour RapidAPI plan does not include access to this endpoint
429too_many_requestsRapidAPI rate limit exceeded
500internal_errorServer error — safe to retry after a short delay

EndpointDescription
All To QuoteRates from all fiat and crypto assets to a single quote
Fiat From BaseFiat-only rates from a base currency
Crypto From BaseCrypto-only rates from a base currency

Released under the MIT License.