# Finviz API

> Finviz returns stock data, screener results, and insider trades as a workflow and API.

Finviz, also called Finviz.com, provides delayed US-listed stock snapshots through Get stock snapshot, using a company name or ticker. Screen stocks returns matching US stocks using filters such as sector, company size, dividend yield, P/E ratio, signal, and sort order. List insider trades returns recent Form 4 trades, optionally filtered by company and trade type.

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

## Methods

### Get stock snapshot

Operation `get_stock_snapshot`, 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 delayed US-listed stock snapshot from its ticker or company name. Analyst labels summarize Finviz’s 1–5 mean score; dividend yield uses the estimated dividend when available. Missing metrics return null.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | yes | `"Apple"` | Company name or US stock ticker, for example Apple or AAPL. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "company"
  ],
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name or US stock ticker, for example Apple or AAPL.",
      "examples": [
        "Apple",
        "AAPL",
        "MSFT"
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "company": "Apple"
    },
    {
      "company": "AAPL"
    },
    {
      "company": "MSFT"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `sector` | string | `"Technology"` | Business sector |
| `ticker` | string | `"AAPL"` | Stock ticker |
| `country` | string | `"USA"` | Company country |
| `exchange` | string | `"Nasdaq"` | US listing exchange |
| `industry` | string | `"Consumer Electronics"` | Industry |
| `price_usd` | number or null | `338.4` | Delayed share price in US dollars |
| `finviz_link` | string | `"https://finviz.com/stock?t=AAPL"` | Finviz stock page |
| `company_name` | string | `"Apple Inc"` | Company name |
| `market_cap_usd` | number or null | `4938670000000` | Market capitalization in US dollars, full number |
| `short_float_percent` | number or null | `0.88` | Short float as percent of float |
| `today_change_percent` | number or null | `-0.78` | Change today, in percent |
| `profit_margin_percent` | number or null | `27.62` | Profit margin in percent |
| `analyst_recommendation` | string or null | `"Buy"` | Analyst recommendation from Strong buy to Strong sell |
| `dividend_yield_percent` | number or null | `0.33` | Estimated dividend yield in percent, null if none |
| `fifty_two_week_low_usd` | number or null | `243.42` | 52-week low in US dollars |
| `fifty_two_week_high_usd` | number or null | `345.34` | 52-week high in US dollars |
| `price_to_earnings_ratio` | number or null | `38.79` | Trailing price-to-earnings ratio |
| `raw_recommendation_score` | number or null | `2.13` | Finviz analyst mean score from 1 (buy) to 5 (sell) |
| `insider_ownership_percent` | number or null | `0.12` | Insider ownership in percent |
| `forward_price_to_earnings_ratio` | number or null | `35.23` | Forward price-to-earnings ratio |
| `institutional_ownership_percent` | number or null | `68.89` | Institutional ownership in percent |
| `average_analyst_price_target_usd` | number or null | `337.68` | Mean analyst price target in US dollars |
| `expected_earnings_growth_next_year_percent` | number or null | `8.77` | Expected earnings growth next year, in percent |

**Example input**

```json
{
  "company": "Apple"
}
```

**Example output**

```json
{
  "sector": "Technology",
  "ticker": "AAPL",
  "country": "USA",
  "exchange": "Nasdaq",
  "industry": "Consumer Electronics",
  "price_usd": 338.4,
  "finviz_link": "https://finviz.com/stock?t=AAPL",
  "company_name": "Apple Inc",
  "market_cap_usd": 4938670000000,
  "short_float_percent": 0.88,
  "today_change_percent": -0.78,
  "profit_margin_percent": 27.62,
  "analyst_recommendation": "Buy",
  "dividend_yield_percent": 0.33,
  "fifty_two_week_low_usd": 243.42,
  "fifty_two_week_high_usd": 345.34,
  "price_to_earnings_ratio": 38.79,
  "raw_recommendation_score": 2.13,
  "insider_ownership_percent": 0.12,
  "forward_price_to_earnings_ratio": 35.23,
  "institutional_ownership_percent": 68.89,
  "average_analyst_price_target_usd": 337.68,
  "expected_earnings_growth_next_year_percent": 8.77
}
```

### List insider trades

Operation `list_insider_trades`, 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 recent Form 4 insider trades by company executives and directors, optionally for a company or trade type. Finviz displays at most 200 matching public rows; proposed sales and ownership-only filings are excluded.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `company` | string | no | `"Tesla"` | Company name or stock ticker, such as Tesla or TSLA. Omit to see trades across the whole market. |
| `trade_type` | string | no | `"sales"` | Show buys, sales, or both, such as buys. |
| `max_results` | integer | no | `20` | Most trades to return, such as 20. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "company": {
      "type": "string",
      "description": "Company name or stock ticker, such as Tesla or TSLA. Omit to see trades across the whole market.",
      "examples": [
        "Tesla",
        "TSLA"
      ]
    },
    "trade_type": {
      "enum": [
        "buys",
        "sales",
        "both"
      ],
      "type": "string",
      "default": "both",
      "description": "Show buys, sales, or both, such as buys.",
      "examples": [
        "sales",
        "buys"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Most trades to return, such as 20.",
      "x-fous-developer": true,
      "examples": [
        20,
        100,
        5
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {},
    {
      "company": "Tesla",
      "trade_type": "sales",
      "max_results": 20
    },
    {
      "trade_type": "sales",
      "max_results": 100
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `trades` | array |  |  |
| `trades[].role` | string | `"President & CEO"` |  |
| `trades[].shares` | integer or null | `7500` |  |
| `trades[].ticker` | string | `"CYTK"` |  |
| `trades[].company` | string | `"Cytokinetics Inc"` |  |
| `trades[].page_url` | string | `"https://finviz.com/insidertrading?t=CYTK"` |  |
| `trades[].trade_date` | string | `"2026-09-28"` |  |
| `trades[].total_value` | number or null | `79500` |  |
| `trades[].insider_name` | string | `"Blum Robert I"` |  |
| `trades[].price_currency` | string | `"USD"` |  |
| `trades[].sec_filing_url` | string | `"https://www.sec.gov/Archives/edgar/data/1061983/000106198326000097/xslF345X06/form4.xml"` |  |
| `trades[].value_currency` | string | `"USD"` |  |
| `trades[].price_per_share` | number or null | `10.6` |  |
| `trades[].transaction_type` | string | `"Option Exercise"` |  |
| `trades[].shares_owned_after_trade` | integer or null | `286044` |  |

**Example input**

```json
{}
```

**Example output**

```json
{
  "trades": [
    {
      "role": "President & CEO",
      "shares": 7500,
      "ticker": "CYTK",
      "company": "Cytokinetics Inc",
      "page_url": "https://finviz.com/insidertrading?t=CYTK",
      "trade_date": "2026-09-28",
      "total_value": 79500,
      "insider_name": "Blum Robert I",
      "price_currency": "USD",
      "sec_filing_url": "https://www.sec.gov/Archives/edgar/data/1061983/000106198326000097/xslF345X06/form4.xml",
      "value_currency": "USD",
      "price_per_share": 10.6,
      "transaction_type": "Option Exercise",
      "shares_owned_after_trade": 286044
    },
    {
      "role": "CHIEF FINANCIAL OFFICER",
      "shares": 8005,
      "ticker": "TRT",
      "company": "Trio-Tech International",
      "page_url": "https://finviz.com/insidertrading?t=TRT",
      "trade_date": "2026-09-28",
      "total_value": 20093,
      "insider_name": "Srinivasan Anitha",
      "price_currency": "USD",
      "sec_filing_url": "https://www.sec.gov/Archives/edgar/data/732026/000194173926000008/xslF345X06/form4-09282026_010936.xml",
      "value_currency": "USD",
      "price_per_share": 2.51,
      "transaction_type": "Option Exercise",
      "shares_owned_after_trade": 40022
    },
    {
      "role": "Chief Executive Officer",
      "shares": 4400,
      "ticker": "DLPN",
      "company": "Dolphin Entertainment Inc",
      "page_url": "https://finviz.com/insidertrading?t=DLPN",
      "trade_date": "2026-09-28",
      "total_value": 4884,
      "insider_name": "O'Dowd William IV",
      "price_currency": "USD",
      "sec_filing_url": "https://www.sec.gov/Archives/edgar/data/1282224/000107997326001296/xslF345X06/ownership.xml",
      "value_currency": "USD",
      "price_per_share": 1.11,
      "transaction_type": "Buy",
      "shares_owned_after_trade": 564642
    }
  ]
}
```

### Screen stocks

Operation `screen_stocks`, 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.

Find US stocks by sector, company size, dividend yield, P/E ratio, signal, and sort order. Figures reflect the latest screener display and may be delayed.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `page` | integer | no | `2` | 1-based page of results to start from, for example 2. |
| `sort` | string | no | `"highest_dividend"` | Stock ranking, for example largest_first. |
| `sector` | string | no | `"Healthcare"` | Business sector, for example Technology; any includes all sectors. |
| `signal` | string | no | `"top_gainers"` | Market signal, for example top_gainers. |
| `max_results` | integer | no | `10` | Maximum number of stocks to return, for example 20. Up to 100. |
| `company_size` | string | no | `"mega"` | Market value range, for example large ($10B–$200B). |
| `minimum_dividend_yield_percent` | number | no | `2.5` | Minimum annual dividend yield as a percentage, for example 2.5. |
| `maximum_price_to_earnings_ratio` | number | no | `25` | Max P/E ratio, for example 25. Omit to include any P/E. |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "description": "1-based page of results to start from, for example 2.",
      "x-fous-developer": true,
      "examples": [
        2
      ]
    },
    "sort": {
      "enum": [
        "largest_first",
        "biggest_gainers",
        "highest_dividend"
      ],
      "type": "string",
      "default": "largest_first",
      "description": "Stock ranking, for example largest_first.",
      "examples": [
        "highest_dividend",
        "biggest_gainers"
      ]
    },
    "sector": {
      "enum": [
        "any",
        "Basic Materials",
        "Communication Services",
        "Consumer Cyclical",
        "Consumer Defensive",
        "Energy",
        "Financial",
        "Healthcare",
        "Industrials",
        "Real Estate",
        "Technology",
        "Utilities"
      ],
      "type": "string",
      "default": "any",
      "description": "Business sector, for example Technology; any includes all sectors.",
      "examples": [
        "Healthcare",
        "Technology",
        "Utilities"
      ]
    },
    "signal": {
      "enum": [
        "none",
        "top_gainers",
        "top_losers",
        "new_52_week_high",
        "new_52_week_low",
        "unusual_volume",
        "most_active",
        "oversold",
        "overbought"
      ],
      "type": "string",
      "default": "none",
      "description": "Market signal, for example top_gainers.",
      "examples": [
        "top_gainers"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "description": "Maximum number of stocks to return, for example 20. Up to 100.",
      "x-fous-developer": true,
      "examples": [
        10,
        20,
        25
      ]
    },
    "company_size": {
      "enum": [
        "any",
        "mega",
        "large",
        "mid",
        "small",
        "micro"
      ],
      "type": "string",
      "default": "any",
      "description": "Market value range, for example large ($10B–$200B).",
      "examples": [
        "mega",
        "micro"
      ]
    },
    "minimum_dividend_yield_percent": {
      "type": "number",
      "default": 0,
      "minimum": 0,
      "description": "Minimum annual dividend yield as a percentage, for example 2.5.",
      "examples": [
        2.5,
        99
      ]
    },
    "maximum_price_to_earnings_ratio": {
      "type": "number",
      "title": "Max P/E ratio",
      "minimum": 0,
      "description": "Max P/E ratio, for example 25. Omit to include any P/E.",
      "examples": [
        25
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "sort": "highest_dividend",
      "sector": "Healthcare",
      "max_results": 10,
      "minimum_dividend_yield_percent": 2.5,
      "maximum_price_to_earnings_ratio": 25
    },
    {
      "sector": "Technology",
      "max_results": 20,
      "company_size": "mega"
    },
    {
      "sector": "Utilities",
      "max_results": 20,
      "company_size": "micro",
      "minimum_dividend_yield_percent": 99
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `stocks` | array |  | Matching US stocks. |
| `stocks[].sector` | string or null | `"Healthcare"` | Business sector. |
| `stocks[].ticker` | string | `"SPOK"` | Stock symbol. |
| `stocks[].company` | string | `"Spok Holdings Inc"` | Company name. |
| `stocks[].country` | string or null | `"USA"` | Company country. |
| `stocks[].industry` | string or null | `"Health Information Services"` | Industry. |
| `stocks[].page_url` | string | `"https://finviz.com/quote.ashx?t=SPOK"` | Finviz stock page. |
| `stocks[].price_usd` | number or null | `10.37` | Price in US dollars. |
| `stocks[].volume_shares` | integer or null | `107168` | Shares traded. |
| `stocks[].market_cap_usd` | number or null | `216920000` | Market capitalization in US dollars. |
| `stocks[].change_percent_today` | number or null | `-0.86` | Current-day price change, percent. |
| `stocks[].price_to_earnings_ratio` | number or null | `17.86` | Price-to-earnings ratio. |

**Example input**

```json
{
  "sort": "highest_dividend",
  "sector": "Healthcare",
  "max_results": 10,
  "minimum_dividend_yield_percent": 2.5,
  "maximum_price_to_earnings_ratio": 25
}
```

**Example output**

```json
{
  "stocks": [
    {
      "sector": "Healthcare",
      "ticker": "SPOK",
      "company": "Spok Holdings Inc",
      "country": "USA",
      "industry": "Health Information Services",
      "page_url": "https://finviz.com/quote.ashx?t=SPOK",
      "price_usd": 10.37,
      "volume_shares": 107168,
      "market_cap_usd": 216920000,
      "change_percent_today": -0.86,
      "price_to_earnings_ratio": 17.86
    },
    {
      "sector": "Healthcare",
      "ticker": "EMBC",
      "company": "Embecta Corp",
      "country": "USA",
      "industry": "Medical Instruments & Supplies",
      "page_url": "https://finviz.com/quote.ashx?t=EMBC",
      "price_usd": 5.93,
      "volume_shares": 680936,
      "market_cap_usd": 335990000,
      "change_percent_today": 0.51,
      "price_to_earnings_ratio": 4
    },
    {
      "sector": "Healthcare",
      "ticker": "BMY",
      "company": "Bristol-Myers Squibb Co",
      "country": "USA",
      "industry": "Drug Manufacturers - General",
      "page_url": "https://finviz.com/quote.ashx?t=BMY",
      "price_usd": 63.88,
      "volume_shares": 14018716,
      "market_cap_usd": 130490000000,
      "change_percent_today": 1.62,
      "price_to_earnings_ratio": 14.07
    }
  ]
}
```

## 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": "@finviz",
  "visibility": "public",
  "operation": "get_stock_snapshot",
  "version": 1,
  "input": {
    "company": "Apple"
  },
  "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\": \"@finviz\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_stock_snapshot\",\n  \"version\": 1,\n  \"input\": {\n    \"company\": \"Apple\"\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": "@finviz",
  "visibility": "public",
  "operation": "get_stock_snapshot",
  "version": 1,
  "input": {
    "company": "Apple"
  },
  "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/finviz`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_stock_snapshot`: Get stock snapshot. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `list_insider_trades`: List insider trades. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `screen_stocks`: Screen stocks. 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-finviz https://api.fous.com/mcp/tools/finviz --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

- Compare delayed stock metrics for a company or ticker.
- Screen US stocks by sector, size, dividend yield, or P/E ratio.
- Find stocks matching a market signal and ranking.
- Review recent insider buys or sales by company.
- Track insider trades across the market.

## 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 Finviz 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 Finviz account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from finviz.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 company’s delayed share price?

Use Get stock snapshot with a company name or US stock ticker.

### Which stocks match my screening criteria?

Use Screen stocks with filters such as sector, company size, dividend yield, or P/E ratio.

### What recent insider trades were reported?

Use List insider trades, optionally filtering by company or trade type.

## Related

- [SEC EDGAR API](https://fous.com/tools/sec-edgar.md): SEC EDGAR provides filings, annual and quarterly financials, exact-phrase matches, up to 200 insider trades, and quarterly 13F manager holdings; older filings appear when available.
- [TradingView API](https://fous.com/tools/tradingview.md): TradingView provides charts, markets, and technical analysis, with changing buy, sell, or neutral signals and stock screening; quotes may be delayed.
- [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.
- [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.
- [MSN Money API](https://fous.com/tools/msn-money.md): MSN Money provides stock quotes, key facts, financial news, and market data, including current market movers; quotes and 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.
- [Capitol Trades API](https://fous.com/tools/capitol-trades.md): Capitol Trades shows disclosed US congressional stock trades, with up to three years of history; recent trades are newest first and can be filtered.
- [Forbes API](https://fous.com/tools/forbes.md): Forbes provides business news, real-time billionaire rankings and wealth that can change during the trading day, plus ranked Global 2000 companies with financial figures and company profiles.
- [All Finance tools](https://fous.com/tools/category/finance)
