MSN API: List market movers
Lists 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.
Unofficial. Not affiliated with or endorsed by MSN.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Market optional
market Market to rank stocks in, for example United States.
Australia
One of
United States,Canada,United Kingdom,Australia,India. DefaultUnited States.- List Type optional
list_type Which stock ranking to show, for example gainers.
gainers
One of
gainers,losers,most_active. Defaultgainers.- Max Results optional
max_results Maximum number of stocks to return, for example 25.
50
Whole number from 1 to 50. Default
25.
Input as JSON
{ "market": "Australia", "list_type": "gainers", "max_results": 50}Output
{ "stocks": [ { "rank": 1, "price": 0.002, "ticker": "ATC", "volume": 1886850, "company": "Altech Batteries Ltd", "currency": "AUD", "page_url": "https://www.msn.com/en-au/money/stockdetails/fi-aa4pu2" , "market_cap": 4003580, "change_percent": 100 }, { "rank": 2, "price": 0.029, "ticker": "SKK", "volume": 281308355, "company": "Stakk Limited", "currency": "AUD", "page_url": "https://www.msn.com/en-au/money/stockdetails/fi-aaasw7" , "market_cap": 121194100, "change_percent": 61.1111 }, { "rank": 3, "price": 0.0015, "ticker": "AOA", "volume": 1800185, "company": "Ausmon Resources Ltd", "currency": "AUD", "page_url": "https://www.msn.com/en-au/money/stockdetails/fi-aa4km7" , "market_cap": 2028920, "change_percent": 50 } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"msn.com/list_market_movers","input":{"market":"Australia","list_type":"gainers","max_results":50}}' # 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": "msn.com/list_market_movers" , "input": { "market": "Australia", "list_type": "gainers", "max_results": 50 }})# 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": "msn.com/list_market_movers" , "input": { "market": "Australia", "list_type": "gainers", "max_results": 50 } }), 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 msn.com/list_market_movers# with {"market":"Australia","list_type":"gainers","max_results":50}"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", "properties": { "market": { "enum": [ "United States", "Canada", "United Kingdom", "Australia", "India" ], "type": "string", "default": "United States", "description": "Market to rank stocks in, for example United States." }, "list_type": { "enum": [ "gainers", "losers", "most_active" ], "type": "string", "default": "gainers", "description": "Which stock ranking to show, for example gainers." }, "max_results": { "type": "integer", "default": 25, "maximum": 50, "minimum": 1, "description": "Maximum number of stocks to return, for example 25." } }}Output schema
{ "type": "object", "required": [ "stocks" ], "properties": { "stocks": { "type": "array", "items": { "type": "object", "required": [ "rank", "company", "ticker", "price", "currency", "change_percent", "volume", "market_cap", "page_url" ], "properties": { "rank": { "type": "integer" }, "price": { "type": [ "number", "null" ] }, "ticker": { "type": [ "string", "null" ] }, "volume": { "type": [ "integer", "null" ] }, "company": { "type": "string" }, "currency": { "type": [ "string", "null" ] }, "page_url": { "type": "string" }, "market_cap": { "type": [ "integer", "null" ] }, "change_percent": { "type": [ "number", "null" ] } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
msn.com/list_market_movers- Returns
- rank, company, ticker, price, currency, change percent, volume, market cap, page URL
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 msn.com/list_market_movers with the inputs above.
Ask your agent
- What are the top 10 biggest stock gainers in the US market today?
- Show me the most actively traded shares in India right now, up to 30 of them, with volume and market cap.
- Pull MSN Money's list of the worst-performing stocks on the UK market today — give me the top 15 losers with ticker and percent change.
- Which Canadian stocks are dropping the most today? I want around 20 names with their prices.
- Get the 50 most active Australian stocks from MSN, including price, currency, and trading volume.
See more
All MSN methodsGets a stock's latest MSN Money quote and key facts by company name or ticker and listing country. Quotes may be delayed outside market hours.
msn.com/get_stock_quoteGets current MSN Weather conditions for a city, address or ZIP code. The place is found through OpenStreetMap Nominatim. Matches for broad searches are approximate.
msn.com/get_current_weatherGets up to 10 days of MSN Weather forecasts for a city, address, or ZIP code, with optional hourly forecasts for the next 24 hours.
msn.com/get_forecastLists 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_moversLists 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_moversFinds publicly listed stocks in a country, filtered by sector, US-dollar market cap band and minimum dividend yield, in the requested order. Quotes may be delayed.
tradingview.com/screen_stocksRanks public companies worldwide, or by country and industry, by market cap, revenue, earnings, employees or dividend yield. When both a country and an industry are set, the industry ranking order is kept and only companies from that country are shown.
companiesmarketcap.com/list_largest_companiesLists the largest price rises and falls among CoinMarketCap's top 100 coins with over $50,000 in 24-hour volume, for a chosen period.
coinmarketcap.com/list_gainers_and_losers