# PriceFeed > PriceFeed (https://pricefeed.online) is a market data API that serves real-time and > historical exchange rates for cryptocurrencies and fiat currencies. Rates are fetched > from multiple independent sources (Binance, Kraken, the National Bank of Ukraine, > Frankfurter/ECB), normalized, aggregated by median, cached, and served from one REST API. > The API never proxies user requests to external exchanges — responses always come from > its own cache/storage layer, so it stays up even when an upstream source is down > (such responses carry `"stale": true`). Base URL: https://pricefeed.online All responses are JSON over HTTPS. No signup is required. ## Rate limits - Public (no key): 60 requests/minute per IP. - With a free API key (`X-API-Key` header, generated at https://pricefeed.online/account): 120 requests/minute per key. - Exceeding the limit returns HTTP 429 with `{"success": false, "error": {"code": "RATE_LIMIT_EXCEEDED"}}`. ## Core endpoints - `GET /api/v1/rates/latest?base=BTC"es=USD,EUR,UAH` — latest aggregated rates for a base asset. Response: `{"success": true, "base": "BTC", "rates": {"USD": 104250.12, ...}, "meta": {"source": "aggregated", "source_count": 2, "stale": false, "updated_at": "..."}}` - `GET /api/v1/rates/latest` — latest rates for all active pairs. - `GET /api/v1/rates/convert?from=BTC&to=UAH&amount=0.05` — currency conversion (direct pair, inverse, or bridged via USD/USDT/UAH/EUR). - `GET /api/v1/rates/history?base=BTC"e=USD&period=7d` — OHLC history (periods: 1d, 7d, 30d, 90d). - `GET /api/v1/rates/sources` — data sources and their status. - `GET /api/v1/rates/status` — service health (sources, cache). - `GET /api/v1/assets` — supported assets: crypto (BTC, ETH, USDT, USDC, BNB, SOL, XRP, DOGE, TON, TRX, ADA, LTC, DOT, AVAX, LINK, XLM, BCH), fiat (USD, EUR, UAH, PLN, GBP, CHF, CZK, JPY, CNY, CAD, AUD, TRY) and bank metals (XAU, XAG, XPT, XPD priced in UAH by the National Bank of Ukraine). - `GET /api/v1/pairs` — supported currency pairs and update intervals. ## CryptoCompare-compatible endpoints Drop-in migration from CryptoCompare: replace `https://min-api.cryptocompare.com` with `https://pricefeed.online`. - `GET /data/price?fsym=BTC&tsyms=USD,EUR,UAH` → `{"USD": 104250.12, "EUR": 96320.55, "UAH": 4321000.50}` - `GET /data/pricemulti?fsyms=BTC,ETH&tsyms=USD,UAH` → nested object keyed by fsym. - `GET /data/pricemultifull?fsyms=BTC,ETH&tsyms=USD,EUR` → RAW + DISPLAY blocks with PRICE, CHANGEPCT24HOUR, OPEN24HOUR, VOLUME24HOUR (use when you need 24h change, not just price). ## Error format `{"success": false, "error": {"code": "PAIR_NOT_FOUND", "message": "..."}}` Codes: PAIR_NOT_FOUND (404), INVALID_AMOUNT (400), INVALID_PERIOD (400), RATE_LIMIT_EXCEEDED (429). ## MCP server (for AI agents) PriceFeed exposes a remote Model Context Protocol server (Streamable HTTP) at `https://pricefeed.online/mcp`. Connect it from Claude Code: `claude mcp add --transport http pricefeed https://pricefeed.online/mcp` Tools: `get_latest_rates(base, quotes)`, `convert_currency(from, to, amount)`, `get_rate_history(base, quote, period)`, `get_service_status()`. ## Pages - [API documentation](https://pricefeed.online/docs): full reference with examples in curl, JavaScript and PHP. - [Service status](https://pricefeed.online/status): live status of data sources and cache. - [API keys](https://pricefeed.online/account): sign in (email or Google) and generate a free API key.