Finviz APIfinviz.com ↗
Access Finviz stock screener results, insider trading transactions, news sentiment, and market movers via a structured JSON API. 6 endpoints.
What is the Finviz API?
This API exposes 6 endpoints covering Finviz stock market data including the full stock screener, insider trading transactions, news sentiment analysis, and market movers. The get_insider_trading endpoint returns owner, relationship, transaction type, cost, share count, and total value for recent buys and sells. The get_ticker_sectors_with_performance endpoint batch-resolves sector classifications and live 1-day sector performance for up to 100 tickers in a single call.
curl -X GET 'https://api.parse.bot/scraper/680946c1-3c1f-4cd9-948d-2822f535b6a1/get_insider_trading?min_value=1000000' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve recent insider trading transactions from Finviz. Returns the latest insider buys and sells with transaction details including owner, relationship, cost, shares, and total value. Optionally filter by minimum transaction value to surface only significant activity. Single-page result set.
| Param | Type | Description |
|---|---|---|
| min_value | integer | Minimum transaction value in USD. Transactions with Value ($) below this threshold are excluded from results. |
{
"type": "object",
"fields": {
"items": "array of insider transaction objects with keys: Ticker, Owner, Relationship, Date, Transaction, Cost, #Shares, Value ($), #Shares Total, SEC Form 4, SEC Form 4 URL"
},
"sample": {
"data": {
"items": [
{
"Cost": "19.70",
"Date": "Jun 11 '26",
"Owner": "PL Capital Advisors, LLC",
"Ticker": "BANC",
"#Shares": "1,750,000",
"Value ($)": "34,475,000",
"SEC Form 4": "Jun 11 09:32 PM",
"Transaction": "Proposed Sale",
"Relationship": "Former Director",
"#Shares Total": "",
"SEC Form 4 URL": "http://www.sec.gov/Archives/edgar/data/1169770/000089706926001386/xsl144X01/primary_doc.xml"
}
]
},
"status": "success"
}
}About the Finviz API
Screener and Market Movers
The get_screener_results endpoint accepts comma-separated Finviz filter codes via the filters parameter — for example fa_peg_u1 to filter stocks with a PEG ratio under 1, or ta_sma200_pc5 for price proximity to the 200-day moving average. Results return up to 20 stocks per call with fields including Ticker, Company, Sector, Industry, Market Cap, P/E, Price, Change, and Volume. The get_market_movers endpoint targets the same field set but accepts a mover_type parameter to switch between top gainers, top losers, most active by volume, or unusual volume lists.
Insider Trading
The get_insider_trading endpoint returns the most recent insider transactions visible on Finviz, each record carrying Ticker, Owner, Relationship, Date, Transaction, Cost, #Shares, Value ($), and cumulative share count. The optional min_value integer parameter filters out transactions below a USD threshold, which is useful for isolating material activity from routine small filings.
News Sentiment and Sector Performance
The get_stock_news_sentiment endpoint accepts a case-insensitive ticker string and returns all news headlines from the Finviz quote page for that ticker. Each item includes date, time, headline, url, source, and a keyword-based sentiment classification of Positive, Negative, or Neutral. The get_ticker_sectors_with_performance endpoint accepts up to 100 comma-separated tickers and joins each to the current 1-day sector performance, returning a sector_performance_map keyed by sector name alongside per-ticker sector, industry, and sector_performance_1d fields. The response also surfaces resolved_count, unresolved_count, and an as_of ISO 8601 timestamp.
General Table Extraction
The get_tabular_data endpoint accepts any Finviz page URL and returns all tables found on that page as an array of objects, each with a table_index, headers array, and row data array. This is useful for pages not covered by the dedicated endpoints.
The Finviz API is a managed, monitored endpoint for finviz.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when finviz.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official finviz.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Screen stocks by fundamental and technical filter codes to build a daily watchlist using
get_screener_results - Monitor insider buying activity above a dollar threshold using the
min_valuefilter onget_insider_trading - Track news sentiment shifts for a specific ticker before earnings using
get_stock_news_sentiment - Compare 1-day sector performance across a portfolio of up to 100 tickers with
get_ticker_sectors_with_performance - Identify unusual volume or top daily losers for intraday strategies using
get_market_movers - Pull sector and industry classification in bulk for backtesting or portfolio grouping
- Extract financial tables from any Finviz page for ad-hoc analysis via
get_tabular_data
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Finviz have an official developer API?+
What does the `get_insider_trading` endpoint return, and how does the `min_value` filter work?+
min_value integer parameter drops any transaction whose Value ($) falls below that threshold, so setting it to 1000000 would surface only seven-figure or larger trades.How is sentiment determined in `get_stock_news_sentiment`?+
Does the screener endpoint return more than the first page of results?+
get_screener_results endpoint returns the first page of results, which is up to 20 matching stocks. Multi-page pagination is not currently supported. The get_ticker_sectors_with_performance endpoint handles pagination internally for batch sector lookups, but screener result sets larger than 20 are not exposed. You can fork this API on Parse and revise it to add offset-based pagination for the screener endpoint.