screen_companies
Screen Companies
What it does
Screen companies by price range, volume, cash runway, float, shares outstanding, market cap, industry, listing exchange (NASDAQ/NYSE/AMEX), listing market (market="otc" / "exchange"; the reliable OTC test, as the exchange label is inconsistent on OTC rows), float data source, TTM dividend yield and snapshot cash (minCash / maxCash). Sort by any sortable column.
Returns matching companies with key metrics and pagination. FLOAT: "float" is the measured POINT float (null on a withheld dilution-snapshot row, which then carries "floatEstimate" + "floatEstimateBound" ("point" / "ceiling" / "floor") + "floatEstimateBasis").
Print a point as the plain number with its basis as the caveat; a ceiling / floor is a BOUND, not a figure: write "float not stated (at most / at least N)", never the bare number or a "~" / "<=" / ">=" glyph. minFloat / maxFloat and the computed_float sort use the figure's VALUE, so a bounded row is kept; a row with neither is NOT MEASURED, never 0.
Never feed floatEstimate into a market cap, percent-of-float or short-interest ratio. shares_outstanding is DATED by sharesOutstandingAsOf + sharesOutstandingAsOfKind (stated / checked / none = date not recorded) and sharesOutstandingSource; never present the count without its date.
CASH RUNWAY: a null cash_runway_months carries cashRunwayReason. "estimate_would_be_negative" = the last cash figure (dated cashRunwayAsOf) rolled forward by burn is below zero: ESTIMATED exhausted, not a reported zero balance; maxCashRunway drops such rows unless includeRunwayExhausted=true.
Any other or null reason is NOT a runway claim. estimatedCurrentCash (estimatedCashAsOf) is the snapshot's USD cash PROJECTION, only for snapshot-covered companies: null = NOT MEASURED, never "no cash"; a non-USD filer has it null and is never matched by minCash / maxCash. dividendYield (TTM cash dividends with an ex-date in the last 365 days / current price, %), nextExDate, lastExDate: null = NOT MEASURED or not a payer, never 0%. listingMarket: "exchange" / "otc", null = unknown.
Each row carries live trading-halt status (halted/haltCode/haltedAt; false/null when trading normally); pass excludeHalted=true to drop currently-halted tickers.
Ask your AI
With the Signal8 MCP server connected, your assistant calls this tool when a question needs it. For example:
Using Signal8, screen companies by price range, volume, cash runway, float, shares outstanding, market cap, industry, listing exchange.
Parameters
| Name | Type | Description |
|---|---|---|
countryoptional | "US" | "CA" | "all" | Company universe by issuer domicile: "US" (default), "CA" (Canadian companies via their US-OTC/US cross-listings), or "all" |
industryoptional | string | Filter by company industry (exact match, e.g. "Biotechnology", "Software") |
exchangeoptional | string | Filter by listing exchange: NASDAQ (every tier), NYSE (includes NYSE Arca), or AMEX (NYSE American). Each matches every spelling of that exchange; names that moved to OTC never match. For OTC use market="otc" instead |
marketoptional | "exchange" | "otc" | Listing market: "otc" (OTC Markets) or "exchange" (NASDAQ / NYSE / NYSE American / Arca / Cboe). Companies with no listing record match neither |
minPriceoptional | number | Minimum latest price in USD |
maxPriceoptional | number | Maximum latest price in USD |
minVolumeoptional | number | Minimum daily trading volume |
maxVolumeoptional | number | Maximum daily trading volume |
minCashRunwayoptional | number | Minimum estimated months of cash remaining |
maxCashRunwayoptional | number | Maximum estimated months of cash remaining |
includeRunwayExhaustedoptional | boolean | When true, maxCashRunway also returns companies whose estimated cash is already exhausted (cash_runway_months null, cashRunwayReason "estimate_would_be_negative"); they sort first on an ascending runway sort. Default false |
minCashoptional | number | Minimum dilution-snapshot cash projection in USD (estimatedCurrentCash). Snapshot-covered companies reporting in USD only |
maxCashoptional | number | Maximum dilution-snapshot cash projection in USD (estimatedCurrentCash). Snapshot-covered companies only — an uncovered company is not measured, not excluded for having cash |
minFloatoptional | number | Minimum computed public float (shares) |
maxFloatoptional | number | Maximum computed public float (shares) |
minSharesOutstandingoptional | number | Minimum shares outstanding from SEC EDGAR |
maxSharesOutstandingoptional | number | Maximum shares outstanding from SEC EDGAR |
minMarketCapComputedoptional | number | Minimum market cap in USD (price * shares outstanding) |
maxMarketCapComputedoptional | number | Maximum market cap in USD (price * shares outstanding) |
floatSourceoptional | "computed" | "sec_10k" | "external" | Filter by float data source |
minDividendYieldoptional | number | Minimum TTM dividend yield in percent (e.g. 3 for 3%). Rows with no measured yield never match. |
maxDividendYieldoptional | number | Maximum TTM dividend yield in percent. Rows with no measured yield never match. |
sortByoptional | "ticker" | "price" | "change_percent" | "volume" | "industry" | "cash_runway_months" | "shares_outstanding" | "computed_float" | "market_cap_computed" | "updated_at" | "dividend_yield" | "estimated_current_cash" | Column to sort results by (default: volume) |
sortOrderoptional | "asc" | "desc" | Sort direction (default: desc) |
limitoptional | number | Maximum results per page (default: 25, max: 100) |
offsetoptional | number | Offset for pagination (default: 0) |
excludeHaltedoptional | boolean | When true, exclude tickers with a currently-active trading halt (regulatory or volatility) from the results. Default false — halted rows are included and carry halted/haltCode/haltedAt fields. |