Migration

CryptoCompare migration

Compatibility endpoints

GET/data/price

CryptoCompare-compatible routes: same parameters (fsym / fsyms, tsyms), same response shapes — including the CryptoCompare-style error body. Point an existing integration at pricefeed.online and it keeps working.

Example
$ curl "https://pricefeed.online/data/price?fsym=BTC&tsyms=USD,EUR,UAH"
Response · 200 OK
{ "USD": 104250.12, "EUR": 96480.55, "UAH": 4329815.40 }
GET/data/pricemulti

Multiple base symbols in one call — the response is a nested object keyed by base symbol:

Example
$ curl "https://pricefeed.online/data/pricemulti?fsyms=BTC,ETH&tsyms=USD,UAH"
Response · 200 OK
{
  "BTC": { "USD": 104250.12, "UAH": 4329815.40 },
  "ETH": { "USD": 5212.40, "UAH": 216518.32 }
}
GET/data/pricemultifull

Full ticker data with RAW and DISPLAY blocks — including CHANGEPCT24HOUR, OPEN24HOUR and VOLUME24HOUR. Use this when your integration reads the 24-hour change, not just the price. HIGH24HOUR/LOW24HOUR return 0 (intraday OHLC isn't stored — use /api/v1/rates/history for candles).

Example
$ curl "https://pricefeed.online/data/pricemultifull?fsyms=BTC&tsyms=USD"
Response · 200 OK
{
  "RAW": {
    "BTC": {
      "USD": {
        "FROMSYMBOL": "BTC",
        "TOSYMBOL": "USD",
        "PRICE": 104250.12,
        "OPEN24HOUR": 101707.43,
        "CHANGE24HOUR": 2542.69,
        "CHANGEPCT24HOUR": 2.5,
        "VOLUME24HOUR": 4455.22,
        "LASTUPDATE": 1781340582
      }
    }
  },
  "DISPLAY": {
    "BTC": { "USD": { "CHANGEPCT24HOUR": "2.50", "PRICE": "104,250.12" } }
  }
}

Migrating from CryptoCompare

Most integrations move in under a minute — replace the host, and that's it:

  • Replace the host: https://min-api.cryptocompare.comhttps://pricefeed.online.
  • Drop the auth header — no authorization: Apikey … needed, the API is public.
  • /data/price, /data/pricemulti, the fsym/fsyms/tsyms parameters and response shapes are preserved.
Before → after
- https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=USD
+ https://pricefeed.online/data/price?fsym=BTC&tsyms=USD

For new code we recommend the native /api/v1/rates/* endpoints — they include source metadata, staleness flags, and a consistent error format. See also the CryptoCompare alternative overview.

Aggregation & freshness

Every rate is computed across independent sources — exchanges for crypto, central banks and FX feeds for fiat. The meta object in each response tells you exactly what you got:

FieldMeaning
meta.source"aggregated" — the value is combined across sources, not a single feed
meta.source_countHow many sources contributed to this rate
meta.staletrue when sources degraded and the value comes from the fallback cache
meta.updated_atISO-8601 timestamp of when the rate was last calculated

If upstream sources degrade, the API keeps answering from the warm cache instead of failing — you get the last known rate with stale: true rather than a 5xx.

Design for stale. Check meta.stale and meta.updated_at if your product has freshness requirements — e.g. block settlement on stale data but keep rendering dashboards.