CryptoCompare migration
Compatibility endpoints
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.
$ curl "https://pricefeed.online/data/price?fsym=BTC&tsyms=USD,EUR,UAH"
{ "USD": 104250.12, "EUR": 96480.55, "UAH": 4329815.40 }
Multiple base symbols in one call — the response is a nested object keyed by base symbol:
$ curl "https://pricefeed.online/data/pricemulti?fsyms=BTC,ETH&tsyms=USD,UAH"
{ "BTC": { "USD": 104250.12, "UAH": 4329815.40 }, "ETH": { "USD": 5212.40, "UAH": 216518.32 } }
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).
$ curl "https://pricefeed.online/data/pricemultifull?fsyms=BTC&tsyms=USD"
{ "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.com→https://pricefeed.online. - Drop the auth header — no
authorization: Apikey …needed, the API is public. /data/price,/data/pricemulti, thefsym/fsyms/tsymsparameters and response shapes are preserved.
- 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:
| Field | Meaning |
|---|---|
| meta.source | "aggregated" — the value is combined across sources, not a single feed |
| meta.source_count | How many sources contributed to this rate |
| meta.stale | true when sources degraded and the value comes from the fallback cache |
| meta.updated_at | ISO-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.
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.