Finviz API: Get stock snapshot
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.
Unofficial. Not affiliated with or endorsed by Finviz.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Company, required
company Company name or US stock ticker, for example Apple or AAPL.
Apple
Input as JSON
{ "company": "Apple"}Output
{ "sector": "Technology", "ticker": "AAPL", "country": "USA", "exchange": "Nasdaq", "industry": "Consumer Electronics", "price_usd": 345.87, "finviz_link": "https://finviz.com/stock?t=AAPL" , "company_name": "Apple Inc", "market_cap_usd": 5047690000000, "short_float_percent": 0.83, "today_change_percent": -0.67, "profit_margin_percent": 27.62, "analyst_recommendation": "Buy", "dividend_yield_percent": 0.32, "fifty_two_week_low_usd": 243.42, "fifty_two_week_high_usd": 348.36, "price_to_earnings_ratio": 39.65, "raw_recommendation_score": 2.2, "insider_ownership_percent": 0.12, "forward_price_to_earnings_ratio": 36.04, "institutional_ownership_percent": 68.94, "average_analyst_price_target_usd": 335.44, "expected_earnings_growth_next_year_percent": 8.61}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"finviz.com/get_stock_snapshot","input":{"company":"Apple"}}' # 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": "finviz.com/get_stock_snapshot" , "input": { "company": "Apple" }})# 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": "finviz.com/get_stock_snapshot" , "input": { "company": "Apple" } }), 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 finviz.com/get_stock_snapshot# with {"company":"Apple"}"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": [ "company" ], "properties": { "company": { "type": "string", "description": "Company name or US stock ticker, for example Apple or AAPL." } }}Output schema
{ "type": "object", "required": [ "company_name", "ticker", "exchange", "sector", "industry", "country", "price_usd", "today_change_percent", "market_cap_usd", "price_to_earnings_ratio", "forward_price_to_earnings_ratio", "expected_earnings_growth_next_year_percent", "profit_margin_percent", "dividend_yield_percent", "analyst_recommendation", "average_analyst_price_target_usd", "insider_ownership_percent", "institutional_ownership_percent", "short_float_percent", "fifty_two_week_high_usd", "fifty_two_week_low_usd", "finviz_link", "raw_recommendation_score" ], "properties": { "sector": { "type": "string", "description": "Business sector" }, "ticker": { "type": "string", "description": "Stock ticker" }, "country": { "type": "string", "description": "Company country" }, "exchange": { "type": "string", "description": "US listing exchange" }, "industry": { "type": "string", "description": "Industry" }, "price_usd": { "type": [ "number", "null" ], "description": "Delayed share price in US dollars" }, "finviz_link": { "type": "string", "description": "Finviz stock page" }, "company_name": { "type": "string", "description": "Company name" }, "market_cap_usd": { "type": [ "number", "null" ], "description": "Market capitalization in US dollars, full number" }, "short_float_percent": { "type": [ "number", "null" ], "description": "Short float as percent of float" }, "today_change_percent": { "type": [ "number", "null" ], "description": "Change today, in percent" }, "profit_margin_percent": { "type": [ "number", "null" ], "description": "Profit margin in percent" }, "analyst_recommendation": { "type": [ "string", "null" ], "description": "Analyst recommendation from Strong buy to Strong sell" }, "dividend_yield_percent": { "type": [ "number", "null" ], "description": "Estimated dividend yield in percent, null if none" }, "fifty_two_week_low_usd": { "type": [ "number", "null" ], "description": "52-week low in US dollars" }, "fifty_two_week_high_usd": { "type": [ "number", "null" ], "description": "52-week high in US dollars" }, "price_to_earnings_ratio": { "type": [ "number", "null" ], "description": "Trailing price-to-earnings ratio" }, "raw_recommendation_score": { "type": [ "number", "null" ], "description": "Finviz analyst mean score from 1 (buy) to 5 (sell)" }, "insider_ownership_percent": { "type": [ "number", "null" ], "description": "Insider ownership in percent" }, "forward_price_to_earnings_ratio": { "type": [ "number", "null" ], "description": "Forward price-to-earnings ratio" }, "institutional_ownership_percent": { "type": [ "number", "null" ], "description": "Institutional ownership in percent" }, "average_analyst_price_target_usd": { "type": [ "number", "null" ], "description": "Mean analyst price target in US dollars" }, "expected_earnings_growth_next_year_percent": { "type": [ "number", "null" ], "description": "Expected earnings growth next year, in percent" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
finviz.com/get_stock_snapshot- Returns
- company name, ticker, exchange, sector, industry, country, price, valuation ratios, analyst rating and target, ownership, 52-week range, Finviz 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 finviz.com/get_stock_snapshot with the inputs above.
Ask your agent
- Can you pull up the current snapshot for NVDA including its price and analyst rating?
- I need the delayed stock quote and valuation ratios for Coca-Cola.
- What's the 52-week range and analyst target for Tesla stock right now?
- Give me a quick overview of Microsoft: sector, industry, exchange, and dividend yield.
- Look up the ticker JPM on finviz.com and show me its ownership details and P/E ratio.
See more
All Finviz methodsScreens US-listed stocks on Finviz by sector, company size, minimum dividend yield, maximum P/E ratio and market signal, ranked by market value, today's gain or dividend yield.
finviz.com/screen_stocksLists recent Form 4 insider trades on Finviz, optionally for one company or ticker and filtered to buys, sales, or both.
finviz.com/list_insider_tradesLooks up a stock by company name or ticker on Stock Analysis and returns its valuation ratios and company statistics, with the date the figures were last updated.
stockanalysis.com/get_key_statisticsGets 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_quoteLooks up a stock, fund, index, or cryptocurrency by name or ticker and returns its latest displayed price and key statistics. Unavailable figures are null; quotes may be delayed.
finance.yahoo.com/get_quoteLooks up a company by name or ticker on Yahoo Finance and returns its latest news headlines, with article summaries when the article page provides one.
finance.yahoo.com/get_company_newsLooks up a company by name or ticker on Stock Analysis and returns its annual or quarterly income statement, balance sheet, or cash flow statement for the free periods.
stockanalysis.com/get_financial_statementsFinds 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_stocks