Crypto Price API
Get Crypto Prices returns the current price of one or more cryptocurrencies, in one or more currencies, from a single request. You pass coins as a comma-separated list of CoinGecko coin ids — bitcoin, ethereum, solana — rather than exchange tickers such as BTC, and vsCurrencies as the currencies to quote in, which defaults to usd and accepts other fiat codes as well as crypto such as eur, gbp or btc. Two switches, includeMarketCap and include24hChange, are on by default and add each coin’s market capitalisation and its 24-hour price change. The response is three maps keyed by coin and then by currency — prices, marketCaps and change24h — plus a fetchedAt timestamp, and a figure CoinGecko does not return is null rather than an invented number. Data comes from CoinGecko’s public simple-price endpoint, so its free-tier limits apply: when CoinGecko throttles the request the operation raises RATE_LIMITED, ids that match nothing raise NOT_FOUND, and any other upstream failure surfaces as UPSTREAM_ERROR instead of an empty result. You authenticate with your upAPI key alone; there is no CoinGecko key to obtain. The exact price and cache lifetime are on this page’s FAQ, generated from the same catalog the calls run against.
What data you get
Get Crypto Prices
- prices
- objectrequired
- change24h
- objectrequired
- fetchedAt
- stringrequired
- marketCaps
- objectrequired
Calling Get Crypto Prices
A schema-derived request and response shape — not a captured production call, since upAPI has none to publish. Every field is real, from the operation’s own published schema.
curl -X POST https://api.upapi.io/crypto-price.get \
-H "X-Api-Key: $UPAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"coins": "bitcoin,ethereum,solana",
"vsCurrencies": "usd",
"include24hChange": true,
"includeMarketCap": true
}'{
"prices": {},
"change24h": {},
"fetchedAt": "example",
"marketCaps": {}
}Pricing
Every unit draws from one pooled monthly quota shared across the whole catalog. What a unit costs on each plan is on the pricing page, linked below.
Questions people actually ask
How do I get the price of Bitcoin and Ethereum in one API call?
Pass coins as bitcoin,ethereum and the currencies you want in vsCurrencies, for example usd,eur. The prices field of the response maps each coin to its price in each currency, and marketCaps and change24h follow the same shape.
Do I use tickers like BTC or CoinGecko ids?
CoinGecko ids. The coins field expects ids such as bitcoin, ethereum or solana; an id that matches nothing returns a NOT_FOUND error rather than a guess.
Which currencies can I quote prices in?
vsCurrencies takes a comma-separated list of CoinGecko-supported quote currencies, fiat or crypto, such as usd, eur or btc. It defaults to usd.
Where does the price data come from, and what are its limits?
From CoinGecko’s public simple-price endpoint, so CoinGecko’s free-tier limits apply. When it throttles a request the operation raises a RATE_LIMITED error you can retry later, instead of returning stale or empty data.
How much does this cost?
Every operation in this cluster costs 1 weighted unit per call, drawn from your plan’s pooled monthly quota — see upapi.io/pricing for what a unit costs on each tier.
How fresh is the data — is it cached?
every cached operation here returns a response held for 30 seconds. A repeat call inside a cached window returns the cached response and is billed nothing.
Related
Start with the free plan
One key and one pooled monthly quota cover Get Crypto Prices and every other API in the catalog. See what a unit costs on each plan, or run the operation first.