Pairs and quotes
About 40 pairs are priced against USD, EUR and GBP. Use BTC-USD or ETH-EUR; ids accept any case or a slash, and answers return canonical pairs.
Get crypto pair prices and price history through REST or MCP, with one account quota and a Bearer key on every request. Prices are decimal strings with up to 8 significant digits.
curl --request GET \
--url "https://api.narwhalapi.com/v1/crypto/BTC-USD/price" \
--header "Authorization: Bearer $NARWHAL_API_KEY"{
"pair": "BTC-USD",
"base": "BTC",
"quote": "USD",
"price": "68250.5",
"change_24h": "812.4",
"change_24h_percent": "1.2",
"timestamp": "2026-10-26T15:42:00Z",
"stale": false
}/v1/crypto/pairs/v1/crypto/{pair}/price/v1/crypto/prices/v1/crypto/{pair}/barsAbout 40 pairs are priced against USD, EUR and GBP. Use BTC-USD or ETH-EUR; ids accept any case or a slash, and answers return canonical pairs.
Free stock, ETF and crypto prices are delayed 15 minutes. Basic and Pro get live crypto prices and 24-hour change; Free omits 24-hour change.
Crypto trades all day and has no market session. Prices are stale when over 5 minutes old or refresh fails; prices and bars have no volume field.
Free is $0 for 5,000 requests a month. Basic is $59 a month for 100,000; Pro is $149 a month for 1,000,000. Free permits commercial use.
The pair list is included on every plan and contains pairs Narwhal prices. A pair is listed while it trades at least once every 30 seconds and dropped when it falls below once every 2 minutes. Daily bars cover the last 12 months on Free, last 5 years on Basic and full history on Pro. One-minute bars require Basic or Pro within the plan's history limit. Batch price calls accept up to 50 ids.
pairbasequotepricechange_24hchange_24h_percenttimestampstaledelayedRead pair and price routes, with response fields and daily bar timing.
Read the reference →Compare monthly request quotas and history limits, including paid access to 24-hour change.
See pricing →Listed stock prices and company data through REST and MCP
Explore the API →ETF prices and daily mutual fund net asset values
Explore the API →Each daily bar covers one UTC day and appears at 00:00 UTC, with Free bars following after the plan's price delay. Today's partial bar is never shown, and end is returned when the 15 minute delay cuts your range.
Free includes daily bars for the last 12 months. Basic covers the last 5 years and Pro has full history; both paid plans include one-minute bars within those limits. When your plan cuts older rows, start returns the first date served.
On Basic and Pro, change_24h is price minus the price 24 hours earlier, calculated from the 24-hour percentage change. The percentage field uses 1.5 to mean 1.5%. Both change fields are omitted on Free and whenever the change is unknown.
A pair id joins the coin and quote currency with a dash, such as BTC-USD. Any case works, and a slash is accepted. Batch calls accept up to 50 ids and count one call per id that returns a price.
Create a free key and call the API from your own code. Get a free API key