CoinMarketCap API: List gainers and losers
Lists the largest price rises and falls among CoinMarketCap's top 100 coins with over $50,000 in 24-hour volume, for a chosen period.
Unofficial. Not affiliated with or endorsed by CoinMarketCap.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Period optional
period Price change period, for example last_7_days.
last_24_hours
One of
last_24_hours,last_7_days,last_30_days. Defaultlast_24_hours.- Direction optional
direction Which movers to list, for example both.
both
One of
gainers,losers,both. Defaultboth.- Max Results optional
max_results Maximum coins per direction, for example 20.
20
Whole number from 1 to 30. Default
20.
Input as JSON
{ "period": "last_24_hours", "direction": "both", "max_results": 20}Output
{ "movers": [ { "link": "https://coinmarketcap.com/currencies/polkadot-new/" , "name": "Polkadot", "rank": 44, "symbol": "DOT", "direction": "Gainer", "price_usd": 1.187439047230054, "change_percent": 7.08214617, "volume_24h_usd": 147696940.48598027 }, { "link": "https://coinmarketcap.com/currencies/dash/" , "name": "Dash", "rank": 75, "symbol": "DASH", "direction": "Gainer", "price_usd": 54.17480096963489, "change_percent": 6.48428568, "volume_24h_usd": 116037131.63992655 }, { "link": "https://coinmarketcap.com/currencies/cosmos/" , "name": "Cosmos", "rank": 66, "symbol": "ATOM", "direction": "Gainer", "price_usd": 1.8114728185807658, "change_percent": 6.1865522, "volume_24h_usd": 49094775.5388867 } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"coinmarketcap.com/list_gainers_and_losers","input":{"period":"last_24_hours","direction":"both","max_results":20}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "coinmarketcap.com/list_gainers_and_losers" , "input": { "period": "last_24_hours", "direction": "both", "max_results": 20 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "coinmarketcap.com/list_gainers_and_losers" , "input": { "period": "last_24_hours", "direction": "both", "max_results": 20 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run coinmarketcap.com/list_gainers_and_losers# with {"period":"last_24_hours","direction":"both","max_results":20}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [], "properties": { "period": { "enum": [ "last_24_hours", "last_7_days", "last_30_days" ], "type": "string", "default": "last_24_hours", "description": "Price change period, for example last_7_days." }, "direction": { "enum": [ "gainers", "losers", "both" ], "type": "string", "default": "both", "description": "Which movers to list, for example both." }, "max_results": { "type": "integer", "default": 20, "maximum": 30, "minimum": 1, "description": "Maximum coins per direction, for example 20." } }}Output schema
{ "type": "object", "required": [ "movers" ], "properties": { "movers": { "type": "array", "items": { "type": "object", "required": [ "direction", "name", "symbol", "rank", "price_usd", "change_percent", "volume_24h_usd", "link" ], "properties": { "link": { "type": "string" }, "name": { "type": "string" }, "rank": { "type": [ "integer", "null" ] }, "symbol": { "type": "string" }, "direction": { "enum": [ "Gainer", "Loser" ], "type": "string" }, "price_usd": { "type": [ "number", "null" ] }, "change_percent": { "type": [ "number", "null" ] }, "volume_24h_usd": { "type": [ "number", "null" ] } } }, "description": "Gainers from largest rise, followed by losers from largest fall." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
coinmarketcap.com/list_gainers_and_losers- Returns
- direction, name, symbol, rank, price, change percent, 24h volume, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method coinmarketcap.com/list_gainers_and_losers with the inputs above.
Ask your agent
- Which cryptocurrencies gained the most over the last 7 days among the top 100 coins?
- Show me the biggest losers in the past 30 days, up to 15 coins, with their current prices and 24h volume.
- What coins jumped the most in the last 24 hours on coinmarketcap.com? List both gainers and losers.
- I need the top 10 gainers over the past month with their ranks and percent change.
- Give me a list of the steepest price drops in the last 24 hours, limited to 25 results, including each coin's symbol and link.
See more
All CoinMarketCap methodsLists the largest cryptocurrencies on CoinMarketCap ranked by market cap. Each coin comes with its price, changes, volume and supply in the chosen currency.
coinmarketcap.com/list_top_coinsGets a cryptocurrency's price, changes, supply, market cap, volume and all-time high in a chosen currency. If a name or symbol is shared, returns the coin with the largest market cap.
coinmarketcap.com/get_coin_priceReturns the current crypto Fear and Greed Index with yesterday, last week and last month comparisons, plus total crypto market size, BTC and ETH dominance from CoinMarketCap.
coinmarketcap.com/get_fear_and_greed_indexLists today's leading gainers, losers or most active stocks in Google Finance display order, with price, change, percent change and currency; the public page shows up to four stocks per list.
google.com/list_market_moversLists Yahoo Finance's top gainers, top losers, most active stocks, or regional trending tickers in Yahoo's order, with price, change, volume and market cap.
finance.yahoo.com/list_market_moversGets a coin's daily prices and price change over the last 7, 30, 90 or 365 days, with UTC dates. Today's price may change.
coingecko.com/get_coin_price_historyLists MSN Money's current leading stock gainers, losers, or most-active shares in a selected market, in MSN's order. Lists may contain fewer than 50 stocks and prices may be delayed.
msn.com/list_market_moversLists up to 15 of the most-searched coins on CoinGecko in trending order, with price and 24-hour change in the chosen currency. Non-USD prices may be unavailable for some coins.
coingecko.com/list_trending_coins