# MSN Money API

> MSN Money returns stock quotes and market movers, available as a workflow and API.

MSN Money’s Get stock quote returns quotes and key facts; provide a company name or ticker and optionally its listing country. List market movers returns ranked stocks for a selected market and ranking type; optionally set the maximum results.

- Page: https://fous.com/tools/msn-money
- Handle: `@msn-money`
- Category: [Finance](https://fous.com/tools/category/finance)
- Source website: https://msn.com/en-us/money
- Last verified: Sep 29, 2026

## Methods

### Get stock quote

Operation `get_stock_quote`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get a stock’s latest available MSN Money quote and key facts by company name or ticker and listing country. Quotes may be delayed outside market hours.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"Microsoft"` | Company name or stock ticker, for example Microsoft or MSFT. |
| `country` | string | no | `"Canada"` | Country where the stock is listed, for example United States or Canada. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name or stock ticker, for example Microsoft or MSFT.",
      "examples": [
        "Microsoft",
        "MSFT",
        "SHOP"
      ]
    },
    "country": {
      "type": "string",
      "default": "United States",
      "description": "Country where the stock is listed, for example United States or Canada.",
      "examples": [
        "Canada"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "Microsoft"
    },
    {
      "company": "MSFT"
    },
    {
      "company": "SHOP",
      "country": "Canada"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `open` | number or null | `505.47` | Opening price |
| `price` | number or null | `509.22` | Latest quoted price |
| `change` | number or null | `-6.95` | Change in price from the previous close |
| `ticker` | string or null | `"MSFT"` | Stock ticker |
| `volume` | number or null | `19626939` | Number of shares traded |
| `company` | string or null | `"MICROSOFT CORPORATION"` | Company name |
| `day_low` | number or null | `502.22` | Day low price |
| `currency` | string or null | `"USD"` | Price currency code |
| `day_high` | number or null | `513.33` | Day high price |
| `exchange` | string or null | `"Nasdaq Stock Market"` | Stock exchange |
| `pe_ratio` | number or null | `28.374` | Price-to-earnings ratio |
| `market_cap` | number or null | `3781236024900` | Market capitalization in full currency units |
| `quote_time` | string or null | `"2026-09-28T23:59:55.182000+00:00"` | Time of the quote with time-zone offset |
| `week_52_low` | number or null | `349.2` | 52-week low price |
| `week_52_high` | number or null | `553.72` | 52-week high price |
| `change_percent` | number or null | `-1.3465` | Percentage change from the previous close |
| `msn_money_link` | string or null | `"https://www.msn.com/en-us/money/stockdetails/msft-us-stock/fi-a1xzim"` | Stock page on MSN Money |
| `previous_close` | number or null | `516.17` | Previous closing price |
| `dividend_yield_percent` | number or null | `0.7594` | Dividend yield as a percentage, or null if none |

**Example input**

```json
{
  "company": "Microsoft"
}
```

**Example output**

```json
{
  "open": 505.47,
  "price": 509.22,
  "change": -6.95,
  "ticker": "MSFT",
  "volume": 19626939,
  "company": "MICROSOFT CORPORATION",
  "day_low": 502.22,
  "currency": "USD",
  "day_high": 513.33,
  "exchange": "Nasdaq Stock Market",
  "pe_ratio": 28.374,
  "market_cap": 3781236024900,
  "quote_time": "2026-09-28T23:59:55.182000+00:00",
  "week_52_low": 349.2,
  "week_52_high": 553.72,
  "change_percent": -1.3465,
  "msn_money_link": "https://www.msn.com/en-us/money/stockdetails/msft-us-stock/fi-a1xzim",
  "previous_close": 516.17,
  "dividend_yield_percent": 0.7594
}
```

### List market movers

Operation `list_market_movers`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

List 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.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `market` | string | no | `"United States"` | Market to rank stocks in, for example United States. |
| `list_type` | string | no | `"gainers"` | Which stock ranking to show, for example gainers. |
| `max_results` | integer | no | `25` | Maximum number of stocks to return, for example 25. |

**Input schema**

```json
{
  "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.",
      "examples": [
        "United States",
        "Australia",
        "Canada"
      ]
    },
    "list_type": {
      "enum": [
        "gainers",
        "losers",
        "most_active"
      ],
      "type": "string",
      "default": "gainers",
      "description": "Which stock ranking to show, for example gainers.",
      "examples": [
        "gainers",
        "losers",
        "most_active"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 50,
      "minimum": 1,
      "description": "Maximum number of stocks to return, for example 25.",
      "x-fous-developer": true,
      "examples": [
        25,
        3,
        50
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "market": "United States",
      "list_type": "gainers",
      "max_results": 25
    },
    {
      "market": "United States",
      "list_type": "losers",
      "max_results": 3
    },
    {
      "market": "Australia",
      "list_type": "gainers",
      "max_results": 50
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `stocks` | array |  |  |
| `stocks[].rank` | integer | `1` |  |
| `stocks[].price` | number or null | `89.92` |  |
| `stocks[].ticker` | string or null | `"KOD"` |  |
| `stocks[].volume` | integer or null | `38551965` |  |
| `stocks[].company` | string | `"Kodiak Sciences Inc."` |  |
| `stocks[].currency` | string or null | `"USD"` |  |
| `stocks[].page_url` | string | `"https://www.msn.com/en-us/money/stockdetails/fi-bn7vm7"` |  |
| `stocks[].market_cap` | integer or null | `2033180000` |  |
| `stocks[].change_percent` | number or null | `177.9598` |  |

**Example input**

```json
{
  "market": "United States",
  "list_type": "gainers",
  "max_results": 25
}
```

**Example output**

```json
{
  "stocks": [
    {
      "rank": 1,
      "price": 89.92,
      "ticker": "KOD",
      "volume": 38551965,
      "company": "Kodiak Sciences Inc.",
      "currency": "USD",
      "page_url": "https://www.msn.com/en-us/money/stockdetails/fi-bn7vm7",
      "market_cap": 2033180000,
      "change_percent": 177.9598
    },
    {
      "rank": 2,
      "price": 17.95,
      "ticker": "MAAS",
      "volume": 648056,
      "company": "Maase Inc",
      "currency": "USD",
      "page_url": "https://www.msn.com/en-us/money/stockdetails/fi-bplevh",
      "market_cap": 6796239000,
      "change_percent": 16.7859
    },
    {
      "rank": 3,
      "price": 3.29,
      "ticker": "AMC",
      "volume": 72730963,
      "company": "AMC Entertainment Holdings Inc",
      "currency": "USD",
      "page_url": "https://www.msn.com/en-us/money/stockdetails/fi-a1ndlh",
      "market_cap": 2936669134,
      "change_percent": 11.9048
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@msn-money",
  "visibility": "public",
  "operation": "get_stock_quote",
  "version": 1,
  "input": {
    "company": "Microsoft"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@msn-money\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_stock_quote\",\n  \"version\": 1,\n  \"input\": {\n    \"company\": \"Microsoft\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@msn-money",
  "visibility": "public",
  "operation": "get_stock_quote",
  "version": 1,
  "input": {
    "company": "Microsoft"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/msn-money`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_stock_quote`: Get stock quote. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_market_movers`: List market movers. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-msn-money https://api.fous.com/mcp/tools/msn-money --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Check a company’s latest quoted price and daily change
- Compare a stock’s price with its previous close
- Review ranked market gainers and losers
- Find the most-active shares in a selected market
- Track stock volume, market capitalization, and valuation

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this MSN Money tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a MSN Money account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from msn.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What is a stock’s latest quoted price?

Get stock quote returns the latest quoted price, ticker, company, and quote time for a company name or ticker.

### Which stocks are leading gainers or losers?

List market movers returns ranked stocks for the selected market and ranking type, such as gainers or losers.

### Which shares are most active in a market?

List market movers returns the selected market’s most-active shares, including rank and trading volume.

## Related

- [Yahoo Finance API](https://fous.com/tools/yahoo-finance.md): Yahoo Finance provides quotes, movers, company financials, analyst ratings, earnings, news, and up to 5,000 price rows with adjusted returns; prices may be delayed.
- [Google Finance API](https://fous.com/tools/google-finance.md): Google Finance returns possibly delayed prices and figures, indexes, up to four movers timed by oldest quote, currency conversions, and up to five financial periods.
- [CoinMarketCap API](https://fous.com/tools/coinmarketcap.md): CoinMarketCap returns prices, rankings and current Fear and Greed readings; gainers and losers include up to 30 top-100 coins above $50,000 in 24-hour volume.
- [Twelve Data API](https://fous.com/tools/twelve-data.md): Market data for stocks, ETFs, foreign exchange and cryptocurrencies.
- [Stock Analysis API](https://fous.com/tools/stock-analysis.md): Stock Analysis returns free-period company statements, statistics current as of its displayed date, typically top-25 ETF holdings, and US IPOs since 2019 with potentially missing prices or returns.
- [Finviz API](https://fous.com/tools/finviz.md): Finviz provides delayed US stock snapshots, screening by company and trading criteria, and up to 200 recent public executive and director Form 4 trades.
- [CompaniesMarketCap API](https://fous.com/tools/companiesmarketcap.md): CompaniesMarketCap ranks public companies worldwide or by country and industry across size and financial measures, and provides company figures with market-cap history for completed years.
- [Macrotrends API](https://fous.com/tools/macrotrends.md): Macrotrends provides long-term financial and economic charts, company metric histories, and yearly commodity and index prices; current-year prices may be incomplete.
- [All Finance tools](https://fous.com/tools/category/finance)
