Stock Screener
Screen stocks based on a set of criteria. This can be useful to find companies that match a specific criteria or your analysis. Further filtering can be done by utilising the Finance Toolkit and calculating the relevant ratios to filter by. This can be:
- Market capitalization (market_cap_higher, market_cap_lower)
- Price (price_higher, price_lower)
- Beta (beta_higher, beta_lower)
- Volume (volume_higher, volume_lower)
- Dividend (dividend_higher, dividend_lower)
- Classification (sector, industry, country, exchange, is_etf)
The result is capped at limit companies, 1000 by default. Getting back exactly that many means the list was truncated, which is warned about in the log; narrow the criteria or raise the limit to see the remainder.
Also known as: filter stocks, financial criteria screener.
Stock Screener in Python or via the MCP
Install the Finance Toolkit with:
pip install financetoolkit -U
Then call get_stock_screener as shown below.
from financetoolkit import Discovery
discovery = Discovery(api_key="FINANCIAL_MODELING_PREP_KEY")
discovery.get_stock_screener(
market_cap_higher=1000000,
market_cap_lower=200000000000,
price_higher=100,
price_lower=200,
beta_higher=1,
beta_lower=1.5,
volume_higher=100000,
volume_lower=2000000,
dividend_higher=1,
dividend_lower=2,
is_etf=False
)
Or, after setting up the Finance Toolkit MCP, ask:
Which stocks, leaving out ETFs, have a market cap between $1 million and $200 billion, a price between $100 and $200, a beta between 1 and 1.5, a daily volume between 100,000 and 2 million shares and a dividend between $1 and $2 per share?
Which returns:
| Symbol | Name | Market Cap | Sector | Industry | Beta | Price | Dividend | Volume | avgVolume | Exchange | Exchange Code | Country | Currency | Market Cap (USD) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| WPM.TO | Wheaton Precious Metals Corp. | 7.68348e+10 | Basic Materials | Gold | 1.243 | 169.18 | 1.0425 | 549294 | 784311 | Toronto Stock Exchange | TSX | CA | CAD | 5.48769e+10 |
| ODFL | Old Dominion Freight Line, Inc. | 3.79958e+10 | Industrials | Trucking | 1.204 | 182.7 | 1.15 | 1993098 | 1766126 | NASDAQ Global Select | NASDAQ | US | USD | 3.79958e+10 |
| EXPD | Expeditors International of Washington, Inc. | 2.55055e+10 | Industrials | Integrated Freight & Logistics | 1.064 | 196.21 | 1.58 | 989988 | 1040746 | New York Stock Exchange | NYSE | US | USD | 2.55055e+10 |
| IHG | InterContinental Hotels Group PLC | 2.37383e+10 | Consumer Cyclical | Travel Lodging | 1.028 | 162.4 | 1.231 | 333742 | 219735 | New York Stock Exchange | NYSE | GB | USD | 2.37383e+10 |
| TOL | Toll Brothers, Inc. | 1.28914e+10 | Consumer Cyclical | Residential Construction | 1.302 | 139.9 | 1.03 | 996905 | 996604 | New York Stock Exchange | NYSE | US | USD | 1.28914e+10 |
| RRX | Regal Rexnord Corporation | 9.84697e+09 | Industrials | Industrial - Machinery | 1.069 | 147.92 | 1.4 | 833290 | 1254610 | New York Stock Exchange | NYSE | US | USD | 9.84697e+09 |
| TFII | TFI International Inc. | 9.24671e+09 | Industrials | Trucking | 1.469 | 112.5 | 1.88 | 217798 | 316092 | New York Stock Exchange | NYSE | CA | USD | 9.24671e+09 |
| TKR | The Timken Company | 7.57622e+09 | Industrials | Manufacturing - Tools & Accessories | 1.183 | 109.33 | 1.42 | 836982 | 921212 | New York Stock Exchange | NYSE | US | USD | 7.57622e+09 |
| SSD | Simpson Manufacturing Co., Inc. | 7.55594e+09 | Basic Materials | Construction Materials | 1.318 | 184.36 | 1.18 | 489272 | 287909 | New York Stock Exchange | NYSE | US | USD | 7.55594e+09 |
| AGCO | AGCO Corporation | 7.43037e+09 | Industrials | Agricultural - Machinery | 1.074 | 106.1 | 1.18 | 574467 | 1028668 | New York Stock Exchange | NYSE | US | USD | 7.43037e+09 |
| AWI | Armstrong World Industries, Inc. | 7.10776e+09 | Basic Materials | Construction Materials | 1.158 | 168.18 | 1.356 | 432292 | 400187 | New York Stock Exchange | NYSE | US | USD | 7.10776e+09 |
| JCOM | Ziff Davis, Inc. | 6.75066e+09 | Technology | Software - Infrastructure | 1.0328 | 142.84 | 1.76 | 355657 | 357547 | NASDAQ Global Select | NASDAQ | US | USD | 6.75066e+09 |
| VCTR | Victory Capital Holdings, Inc. | 6.61843e+09 | Financial Services | Asset Management | 1.133 | 107.6 | 1.98 | 379475 | 645526 | NASDAQ Global Select | NASDAQ | US | USD | 6.61843e+09 |
| ENS | EnerSys | 5.98971e+09 | Industrials | Electrical Equipment & Parts | 1.186 | 166.08 | 1.075 | 374598 | 537471 | New York Stock Exchange | NYSE | US | USD | 5.98971e+09 |
| CAKE | The Cheesecake Factory Incorporated | 5.39256e+09 | Consumer Cyclical | Restaurants | 1.037 | 108.37 | 1.17 | 1802234 | 1574028 | NASDAQ Global Select | NASDAQ | US | USD | 5.39256e+09 |
| EXP | Eagle Materials Inc. | 5.35929e+09 | Basic Materials | Construction Materials | 1.335 | 174.71 | 1 | 432955 | 442898 | New York Stock Exchange | NYSE | US | USD | 5.35929e+09 |
| SIG | Signet Jewelers Limited | 4.49001e+09 | Consumer Cyclical | Luxury Goods | 1.104 | 117.18 | 1.37 | 860622 | 862382 | New York Stock Exchange | NYSE | BM | USD | 4.49001e+09 |
| MCRI | Monarch Casino & Resort, Inc. | 2.01951e+09 | Consumer Cyclical | Gambling, Resorts & Casinos | 1.405 | 112.68 | 1.2 | 142490 | 156229 | NASDAQ Global Select | NASDAQ | US | USD | 2.01951e+09 |
| ALG | Alamo Group Inc. | 1.77915e+09 | Industrials | Industrial - Machinery | 1.078 | 146.18 | 1.36 | 208708 | 169615 | New York Stock Exchange | NYSE | US | USD | 1.77915e+09 |
Parameters
get_stock_screener accepts the following parameters.
| Parameter | Type | Description | Example |
|---|---|---|---|
market_cap_higher | int | The minimum market capitalization of the stock in US dollars (not in millions), e.g. 1_000_000_000 for $1 billion. Defaults to None, which applies no filter. | 10000000000 |
market_cap_lower | int | The maximum market capitalization of the stock in US dollars. The screener returns the largest companies first, so this bound is only sent to it when the currency of the listings is known: with an exchange, or with a country and primary_only. Otherwise it is applied to the companies returned. Defaults to None, which applies no filter. | 200000000000 |
price_higher | float | None | The minimum price of the stock. Defaults to None, which applies no filter. | 10 |
price_lower | float | None | The maximum price of the stock. Defaults to None, which applies no filter. | 500 |
beta_higher | float | None | The minimum beta of the stock. Defaults to None, which applies no filter. | 1 |
beta_lower | float | None | The maximum beta of the stock. Defaults to None, which applies no filter. | 2 |
volume_higher | int | The minimum volume of the stock, in shares traded. Defaults to None, which applies no filter. | 1000000 |
volume_lower | int | The maximum volume of the stock. Defaults to None, which applies no filter. | 100000000 |
dividend_higher | float | None | The minimum dividend of the stock, as an amount per share over the last annual period rather than as a yield. Defaults to None, which applies no filter. | 1 |
dividend_lower | float | None | The maximum dividend of the stock. Defaults to None, which applies no filter. | 5 |
sector | str | None | The sector to restrict the screen to, e.g. “Energy”. Defaults to None, which applies no filter. | "Technology" |
industry | str | None | The industry to restrict the screen to, e.g. “Biotechnology”. Defaults to None, which applies no filter. | "Semiconductors" |
country | str | None | The country to restrict the screen to, as a two-letter code (“US”) or a name (“United States”). Defaults to None, which applies no filter. | "US" |
exchange | str | None | The exchange code to restrict the screen to, e.g. “NASDAQ”. Defaults to None, which applies no filter. | "NASDAQ" |
is_etf | bool | None | Whether to restrict the screen to ETFs or to exclude them. Defaults to None, which applies no filter. | False |
limit | int | The maximum number of companies to return. Defaults to 1000. | 100 |
primary_only | bool | Whether to keep only the home listing of each company (on an exchange in its own country, the most traded one among several) rather than every listing (e.g. ING in Amsterdam, New York, Toronto and Frankfurt). Defaults to False. Market caps are in each listing’s own currency in “Market Cap” and in US dollars in “Market Cap (USD)”, which the market cap bounds and the ranking use. | True |