ZBS Index What actually exists in applied AI, with the source next to it

mcp server

equibles

90+ free tools, Claude & ChatGPT: prices, options, SEC filings, 13F, insider, congress, transcripts.

Description as published by the maintainer. Source

  • version 1.0.2
  • active

active — Most recent push to the repository was 2026-07-25.

What this server can do

99 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.

CompareFinancialFact(concept, tickers, fiscalYear, fiscalPeriod)
Compare one financial concept across several companies for the same fiscal period — peer comparison. Returns one row per ticker with the latest-restated value; tickers with no data for the period are listed separately. Fiscal year/period follow each company's OWN fiscal calendar (e.g. NVDA's fiscal 2025 ended January 2025), so peer rows can cover very different calendar months — check the Period End column. Required: tickers, concept, fiscalYear.
GetAtmPrograms(ticker)
Get a company's at-the-market (ATM) equity offering programs — original agreement date and stated precision, latest amendment, money and/or share capacity, cumulative sales, remaining availability with per-figure as-of dates, expiry, derived exhausted/expired status, and source filings. Bare table figures are normalized only from an exact grounded filing scale header. ATM programs have no tagged XBRL equivalent, so figures come from verified extractions of the company's own 10-K, 10-Q and 8-K filings; only filings from roughly the last 13 months are scanned, so an empty result means no program was captured there — not proof the company runs no ATM program. Nothing is estimated. Required: ticker.
GetAverageTrueRange(period, ticker, endDate, startDate, maxResults)
Average True Range (ATR) for a stock. Wilder's volatility measure built from the True Range (max of high-low, |high-prev_close|, |low-prev_close|) and smoothed recursively. Higher ATR means wider daily moves; commonly used for position sizing and stop placement. ATR is denominated in the stock's price units (USD). The smoothing is warmed up on price history fetched before startDate, so values do not depend on the requested range's left edge. Required: ticker.
GetBollingerBands(period, stdDev, ticker, endDate, startDate, maxResults)
Bollinger Bands for a stock. A middle band (simple moving average of close) with upper and lower bands set a number of standard deviations above and below it. Bands widen when volatility rises and contract when it falls; price touching the upper/lower band is a common overbought/oversold cue. Includes %B ((close-lower)/(upper-lower)) and bandwidth ((upper-lower)/middle) columns. The moving-average window is warmed up on price history fetched before startDate, so values do not depend on the requested range's left edge. Required: ticker.
GetBuybackPrograms(ticker)
Get a company's share-repurchase (buyback) picture: tracked repurchase programs (announcement date, authorized total, remaining availability, expiry, source filings), the latest program-authorization figures, and the repurchase history — cash spent, shares repurchased, and average price per fiscal year and recent quarters. Figures come from the company's own XBRL facts plus verified extractions of filings' narrative text; nothing is estimated, and figures a company stopped restating carry an explicit staleness label. For the dilution mirror-image — at-the-market (ATM) equity offering programs — use GetAtmPrograms. Required: ticker.
GetCallInsights(limit, ticker, fiscalYear, fiscalQuarter)
Get the AI-scored insights for a company's recent earnings calls — the management-tone read (a net tone score and a hedging score) and the call's key themes with their computed mention counts and per-theme tone. Newest call first. Verifier-approved — only scored and approved calls appear, so quarters can be missing from the sequence (a gap note flags non-consecutive quarters). Use it to gauge how confident or guarded management sounded and what they talked about most. Required: ticker.
GetCftcPositioning(endDate, startDate, marketCode, maxResults)
Get Commitments of Traders (COT) positioning data for a specific futures contract. Shows commercial and non-commercial positions over time. Values are contract counts from the legacy futures-only COT report (positions as of each Tuesday, published Friday). Use SearchCftcMarkets to find available market codes. Required: marketCode.
GetCompanyKpis(metric, ticker)
Get a company's own key performance indicators (KPIs) as extracted from its written Item-2.02 8-K earnings releases and 10-K/10-Q MD&A sections: the operational metrics and non-GAAP figures XBRL does not carry (subscribers, memberships, stores, units delivered, backlog, ARR, DAU/MAU, adjusted EBITDA, free cash flow, same-store sales %). Each metric is a time series across filings with the latest stated value, its period, the filed date and written source, the year-over-year change only when an exactly comparable prior-year period is on file, and the verbatim disclosure. Comparable means the same quarter or full year, the same YTD cadence (H1/6M/26W versus 9M/39W), or the same instant month/day. Pass metric to get one metric's full period-by-period history instead of the latest-value overview. Values are exactly as the company stated them, on the stated scale. Earnings-call transcripts are deliberately not a KPI figure source. When the release states a GAAP-to-non-GAAP reconciliation for a metric, a Reconciliation line shows the bridge: the GAAP starting line, each stated adjustment, and the non-GAAP result. Required: ticker.
GetCongressionalTrades(ticker, endDate, startDate, maxResults, transactionType)
Get congressional securities transactions for a specific ticker (newest first, last year by default). Shows which members of Congress reported a purchase or sale, with transaction and filing dates; amounts are disclosed ranges, not exact values, and Asset identifies the filed instrument (such as stock, option, or bond). Use GetMemberTrades for one member's transactions across all tickers. Required: ticker.
GetConsensusHoldings(minFunds, maxResults, reportDate, institutionNames)
Get the consensus / combined portfolio of 2-25 institutions for their latest common report date. Returns stocks ranked by how many of the supplied funds hold them (descending), then by combined value. Filter by `minFunds` to only show stocks held by at least that many funds. Use this to answer 'what do these funds agree on?' or 'show me the top picks across these N investors combined.' Required: institutionNames.
GetCorrelatedStocks(days, scope, ticker, direction, maxResults)
Get the stocks whose daily price returns are most (or least) correlated with one stock — Pearson correlation of daily log returns on comparable raw closes (dividends excluded), computed over the trading days both stocks priced, never on raw price levels. Scope picks the candidate universe: Industry (default) ranks the subject's direct industry peers; Sector widens to sibling industries; Market ranges across the ~1,500 largest listed names and surfaces cross-industry relationships the classification misses (suppliers, commodity proxies). direction=Negative flips the ranking to the strongest inverse movers (hedge candidates). Candidates need a $100M market cap and enough overlapping trading days with the subject; each row reports the observation count behind its coefficient. Use GetStockPrices for the underlying series and the screener for fundamentals-based peer sets. Required: ticker.
GetCustomerConcentration(ticker, maxFilings)
Get a company's customer-concentration risk disclosure — statements like "one customer accounted for 31% of revenue": each disclosed figure's basis (revenue or receivables), customer count, percentage, period, and verbatim filing quote, with the source filing. Figures come from verified extractions of the filings' own narrative text and cover only filers who leave the disclosure untagged — issuers that tag it in structured XBRL (e.g. NVDA, AAPL) are skipped by design and answered with a pointer to GetFinancialFact's 'customer-concentration' concept. A miss is never a statement of no risk. Pass maxFilings > 1 to also see earlier filings' disclosures (the concentration trend). Required: ticker.
GetEarningsBrief(limit, ticker, fiscalYear, fiscalQuarter)
Get the AI 'Earnings Brief' for a company's recent earnings calls — a verifier-approved TL;DR, bullish and bearish points, and verbatim pull-quotes, plus a deterministic narrative shift against the immediately older available approved brief. When available, it also shows company guidance issued at the call, how that range changed from management's prior update, and the reported quarter versus the operative company guidance that preceded it. This is company guidance, not analyst consensus; actual comparisons use filed GAAP XBRL facts, never estimates. The shift is derived from approved bullets and is not separately verifier-approved. Newest quarter first. Only calls with an approved brief appear, so quarters can be missing from the sequence. Required: ticker.
GetEarningsCallEvent(ticker, fiscalYear, fiscalQuarter)
Get the earnings-call event for a company's fiscal quarter — the single record that groups the quarter's call artefacts (audio, transcript, slide deck, and 8-K earnings release) under one event. Returns the event's id (usable with GetInvestorEventSpeakers), title, call date, status, which of the four artefacts are available, the transcript and earnings-release document ids when linked, and the release's extracted guidance rows when the 8-K carries approved ones. When a transcript is available, read it with GetEarningsCallSpeakers, or get the AI read via GetEarningsBrief / GetCallInsights. Use this to ask "what do we have for AAPL FY2025 Q3?" rather than chasing each artefact separately. Required: ticker, fiscalYear, fiscalQuarter.
GetEarningsCallSpeakers(limit, offset, ticker, fiscalYear, fiscalQuarter)
Get the speaker-labelled transcript of a company's earnings call for a fiscal quarter — every speaker turn in order, attributed to the real person (executive or sell-side analyst) with their role at the time. Identities appear only when the resolution is trusted (auto-resolved or human-reviewed); unverified voices show as a role label (e.g. Operator) or a neutral speaker number. Use GetEarningsCallEvent first to check a transcript exists. Required: ticker, fiscalYear, fiscalQuarter.
GetEconomicCalendar(endDate, startDate, maxResults, minImportance)
Get the economic release calendar — scheduled (upcoming) and recent publication dates of US macro data releases, with the FRED series each release updates and an importance tier per release (High = the tier-1 scheduled market movers: CPI, PPI, Employment Situation, GDP, PCE, retail sales; Medium = other genuine scheduled prints; Low = daily rate/market levels like SOFR or VIX). FOMC meetings are NOT included — FRED's release feed has no real FOMC meeting dates; use the Federal Reserve's published meeting calendar for those. Defaults to the next 30 days. Use minImportance=high to see only the market movers, and GetEconomicIndicator to fetch a series' data after it prints.
GetEconomicIndicator(endDate, seriesId, startDate, maxResults)
Get time series data for a FRED economic indicator. Returns historical observations for indicators like FEDFUNDS (fed funds rate), CPIAUCSL (CPI inflation), UNRATE (unemployment), GDP, T10Y2Y (yield spread), VIXCLS (VIX), SP500, MORTGAGE30US, M2SL (money supply), and more. Covers the curated ~40-series set Equibles tracks, not the full FRED catalog — use SearchEconomicIndicators to find available series. Required: seriesId.
GetExecutiveChanges(action, ticker, endDate, startDate, maxResults)
Get a company's executive and director changes — CEO/CFO/officer/board appointments, resignations, terminations, and retirements — as disclosed in its 8-K Item 5.02 filings, newest filing first. Each change carries the person's name, the role text exactly as filed, a separate normalized role classification, the action, the effective date when stated, the verbatim disclosure, and the source filing (form + link). Changes are extracted from the filings' narrative text and verified before publication. Coverage is still back-filling: the output names the oldest covered filing date, and an empty answer distinguishes 'covered filings disclose no changes' from 'filings not yet processed'. Required: ticker.
GetExecutiveCompensation(ticker, maxYears)
Get a company's named-executive compensation as disclosed in its DEF 14A proxy statements' Summary Compensation Table — salary, bonus, stock and option awards, non-equity incentive, other compensation, and the company-reported total per executive per fiscal year, newest year first. Figures are exactly as the company disclosed them; Total is the filer's own figure, never a recomputation. Coverage is limited to US DEF 14A filers (foreign private issuers file 20-F and are not covered) and is still back-filling: the output states the newest proxy on file next to the newest imported year, so stale coverage is visible. Required: ticker.
GetExemptOfferings(ticker, toDate, fromDate, maxResults)
Get recent exempt securities offerings (private placements) for a company from SEC Form D notices. Each Form D reports a Regulation D offering, showing the issuer, the date of first sale, the total offering amount (a dollar figure or "Indefinite"), the amounts sold and remaining, the minimum investment, the number of investors, the claimed exemptions, whether the notice is an amendment (D/A), and its SEC accession number. Ongoing offerings are re-noticed through D/A amendments that RESTATE the same offering — group rows by first-sale date and offering amount and use only the latest notice of each chain, or capital raised will be counted several times over. Use this to track how a company is raising private capital alongside its public filings. Required: ticker.
GetFailsToDeliver(ticker, endDate, startDate, maxResults)
Get fails-to-deliver (FTD) data for a stock from the SEC's twice-monthly FTD files. Quantity is the aggregate net fail-to-deliver position OUTSTANDING on each settlement date — a balance, not that day's new fails, so never sum Quantity across dates. Price is the previous trading day's closing price (SEC file convention, not a settlement price) and Value = Quantity × Price. Within the covered window (the output names the earliest fully covered settlement date), dates absent from the table had no reported fails; earlier dates are only partially covered, so their absence is not evidence of no fails. The SEC publishes each half-month batch with roughly a two-week lag, so the newest rows trail today. High or persistent FTD balances may indicate naked short selling or settlement issues. Required: ticker.
GetFdaCatalysts(endDate, startDate, maxResults)
Get scheduled FDA advisory-committee (AdComm) meetings, sourced from the FDA.gov advisory-committee calendar, each with a link to its FDA meeting page. Defaults to meetings in the next 90 days; pass a date range to look further ahead. This is a forward-looking calendar of announced meetings, not a historical archive — coverage starts in late 2025 — and entries are the FDA's own listings, not linked to stock tickers.
GetFinancialFact(form, ticker, toDate, concept, fromDate, maxResults, fiscalPeriod, asOriginallyReported)
Get a single financial concept (e.g. revenue, net income, diluted EPS, total assets, operating cash flow) over time for a company, sourced from SEC Company Facts (structured XBRL). Returns a time series, one row per fiscal period, using the latest restated value unless asOriginallyReported is set. Each row carries its actual period start/end; fiscal years/quarters follow the company's own fiscal calendar. Warns when the selected alias ends materially before the company's other structured facts, which can indicate an XBRL tag change. For a full statement use GetFinancialStatement; to compare peers use CompareFinancialFact. Required: ticker, concept.
GetFinancialStatement(year, period, ticker, statement)
Get a company's income statement, balance sheet, or cash-flow statement for a given fiscal year and period, sourced from SEC Company Facts (structured XBRL). Returns the standard line items (e.g. revenue, net income, total assets, operating cash flow) with the latest-restated value for one exact statement period end. Each row carries its actual period start/end so discrete-quarter and fiscal-year-to-date flow facts remain distinguishable. Company-specific dimensional facts (e.g. product-segment revenue) are not included — use GetRevenueBreakdown for segment/geographic revenue, and GetFinancialFact or CompareFinancialFact for one line item across periods or across companies. Required: ticker.
GetFundCloneBacktest(toDate, fromDate, benchmark, institution, windowYears)
Backtest how cloning an institutional filer's reported 13F portfolio would have performed against a market benchmark, either over a trailing window (windowYears) or an explicit fromDate/toDate range. Reconstructs the filer's portfolio at each quarterly 13F snapshot, rebalances on the SEC filing lag (so the simulation uses only information available at the time), and values each exact listed security on raw closing prices. Returns price return (dividends excluded), annualized price return (CAGR), and max drawdown for both the cloned portfolio and the benchmark, plus the price-return alpha between them. Closes on opposite sides of a captured split are restated onto one basis with the captured ratio, so a split never shortens the window. Use this to answer 'how would cloning fund X have performed against the market'. Required: institution.
GetFundHoldings(ticker, maxResults)
Get the largest stored portfolio holdings of a registered investment company (mutual fund or ETF) from its most recent SEC Form NPORT-P monthly report. Accepts a fund ticker, profile id, SEC series id, or verified share-class alias from SearchFunds. Returns the fund's series, reporting period, net assets, full reported holding count when available, stored holding count, and largest stored holdings. For multi-series trusts only positions whose CUSIPs match tracked stocks are stored, so the stored rows can be a small subset of the reported portfolio; net assets and the reported count still describe the full filing. Use SearchFunds to discover funds, GetFundProfile for the same view with registrant and total assets, and GetFundsHoldingStock for the inverse question. Form NPORT-P covers registered management investment companies and ETFs organized as unit investment trusts; money market funds and small business investment companies do not file it. Required: ticker.
GetFundOperations(ticker, maxResults)
Get operational data for a registered investment company from its SEC Form N-CEN annual reports. Accepts an exchange-listed ticker or an exact fund identifier from SearchFunds, including a profile id, SEC series id, stored series ticker, or verified share-class alias. Each N-CEN shows the registrant's classification, Investment Company Act file number, reporting period, first/last-filing flags, latest service providers, and an exact filed-name provider history. N-CEN is filed at registrant level; this dataset currently ingests it through tracked issuer feeds, so a series inside an untracked multi-series trust can resolve correctly but still have no N-CEN report on record. Only registered funds file N-CEN; operating companies return no data. Required: ticker.
GetFundOverlap(maxResults, reportDate, institutionName1, institutionName2)
Get the 13F portfolio overlap between two institutions for their latest common report date — Jaccard similarity, dollar-weighted overlap ($-weighted = shared dollars, taking the smaller of the two funds' values per stock, as a share of union dollars), per-fund position counts and totals, and a side-by-side table of stocks with per-fund shares + percent of portfolio. Covers 13F institutional managers only — find names with SearchInstitutions; for mutual-fund/ETF (NPORT) portfolios use GetFundHoldings. Use this to answer 'do these two funds own the same stocks?' or 'where do their portfolios diverge?' Required: institutionName1, institutionName2.
GetFundProfile(fund, maxResults)
Get a registered fund's profile and largest stored holdings from its most recent SEC Form NPORT-P report. Accepts a profile id, stored series ticker, SEC series id, or verified share-class alias from SearchFunds. Returns the fund's registrant and series, reporting period, net and total assets, full reported holding count when available, stored holding count, then its largest stored holdings — issuer name, CUSIP, position size, U.S.-dollar value, share of net assets and asset category. Prefer this after SearchFunds; GetFundHoldings is the equivalent view, and GetFundsHoldingStock answers the inverse question. For large multi-series trusts only positions in tracked stocks are stored; the reported count and asset totals still describe the fund's full filing. Required: fund.
GetFundsHoldingStock(ticker, maxResults, registrantOrSeries)
Get the registered investment companies (mutual funds and ETFs) holding a given stock, from SEC Form NPORT-P portfolio reports. The stock's CUSIP is matched against the holding rows on each fund series' most recent report (series that stopped filing more than 18 months ago are excluded), so an exited position never shows as current. Returns the fund's registrant and series, the reporting period, the position size, its U.S.-dollar value, its share of the fund's net assets and the payoff profile (Long/Short), largest positions first. Report dates differ per fund series (each files on its own fiscal quarter), so values are as of each row's report date and cross-row totals mix as-of dates. Use this to see which funds and ETFs own a stock and how concentrated each position is. Required: ticker.
GetGoingConcernStatus(ticker)
Get a company's going-concern doubt status: whether its latest examined SEC filing states substantial doubt about the company's ability to continue as a going concern, with the verbatim disclosure, the filing it came from, and the history of examined filings showing when doubt appeared, was alleviated, or cleared. Flags are extracted from each company's newest 10-K/10-Q narrative text and verified before publication; a filing without going-concern language counts as no doubt. Coverage starts when the extraction lane first examined the company — earlier filings are not analyzed, so absence from the history does not rule out prior doubt episodes. Required: ticker.
GetGovernmentContracts(agency, sortBy, ticker, endDate, startDate, maxResults)
Get federal government contract awards (from USAspending.gov) won by a specific public company. Shows the award (action) date, recipient named by the government, awarding agency, total value (obligated dollars plus unexercised ceiling — not revenue received), outlays when reported, period-of-performance end date, and description. Coverage: only prime contract awards of $1M or more that resolve to a listed company are included, so sums understate total federal revenue. Useful for gauging a company's reliance on federal spending; use GetTopGovernmentContractors to rank companies market-wide. Required: ticker.
GetGuidance(ticker)
Get a company's earnings guidance (forward-looking outlook) as extracted from its Item-2.02 8-K earnings releases and earnings-call transcripts (some issuers, e.g. Microsoft, guide only verbally on the call): each guided metric with its range, unit, GAAP/non-GAAP basis, period, and as-announced provenance (source form with filing link, date) — newest release first. Guidance for a fiscal period that has already closed is marked "(ended)" so a finished year is never read as the live outlook. Revenue and diluted-EPS guidance also carries the reported actual and an above/within/below verdict once the guided period's XBRL facts have landed (a Q4 actual may be derived as full year minus nine-month YTD when no discrete Q4 is reported); non-GAAP guidance is never compared against GAAP actuals, and there is no actual until the facts exist. Coverage is still backfilling — an empty result or a gap between releases means the source documents have not been processed yet, not that the company gave no guidance. Required: ticker.
GetInsiderOwnership(offset, ticker, maxResults)
Get a summary of insider ownership for a stock, ranked by shares held. Shares Owned is each insider's actual-share (non-derivative) position — options and other derivative holdings are excluded. Each row is as-of the last line of that insider's most recent SEC Form 3/4/5 filing (former insiders may linger with stale dates or zero shares), and share counts are restated onto today's split basis, so they can differ from the raw figures in older filings. Returns at most maxResults insiders (default 30). Use this to understand the insider ownership structure of a company; use GetInsiderTransactions for the underlying trades. Required: ticker.
GetInsiderSentimentScores(bottom, ticker, maxResults, minMarketCap, minSharePrice, clusterBuysOnly, minDollarVolume)
Get the stocks with the highest composite insider sentiment score — a peer-relative 0-100 rank over a trailing 90-day window of how aggressively insiders are accumulating, built from three direction-aware factors (each a percentile across the scored universe): net distinct insiders buying (buyers minus sellers), net shares bought as a percent of shares outstanding, and net insider buy value in dollars. Computed from open-market Form 3/4/5 purchases and sales only, under the price-validity, plausible-share-count, and non-derivative gates. Set clusterBuysOnly to surface only cluster buys (three or more distinct insiders buying in the window). Pass minMarketCap / minSharePrice / minDollarVolume to keep only names clearing your liquidity bar (scores stay peer-relative to the full universe, and the # column always shows the universe rank — filters never renumber). Set bottom to walk the ranking from the other end (heaviest net insider distribution first). Pass ticker for one stock's score, factor breakdown, and universe rank. Trades a filing flags as Rule 10b5-1 pre-planned are excluded so the score reflects organic buying; trades on filings predating the 2023 checkbox have an unknown flag and remain included. Use GetInsiderTransactions for one stock's underlying filings.
GetInsiderTransactions(ticker, toDate, fromDate, maxResults, insiderName, transactionType)
Get recent insider trading transactions for a stock from SEC Form 3/4/5 filings, newest first. The Type column carries the SEC transaction code meaning: 'Buy'/'Sell' are open-market purchases/sales only, while Award, Conversion, Exercise, Tax Payment, Expiration, Gift, Inheritance, Discretionary and Other are compensation or derivative mechanics — not conviction trades. The 10b5-1 column marks trades made under a pre-arranged Rule 10b5-1 plan ('-' = filing predates the 2023 checkbox). Per-row Shares/Price/Value are as filed; Owned After is the post-transaction balance restated onto today's split basis, tracked per security kind and ownership form. Supports optional date-range, transaction-type and insider-name filters to reach history beyond the newest rows. Use this to understand insider buying/selling activity. Required: ticker.
GetInstitutionPortfolio(offset, maxResults, reportDate, institutionName)
View the stock portfolio of a specific institutional investor (fund manager) from their SEC 13F-HR filing. Shows the institution's largest tracked holdings by market value (default 20, max 500) with share counts, market values, and percent of the 13F-reported portfolio, plus the portfolio's total value and position count. Use this to understand what stocks a particular fund manager or institution is investing in; use SearchInstitutions first when the name is ambiguous. Required: institutionName.
GetInstitutionQuarterlyActivity(bucket, maxResults, reportDate, institutionName)
Get an institution's quarterly position-change activity — Initiated / Increased / Reduced / Exited stocks diffed against the immediately prior quarter. Returns the buckets as one markdown section per bucket, sorted by absolute Δ market-value desc (Δ Value includes price movement, not just trading). Use `bucket` to filter to a single bucket. Use this to answer 'what did this fund do this quarter?' Required: institutionName.
GetInstitutionSectorAllocation(groupBy, reportDate, institutionName)
Get an institution's 13F portfolio allocation for a given report quarter (defaults to the latest), grouped by fine-grained industry (default) or rolled up by sector via `groupBy`. Returns a markdown table sorted by % of portfolio descending, with stocks lacking a classification collapsed into a single 'Unclassified' row at the end. Use SearchInstitutions for an exact CIK; ambiguous partial names return candidates instead of selecting silently. Required: institutionName.
GetInstitutionSummary(reportDate, institutionName)
Get the portfolio summary header for an institutional 13F filer — 13F reported value (long U.S. positions only, not total firm AUM), position count, top-10 / top-25 concentration, QoQ turnover, and the latest / prior report dates with the count of quarters tracked in this database. Resolve exact CIKs with SearchInstitutions; ambiguous partial names return candidates rather than selecting a filer silently. Required: institutionName.
GetInvestmentAdviser(crd)
Get the full Form ADV profile for a single SEC-registered investment adviser by its Organization CRD number: legal and business names, SEC file number, main office, website, regulatory assets under management (discretionary, non-discretionary and total), employee count, and how the firm is compensated (fee structure). Find CRD numbers with SearchInvestmentAdvisers. Required: crd.
GetInvestorEventSlides(eventId)
Get metadata and access links for a captured investor-event slide deck by event id. Returns the same deck metadata as REST: event and ticker, call date, deck title and source, PDF versus image-slideshow kind, page count, capture time, MIME type, and either the PDF API path or ordered slide-image API paths. The binary PDF/image contents are not embedded in the response. Get the event id from ListInvestorEvents or GetEarningsCallEvent. Required: eventId.
GetInvestorEventSpeakers(limit, offset, eventId)
Get the speaker-labelled transcript of a specific investor event (earnings call, conference, investor day) by its event id — every speaker turn in order, attributed to the real person (executive or analyst) with their role when the resolution is trusted; unverified voices show as a role label (e.g. Operator) or a neutral speaker number. Get the event id from ListInvestorEvents. Use this for conferences and other non-earnings events, which have no fiscal quarter to key on. Required: eventId.
GetInvestorRelationsEvents(ticker, eventType, maxResults)
Get upcoming investor-relations events for a stock — earnings webcasts, conference appearances, presentations, and shareholder meetings — scraped from the company's IR website. Returns events scheduled from now onward, soonest first, optionally filtered by event type. Coverage is partial — an empty answer distinguishes a coverage gap from a genuinely empty calendar. Only future events are returned; for past events and their transcripts use ListInvestorEvents / GetInvestorEventSpeakers. Required: ticker.
GetInvestorRelationsNews(since, ticker, maxResults)
Get recent investor-relations press releases for a stock, scraped from the company's IR website. Returns the most recent news items (headline, publish date, summary when the source provides one, and link) in reverse-chronological order. Use this to see a company's latest official announcements straight from its IR page, distinct from third-party news. Coverage is partial — only companies whose IR page has been discovered and content-scraped have items, so an empty answer may be a coverage gap rather than corporate silence; the response says which case applies. Required: ticker.
GetIpoDetails(cik)
Get one S-1/F-1 registration's full picture by the filer's SEC CIK (as listed by GetIpoFeed): lifecycle status, verified offering classification, effective-prospectus accession and EDGAR link, proposed ticker and exchange, the offer price range and shares offered with their verbatim prospectus quotes, what the company does, how it will use the proceeds, the underwriting banks in cover order, the key summary risk factors (each with its verbatim prospectus sentence), the annual pre-IPO financials from the filer's own XBRL-tagged statements, and the complete S-1/amendment/prospectus filing chain with EDGAR links. Underwriter and risk-factor availability distinguishes pending/rejected extraction from a completed read that stated none. Everything extracted is verified against the filing text and never estimated. Required: cik.
GetIpoFeed(limit, status, filerType)
Get the US S-1/F-1 registration pipeline, newest filing activity first. Each row labels the verified transaction as Primary, Resale, DirectListing, NonOffering, or Unknown, so selling-stockholder and insurance/debt/fund registrations cannot read as issuer IPO raises. Terms come only from the newest 424B4 (otherwise newest amendment/registration statement), with an explicit pending/unavailable state instead of falling back to a superseded filing. Results also include lifecycle status, proposed ticker and exchange, offer price and shares when applicable, and the latest full fiscal year's revenue, gross margin and net income from the filer's own XBRL-tagged statements (in the filer's reporting currency). Rows without annual data say whether the import is pending or completed with no qualifying facts. SPAC shells dominate the raw S-1 flow, so filerType splits them out by SEC's own SIC 6770 blank-check classification. Pre-IPO companies are not in the listed-stock universe, so this feed is the only surface that covers them; use GetIpoDetails with a row's CIK for the full picture including business summary, use of proceeds, underwriters, risk factors and the filing chain.
GetLargestShortVolume(date, offset, sortBy, maxResults, minShortVolume, minTotalVolume)
Get the stocks with the largest daily short sale volume for a single trading day (defaults to the latest available), from FINRA's daily short sale volume files, sorted by short volume descending. Short % is the share of that day's FINRA-facility (off-exchange/TRF) volume sold short — 40-50% is a normal market-making baseline — NOT short interest (the open short position; use GetShortInterest/GetShortInterestSnapshot for positions and GetShortSqueezeScores for squeeze candidates; use GetShortVolume for one stock's daily history). Pass sortBy=shortPercent with a minTotalVolume floor to rank by short intensity instead of raw size.
GetLatestCftcData(category)
Get the latest COT positioning snapshot across all tracked futures contracts, grouped by category (Agriculture, Energy, Metals, Equity Indices, Interest Rates, Currencies). Shows commercial and non-commercial net positions in contract counts from the legacy futures-only COT report (positions as of each Tuesday, published Friday). Each row carries the market code accepted by GetCftcPositioning.
GetLatestEconomicData(category)
Get the latest values for key economic indicators across categories: interest rates, yield spreads, inflation, employment, GDP, money supply, sentiment, housing, exchange rates, and market indicators. Each row shows a series' latest stored observation with its date, plus the previous observation and the change between them for direction — check the Latest Date column for freshness. Returns a snapshot of current macro conditions.
GetLatestPrices(tickers)
Get the most recent closing price (USD), daily change, volume, and trailing 52-week range for one or more stocks. Useful for quick price checks across a portfolio or watchlist. The change columns are a ONE-SESSION move: they are shown only when the stored series holds the trading day immediately before the date on the row, and are "—" otherwise, so a change is never a multi-session move in disguise. Each row is that ticker's newest TRADED, SETTLED daily bar; zero-volume carry-forward candles are excluded. The Date column names its session: for a few hours after a US close some tickers still show the prior session while the fresh bar settles, so dates within one response can differ — anchor on the Date column, never the wall clock. 52W High/Low are the highest and lowest daily closes in the 365 days ending on the row's date. If that window crosses a recorded split, it starts at the latest split because raw rows carry no split-basis metadata; the partial values are marked *. They are CLOSING extremes, never intraday highs and lows, and they are not dividend-adjusted, so a source quoting an intraday range reads higher and one quoting a dividend-adjusted range reads lower without either being wrong. Off High / Above Low are the close's percent distance from those bounds. Required: tickers.
GetLiveQuote(tickers)
Get the latest available intraday price for one or more active U.S. listings — a market reading, not a daily bar. Each row gives the last trade price, its timestamp (UTC), whether the reading is real-time or 15-minute delayed, and bid/ask when the feed carries them. Use this for 'what is it trading at now'; use GetLatestPrices or GetStockPrices for the most recent traded CLOSE and daily history. The Stale column is true when the last trade predates the market session expected now; never report a stale row as current. A ticker with no reading is listed separately rather than guessed at. Required: tickers.
GetMarketCalendar(year)
List the US equity market holidays and early-close (1:00 p.m. ET) half days for a calendar year (NYSE/Nasdaq). Defaults to the current year. The calendar is curated for 2025 through 2027; a year outside that range reports so rather than guessing.
GetMarketStatus
Get the current US equity market status (NYSE/Nasdaq), evaluated in America/New_York: whether the market is open, the current session (pre-market, regular, after-hours, or closed), whether today is a full-day holiday or a 1:00 p.m. ET early close, today's regular and extended (pre-market/after-hours) trading hours, and the next open and next close. Backed by the exchange's curated holiday and early-close calendar, not a heuristic.
GetMarketWide13FActivity(bucket, maxResults, reportDate)
Get the market-wide 13F leaderboards for a given quarter — which stocks were most bought, most sold, most initiated, or most exited across all 13F filers vs the prior quarter. The `bucket` argument selects one of: top-buys (Δ shares > 0 ranked by Δ value desc), top-sells (Δ shares < 0 ranked by Δ value asc), new-positions (stocks ranked by count of filers initiating a position), sold-out-positions (stocks ranked by count of filers exiting). Δ Value is the change in stored quarter-end position value and includes the quarter's price move on held shares, so use Δ Shares to read the position change itself. The output publishes the first complete 13F report quarter and refuses comparisons that cross that corpus boundary. Use this to answer 'what's the consensus 13F move this quarter?' Required: bucket.
GetMarketWideCongressionalActivity(days, chamber, direction, maxResults)
Get the stocks members of Congress traded most over a trailing window, aggregated across EVERY member and ticker — 'what did Congress buy this week' without needing a ticker or a member name. The window is anchored on the DISCLOSURE (filing) date because the STOCK Act's general outside filing deadline is 45 days after a trade; late or amended records can arrive later. Each row aggregates one stock's disclosed trades: distinct members buying and selling, trade counts, estimated dollar flow per direction (each disclosed amount range's midpoint — members disclose a band, not an exact figure), the largest participants, and the latest filing and transaction dates. direction=buys ranks by estimated net buying, direction=sells by estimated net selling; chamber=senate/house narrows to one chamber. Use GetCongressionalTrades for one stock's underlying disclosures and GetMemberTrades for one member's.
GetMemberNetWorth(maxResults, memberName)
Get a congress member's net worth history from their annual financial disclosures. Disclosed values are ranges, so every year is a band (minimum-maximum), never a point estimate. Only electronically filed reports are read: a missing year means no electronic filing, not zero net worth. Use SearchCongressMembers to find member names. Required: memberName.
GetMemberTrades(offset, endDate, startDate, maxResults, memberName, transactionType)
Get a congress member's disclosed securities transactions (newest first, last year by default). Shows tickers, transaction and filing dates, disclosed amount ranges, and the filed Asset identifying the instrument (such as stock, option, or bond). Use SearchCongressMembers to find member names, and GetCongressionalTrades for all members' transactions in one ticker. Required: memberName.
GetMostHeldStocks(sort, maxResults, reportDate)
Get the cross-sectional ranking of stocks by institutional 13F breadth for a given quarter. Returns the stocks ranked by number of 13F filers reporting them as a holding (default), by quarter-over-quarter change in filer count (warming names — 'filersDelta' — or cooling names — 'filersDeltaAsc'), or by total reported dollar value. Includes Δ filers vs the prior quarter, total value, Δ value, and the stock's share of the 13F universe. The output publishes the first complete 13F report quarter; earlier rankings are unavailable, and boundary-quarter deltas are withheld. Only currently-held stocks rank; fully-sold-out names live in GetMarketWide13FActivity's sold-out-positions bucket. While the newest quarter's filing window is open, funds that have not filed yet are carried at their prior-quarter positions (noted in the output). Use this to answer 'which stocks are most owned by institutions right now, and is breadth expanding or contracting?'
GetNonGaapBridge(limit, ticker)
Get a company's non-GAAP-to-GAAP reconciliations ('bridges') as extracted from its earnings releases and 10-K/10-Q periodic reports: for each stated non-GAAP measure (Adjusted EBITDA, adjusted EPS, adjusted operating income, FFO/AFFO, ...), the GAAP starting line, each stated adjustment in order, and the non-GAAP result, with the period, unit and the verbatim source quote. Verifier-approved, newest filing first. Use this to see exactly how a company builds its adjusted numbers; GetCompanyKpis carries the same bridge inline with a metric, this returns the reconciliations on their own. Required: ticker.
GetOffExchangeVolume(ticker, endDate, startDate, maxResults)
Get weekly off-exchange (dark pool / OTC) trading volume for a stock from the FINRA OTC/ATS Transparency data. Each week shows ATS (alternative trading system / dark pool) volume and trade count, non-ATS OTC volume and trade count, and the total off-exchange volume (ATS + non-ATS OTC). The FINRA file does not include consolidated tape volume, so the off-exchange share of total market volume is not reported here; compute that share elsewhere against a consolidated-volume source. FINRA publishes each week on a delay (2 weeks for Tier 1 NMS stocks, longer for other tiers), so the latest week lags today. Required: ticker.
GetOnBalanceVolume(ticker, endDate, startDate, maxResults)
On-Balance Volume (OBV) for a stock. Running cumulative volume that adds the bar's volume on up-closes, subtracts on down-closes, and stays flat on equal closes. Useful for confirming or diverging from price trends with volume flow. OBV is anchored at 0 on the first bar of the requested range, so absolute values shift with startDate and are not comparable across calls - read the slope and divergences, not the level. Required: ticker.
GetOptionChain(type, ticker, maxStrike, minStrike, expiration, maxResults)
Get the option chain (calls and puts) for a stock for ONE expiration: strike, greeks (delta/gamma/theta/vega), implied volatility, open interest, and the latest daily price. Defaults to the nearest upcoming expiration; pass expiration=YYYY-MM-DD to pick another (use GetOptionExpirations to list them). When the chain is larger than maxResults the contracts nearest the money are returned, so an unfiltered call already lands where strategies trade. Narrow with minStrike/maxStrike and type (call/put) to reach the wings. Each row attributes price, volume, implied volatility and greeks to its provider-stamped session, or marks the session unknown; these are not live quotes. Bid/ask are 15-minute delayed and are omitted on the current plan. Required: ticker.
GetOptionContract(ticker, contract)
Get the full snapshot for ONE option contract by its OCC symbol (e.g. O:AAPL260724C00110000): greeks, implied volatility, open interest, the latest daily price, and bid/ask when the plan entitles quotes. Snapshot figures name the provider's trading-session timestamp when supplied and otherwise mark it unknown; bid/ask are 15-minute delayed. Required: ticker, contract.
GetOptionExpirations(ticker)
List the available option expiration dates for a stock, with the contract count at each. Use this to pick an expiration for GetOptionChain. Required: ticker.
GetOwnershipHistory(ticker, maxPeriods)
Get the historical trend of institutional ownership for a stock across multiple quarters. Shows how total institutional shares, market value, and number of institutional holders have changed over time based on SEC 13F-HR filings. While the newest quarter's 13F filing window is open, that quarter is a provisional combined view (funds that have not filed yet carry their prior-quarter positions — flagged in the output). Use this to understand whether institutional interest in a company is growing or declining. Required: ticker.
GetProposedSales(ticker, toDate, fromDate, maxResults)
Get recent proposed insider sales for a stock from SEC Form 144 notices. Each Form 144 is an affiliate's declaration of intent to sell restricted or control securities, showing the seller, their relationship to the company, the number of shares and aggregate market value to be sold, the proposed sale as a share of the issuer's current shares outstanding, the approximate sale date, the broker, and the filer's remarks (including any stated 10b5-1 plan). Results are the most recent notices first and a note flags when more exist than were returned; use fromDate/toDate to scope a period (heavy 10b5-1 filers can flood the recency window with small daily notices). Use this to anticipate upcoming insider selling before it shows up as an executed Form 4. Required: ticker.
GetPutCallRatios(type, endDate, startDate, maxResults)
Get CBOE put/call ratio data showing market sentiment. Available types: Total (all exchange), Equity, Index, Vix, Etp. High ratios (>1.0) indicate bearish sentiment; low ratios (<0.7) indicate bullish sentiment. Volumes are contract counts. Data available from November 2006 to present (the Vix type from October 2019); pre-2013 history is sampled roughly weekly rather than daily.
GetRevenueBreakdown(ticker, maxYears)
Get a company's revenue disaggregated by business segment, geography and product/service — plus operating income by segment when the issuer tags it, so segment profitability and margins are answerable — from the dimensional XBRL facts the issuer tags in its own filings. Annual fiscal years only, latest restated values, one table per axis the company reports; source values are as-reported and never estimated, while segment operating margin is derived as operating income divided by revenue for the same folded raw member QName and exact period. Rows within one table can OVERLAP when the issuer tags several granularities on the same axis (a parent segment alongside its components), so never sum rows to derive total revenue — use the consolidated total row each table carries. For consolidated figures use GetFinancialStatement or GetFinancialFact. Required: ticker.
GetShortInterest(ticker, endDate, startDate, maxResults)
Get bi-monthly short interest history for a stock from FINRA. Shows the reported short position, change from the previous settlement, average daily volume, and days to cover per settlement date. Share counts are restated onto today's split basis so the series stays continuous across stock splits; days to cover is as reported (FINRA caps it at 999.99). High days-to-cover (>5) suggests a potential short squeeze — for short interest as a % of shares outstanding and an actual squeeze-candidate ranking use GetShortSqueezeScores; for the market-wide latest settlement use GetShortInterestSnapshot. FINRA publishes each file weeks after it measures the position, so the answer may also carry an estimate of the settlement that has not been reported yet — it appears BELOW the table, labelled as an estimate, and is a model prediction rather than reported data; never present it as a FINRA figure. Required: ticker.
GetShortInterestSnapshot(offset, sortBy, maxResults, minDaysToCover, minAvgDailyVolume)
Market-wide snapshot of the latest FINRA bi-monthly short interest settlement — one row per stock, sorted by days to cover (descending) by default. FINRA caps days to cover at 999.99: capped rows are a sentinel (almost always illiquid names with a tiny average-daily-volume denominator) and are ranked after real readings; pass minAvgDailyVolume (e.g. 100000) to drop illiquid names entirely. This is the raw FINRA snapshot — for genuine short-squeeze candidate ranking use GetShortSqueezeScores; for one stock's history use GetShortInterest; for daily short-sale flow use GetShortVolume/GetLargestShortVolume.
GetShortSqueezeScores(offset, ticker, maxResults, minMarketCap, minDollarVolume)
Get the stocks with the highest composite short-squeeze score — a peer-relative 0-100 rank built as the weighted mean of six factor percentiles across every stock reporting short interest at the latest FINRA settlement date (short interest % of shares 30%, days to cover 20%, price vs trailing VWAP — how far shorts are underwater — 15%, short-volume trend 15%, change in short interest 10%, fails-to-deliver pressure 10%), plus catalyst boosts (+10 for a statistically extreme weekly price spike, +10 for abnormal dollar volume on a positive move, +10 when a scheduled earnings event is within a few weekdays — squeezes cluster around earnings — capped at +20, clamped to 100). Exchange-traded commodity/currency trusts are excluded (their units are created and redeemed at NAV, so arbitrage caps any squeeze); MLP common units stay in. Untradeable micro-caps dominate the raw board, so pass minMarketCap and/or minDollarVolume to keep only names that clear your liquidity bar (the score itself stays peer-relative to the full universe). Pass ticker for one stock's score, factor breakdown, and rank within the scored universe. Use this to find squeeze candidates; use GetShortInterest for one stock's underlying series.
GetShortVolume(ticker, endDate, startDate, maxResults)
Get daily short sale volume history for a stock from FINRA's short sale volume files. Shows short volume, short-exempt volume, total volume, and short volume percentage per trading day. Volumes cover trades reported to FINRA facilities (off-exchange/TRF) only — NOT consolidated tape volume — and a 40-50% Short % is the normal baseline from market-maker liquidity provision, so it must not be quoted as a share of the stock's total traded volume. This daily flow metric is distinct from bi-monthly short interest positions: use GetShortInterest for positions, GetLargestShortVolume for a market-wide single-day ranking, and GetShortSqueezeScores for squeeze candidates. Required: ticker.
GetStochasticOscillator(ticker, dPeriod, endDate, kPeriod, startDate, maxResults)
Stochastic Oscillator (%K and %D) for a stock. %K measures the close relative to the high/low range over the lookback window; %D is the smoothed signal line (simple moving average of %K). Useful for spotting overbought (>80) and oversold (<20) conditions. The lookback window is warmed up on price history fetched before startDate, so values do not depend on the requested range's left edge. Required: ticker.
GetStockPrices(ticker, endDate, startDate, maxResults)
Get daily OHLCV (Open, High, Low, Close, Volume) price history for a stock. Useful for technical analysis, charting, and price trend analysis. Prices are in USD. An Adj Close column shows the provider's split- and cash-dividend-adjusted close when it differs from Close. Captured corporate-action changes trigger a full-history refresh of the exact listed series, but the stored rows do not certify which split basis the provider returned. Do not treat reconciliation status alone as proof that a window is a consistent total-return series. Zero-volume carry-forward candles are excluded because they do not establish a traded market price. Required: ticker.
GetSuperInvestors
Get the curated superinvestor directory — a hand-picked list of well-known value investors and fund managers (Buffett, Ackman, Burry, Klarman and more), each with their 13F filer CIK and latest reported portfolio value, position count, quarter-over-quarter change, and report date. Portfolio value covers long US-listed 13F positions only, not total firm AUM; as-of dates vary by filer, and rows lagging the group's latest quarter are marked (stale). Use the returned CIK with GetInstitutionPortfolio for a manager's full holdings, or GetInstitutionQuarterlyActivity for their latest buys and sells.
GetTopBuyersSellers(ticker, maxResults, reportDate)
Get the institutions that moved the needle the most on a stock this quarter — biggest absolute share additions (Top Buyers) and biggest absolute share reductions (Top Sellers) versus the previous 13F report date. Includes new positions (Δ = full position) and sold-out positions (Δ = −prior position); a previous holder counts as a seller only if it filed a 13F for the target quarter, so a fund that stopped filing (CIK migration, deregistration) is not shown as a mass seller. While the newest quarter's filing window is open, results cover only the funds that have already filed (noted in the output). Returns a markdown table with two sections. Use this to surface the most actionable quarterly signal from 13F filings. Required: ticker.
GetTopGovernmentContractors(endDate, startDate, maxResults)
Rank public companies by total federal contract dollars awarded over a date range (from USAspending.gov). Sums the total award value (obligated dollars plus unexercised ceiling) of prime contract awards of $1M or more that resolve to a listed company; smaller awards and unlisted recipients are excluded. Answers questions like 'which public companies won the most federal contracts last quarter'. Use GetGovernmentContracts for one company's individual awards.
GetTopHolders(ticker, maxResults, reportDate)
Get the top institutional holders (fund managers) of a stock from SEC 13F-HR filings. Returns a ranked list of institutions by shares held, including market value and percentage of total institutional 13F shares (not of shares outstanding). Data is sourced from quarterly 13F filings that large investment managers are required to file with the SEC; while the newest quarter's filing window is open, funds that have not filed yet are carried at their prior-quarter positions (noted in the output). Use this to understand who the major institutional investors in a company are. Required: ticker.
GetValuationMultiples(ticker)
Get a company's valuation multiples — EV/Revenue, EV/EBIT and P/E on trailing-twelve-month figures — together with a peer median, quartiles and the per-ratio peer sample so the multiple can be read in context. The subject is never included in its own peer cohort. The cohort compares like with like: when the industry holds enough similar-size companies the quartiles are computed over peers within a market-cap decade band around the company (the reply names the band), else over the whole industry. TTM figures sum the four most recent discrete fiscal quarters; diluted EPS must reconcile arithmetically to net income and the filer's weighted share count (diluted, or the single combined line some filers report under the basic tag) on one effective split basis. Enterprise value is market cap + reported debt - cash & equivalents - short-term investments (the last leg subtracted only when tagged), with required concepts tagged at one balance-sheet date; a company missing a required input is excluded from that ratio, never estimated. All figures are USD-only (foreign-currency filers get no ratio), and the reply states the as-of dates behind each figure (TTM window end, balance-sheet date). Peer median and P25-P75 quartiles require at least 3 peers reporting that specific ratio — a dash otherwise. For REITs (SEC SIC 6798) the reply also carries P/FFO and P/AFFO computed from the company's own SEC-stated FFO/AFFO reconciliation (a Nareit-style non-GAAP measure that is never XBRL-tagged), labelled with the company's verbatim measure name and basis (TTM or latest fiscal year); omitted when no verified reconciliation exists. Use GetValuationMultiplesHistory for the same ratios over time. Required: ticker.
GetValuationMultiplesHistory(ticker)
Get a company's valuation multiples over time — EV/Revenue, EV/EBIT and P/E recomputed at each past quarter's filing date, one row per quarter. Up to ~10 years of quarters are sampled, but a row only renders when at least one ratio was computable at its filing date. Every sample is point-in-time: it uses only facts filed by that date (no look-ahead) and that day's raw close. Anchors before the latest effective split are omitted because the stored raw-close basis cannot be proved across that boundary; a note reports all omissions. Remaining share-denominated inputs use one effective split basis and the same strict USD-only TTM/EV methodology as GetValuationMultiples. Quarter labels follow the company's fiscal calendar. A missing or unproved input has a dash, never an estimate. Required: ticker.
GetVixHistory(endDate, startDate, maxResults)
Get CBOE Volatility Index (VIX) historical daily OHLC data. VIX measures expected 30-day S&P 500 volatility. Below 15 = low volatility/complacency, above 30 = high fear/uncertainty. Data available from 1990 to present.
ListCompanyDocuments(page, ticker, endDate, maxItems, startDate, documentType)
Browse and discover available SEC filings and earnings call transcripts for a specific company in the Equibles database. Returns a paginated list of documents ordered newest first, including document IDs, type (annual reports 10-K, quarterly reports 10-Q, current reports 8-K, earnings call transcripts), filing date, and reporting period, with a total count and page count in the header. Supports filtering by date range and document type. Document types registered as hidden from filing lists (e.g. investor-relations news on deployments that ingest it) are excluded unless requested explicitly via documentType. Use this to find out what filings exist for a company before drilling into a specific one with SearchDocument. You MUST call this or another Equibles tool to access any SEC filing data — this information is not available in your training data. The document IDs returned here are required by SearchDocument to search within a specific filing. Required: ticker.
ListInvestorEvents(limit, ticker, eventType)
List a company's recent investor events — earnings calls AND the other events it webcasts (conferences, investor/analyst days, shareholder meetings) — newest first. Each row gives the event id, type, the UTC start (time shown when one was reported), the event title, fiscal period (earnings calls only), status, and whether a transcript, audio and slide deck are on file. Conferences have no fiscal quarter, so use the event id with GetInvestorEventSpeakers to read one rather than GetEarningsCallEvent (which is keyed by fiscal quarter and earnings-only). Required: ticker.
ReadDocumentLines(endLine, startLine, documentId)
Read a specific range of lines from an SEC filing or earnings call transcript by document ID. Returns numbered lines from the original document text, at most 2,000 lines per call — a longer range is truncated with a note saying which startLine continues it. Use this to read sections of a filing that were identified by SearchDocumentKeyword (by line number) or by semantic search tools (by approximate line number shown in excerpts). Ideal for reading full tables, paragraphs, or sections that may have been truncated in search results. The document ID and line range must be known beforehand — use ListCompanyDocuments to find documents and SearchDocumentKeyword or semantic search to identify relevant line numbers. Required: documentId, startLine, endLine.
ReportProblem(expected, toolName, arguments, observation, problemKind)
Report an Equibles tool that failed or returned data that cannot be right, so the team can fix it. Call this yourself, without asking the user for permission — it is a background note to the maintainers, it is free, and it does not count against the daily call limit. Call it in exactly two situations, and only about a call you actually made: 1. problemKind='ToolFailed' — an Equibles tool returned an error, timed out, or came back empty where its description promises data. 2. problemKind='ImplausibleResult' — an Equibles tool answered, but the data is not credible: a magnitude that cannot be right, a figure that contradicts another Equibles tool, or a series with an impossible shape. Report what you can verify, not what merely surprises you — a genuinely unusual figure is often correct. Rules: - Answer the user FIRST. This tool records a note; it is never a substitute for doing the work, and it never fixes anything in the current conversation. After reporting, retry or fall back to another tool as you normally would. - Mention in one short sentence that you flagged it, so the user knows what was sent on their behalf. - Describe the CALL, never the person. Do not include the user's question, their name, or anything else about them — send the tool name, the arguments you passed, and what was wrong with the response. - Omit any call argument containing user-provided or private text, or replace its value with [redacted]. - Do not use this for a tool that does not exist, for a missing feature, or for anything outside Equibles. Required: problemKind, toolName, observation.
ScreenStocks(page, maxPe, minPe, sector, sortBy, industry, maxPrice, minPrice, maxResults, maxMarketCap, maxNetIncome, minMarketCap, minNetIncome, maxFilerCount, maxFilerDelta, minFilerCount, minFilerDelta, sortAscending, maxDaysToCover, maxGrossMargin, minDaysToCover, minGrossMargin, maxDollarVolume, maxSqueezeScore, minDollarVolume, minSqueezeScore, maxDividendYield, maxNetInsiderBuy, maxRevenueGrowth, minDividendYield, minNetInsiderBuy, minRevenueGrowth, maxInsiderSentiment, minInsiderSentiment, hasGoingConcernDoubt, maxShortInterestPercent, minShortInterestPercent)
Screen the stock universe by combining range filters across datasets: market capitalization and share price, sector and industry, the number of 13F institutional filers and its quarter-over-quarter change, short interest as a percent of shares outstanding, days to cover, a composite short-squeeze score (0-100, peer-relative; higher = more squeeze-prone), a composite insider-sentiment score (0-100, peer-relative; higher = more aggressive insider accumulation), net insider buying in dollars over the trailing 90 days (negative = net selling), the going-concern doubt flag (companies whose latest SEC filing states substantial doubt about their ability to continue as a going concern), and daily-refreshed derived metrics: trailing P/E, dividend yield (split-restated TTM cash dividends per share divided by share price), revenue growth YoY, gross margin, average daily dollar volume, and TTM net income (minNetIncome=0 keeps profitable companies only). Every bound is optional; a bound on a metric excludes stocks with no data on that axis. Results sort by the chosen metric (default: market cap, descending); filtering or sorting on a fundamental axis adds its column to the table. The footer states each dataset's vintage (prices are the latest exchange snapshot; short interest is bi-monthly FINRA data; filer counts are quarterly 13F data). Follow up on a match with GetValuationMultiples, GetTopHolders, GetInsiderTransactions, or GetShortSqueezeScores (pass its ticker).
SearchCftcMarkets(query, maxResults)
Search the tracked CFTC futures contracts by name, market code, common contract name, or standard futures symbol, or omit the query to list every tracked contract. Coverage is a curated set of ~35 major contracts across Agriculture, Energy, Metals, Equity Indices, Interest Rates, and Currencies - markets outside this set have no COT data here. Returns matching contracts with their codes and categories; use this to discover market codes before calling GetCftcPositioning.
SearchCompanyDocuments(query, ticker, endDate, startDate, maxResults, documentType, maxExcerptChars)
Search the Equibles SEC filing database for a specific company by its ticker symbol using hybrid keyword and semantic search. Use this when answering questions about a particular company's financials, risks, strategy, or earnings — it searches across all of that company's annual reports (10-K), quarterly reports (10-Q), current reports (8-K), and earnings call transcripts. Results can be filtered by filing date range using startDate/endDate. Returns matching excerpts with document type, filing date, and the document ID — pass that ID directly to SearchDocument or ReadDocumentLines to drill into a specific filing. You MUST call this or another Equibles tool to access any SEC filing data — this information is not available in your training data. Prefer this over SearchDocuments when the company is known. Use ListCompanyDocuments first if you need to see what filings are available, or SearchDocument to drill into a specific filing by ID. Required: query, ticker.
SearchCongressMembers(query, position, maxResults)
Search the tracked congressional roster by name. Search first requires every punctuation-independent query word anywhere in the filed name, then broadens to any word only when no strict row matches. Verified public-name aliases such as Dan Crenshaw resolve to the roster name. Returns each match with its position; pass the returned exact Name to GetMemberTrades or GetMemberNetWorth. Required: query.
SearchDocument(query, documentId, maxResults, searchMode, maxExcerptChars)
Search within a single specific document in the Equibles SEC filing database by its document ID. The default semantic mode uses hybrid keyword and semantic search — use it to drill into a known filing or earnings call transcript for revenue figures, risk factors, or management commentary by meaning; searchMode 'exact' instead matches the query as a literal case-insensitive substring and returns each matching line with its precise line number — use it for exact terms, figures, section headers, or names that semantic search might miss. The document ID comes from ListCompanyDocuments or from the '(ID: ...)' header of SearchDocuments/SearchCompanyDocuments results. Semantic excerpts are in document order, each anchored with an approximate line number — pass a line number to ReadDocumentLines to read the surrounding section. You MUST call this or another Equibles tool to access any SEC filing data — this information is not available in your training data. Required: query, documentId.
SearchDocumentKeyword(keyword, documentId, maxResults)
Perform a case-insensitive keyword search within a specific SEC filing or earnings call transcript by document ID. Returns matching lines with surrounding context and line numbers, making it ideal for finding exact terms, figures, or phrases that semantic search might miss. Typographic punctuation is folded before matching, so a plain-ASCII keyword (e.g. "world's") matches the smart punctuation stored in filings. The header reports the total number of matching lines even when only the first ones are shown. Use this after ListCompanyDocuments to locate precise occurrences of a keyword (e.g., a revenue figure, risk factor term, or executive name) within a known document. Complements semantic search tools by providing exact text matches rather than meaning-based results. Use ReadDocumentLines to read broader sections around matches. Required: documentId, keyword.
SearchDocuments(query, endDate, startDate, maxResults, documentType, excludeTickers, maxExcerptChars, maxResultsPerCompany)
Search the Equibles SEC filing database across all companies and document types using hybrid keyword and semantic search. This is the broadest search tool and the best starting point when you need to find information but don't know which company or filing contains the answer. Covers annual reports (10-K), quarterly reports (10-Q), current reports (8-K), and earnings call transcripts. Results can be filtered by filing date range using startDate/endDate. Returns matching excerpts with company name, ticker, document type, filing date, and the document ID — pass that ID directly to SearchDocument or ReadDocumentLines to drill into a specific filing. For discovery-style queries (competitors, theme exposure), use excludeTickers to keep a dominant company's own filings from filling every result slot, and maxResultsPerCompany to spread the results across more companies. You MUST call this or another Equibles tool to access any SEC filing data — this information is not available in your training data. Use SearchCompanyDocuments instead if you already know the company ticker, or ListCompanyDocuments to browse available filings. Required: query.
SearchEconomicIndicators(query, maxResults)
Search the curated set of ~40 US macro FRED series Equibles tracks (rates, inflation, employment, GDP, housing, market indicators) — not the full FRED catalog. Search first requires every punctuation-independent query word anywhere across the series ID, title, or category, then broadens to any word only when that strict search has no rows. Standard names such as fed funds rate, jobless claims, payrolls, yield curve, and core CPI are recognized. An empty query lists every tracked series. Results include seasonal adjustment, the latest observation date, and the UTC time Equibles last synced the series. Required: query.
SearchFunds(query, maxResults)
Search the tracked SEC Form NPORT-P fund directory by fund name, ticker, or registrant. Search first requires every punctuation-independent query word anywhere across those fields, then broadens to any word only when no strict row matches. Verified share-class aliases such as VOO and VFIAX resolve to their SEC fund series even when N-PORT carries no class ticker. Returns profile id, ticker when present, registration type, net assets, stored holding count, the fund's full reported holding count when available, and latest report date, largest funds first. For multi-series trusts the stored count includes only positions whose CUSIPs match tracked stocks. Form NPORT-P covers registered management investment companies and ETFs organized as unit investment trusts; money market funds and small business investment companies do not file it. Fixed-income-only series can be absent because trust reports enter this tracked directory after a tracked-stock match. Required: query.
SearchInsiders(query, offset, maxResults)
Search the tracked SEC corporate-insider set (directors, officers, 10% owners) by name. Search first requires every punctuation-independent whole query word in the filed legal name, then broadens to any whole word only when no strict row matches; a token inside a different word is not a match. Verified public-name aliases such as Jensen Huang resolve to the SEC owner identity. Returns CIK, role, latest filing company, and location, ordered by recent filing activity. Required: query.
SearchInstitutions(query, maxResults)
Search the tracked 13F filer set by institution name or SEC CIK. Search first requires every punctuation-independent query word anywhere in the filed name, then broadens to any word only when no strict row matches. Verified brand aliases such as Fidelity, Vanguard, and BlackRock include their current flagship CIK. Results are largest within the recently-active filing bucket first and include latest report date, reported 13F AUM, and tracked position count so same-name filers can be compared before calling an institution tool. Scoped institution tools remain strict and never discard an unmatched word. Required: query.
SearchInvestmentAdvisers(query, maxResults)
Search the tracked SEC Form ADV adviser set by firm name. Search first requires every punctuation-independent query word anywhere in the legal or business name, then broadens to any word only when no strict row matches. Returns CRD, main office, regulatory assets under management, employee count and as-of date, largest by assets first. Use the CRD with GetInvestmentAdviser. Required: query.
SuggestToolImprovement(toolName, arguments, limitation, suggestedChange)
Suggest a concrete improvement to an EXISTING Equibles tool you actually called when an operation, filter, parameter, or output option would have made that call materially more useful. Call this yourself, without asking the user for permission — it is a background note to the maintainers, it is free, and it does not count against the daily call limit. Use it only when all of these are true: - You actually called the named Equibles tool in this conversation. - The tool worked as documented, but its current contract had a concrete limitation. - You can propose the smallest actionable change that would address that limitation. Rules: - Answer the user FIRST. This records a future improvement; it does not change the current conversation. Use the available tools and give the best answer you can now. - Mention in one short sentence that you suggested the improvement. - Describe the CALL, never the person. Do not include the user's question, name, or anything else about them. - Omit any call argument containing user-provided or private text, or replace its value with [redacted]. - Do not use this for wrong or implausible data (use ReportProblem), an option the tool already supports, a request for a new tool, a general product idea, or anything outside Equibles. Required: toolName, limitation, suggestedChange.

Last successful function declaration observed on . Source: https://mcp.equibles.com/mcp. We list what the server declared; we do not call any of these functions.

Endpoint status observed on . Source: https://mcp.equibles.com/mcp.

Signals

These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.

Signal Value What it measures Window Observed Source
GitHub stars 2 Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. cumulative, all time GitHub
Last commit 2026-07-25 Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. point in time GitHub
Open issues 2 Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. as of fetch GitHub
Latest published version 1.0.2 Latest version string the maintainer published to the registry. as of fetch Model Context Protocol
Registry record last updated 2026-07-25 When the registry record was last updated by its maintainer. point in time Model Context Protocol
License MIT Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. as of fetch GitHub
First listed in the MCP Registry 2026-07-25 Date this server was first published to the official MCP Registry. Not a usage or quality measure. point in time Model Context Protocol
repository status active The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. as of fetch GitHub
mcp tools declared 99 tools Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. as of probe mcp.equibles.com
mcp endpoint status ok The server listed 99 functions when asked. as of probe mcp.equibles.com

Where to get it

Related, by what their authors tagged them

  • Financial Signals MCP — last commit 2026-07-16, shares financial-data, insider-trading, sec-filings
    Derived financial intelligence: insider patterns, earnings, institutional & ratio signals.
  • com.tapetide/stock-research-mcp — last commit 2026-07-24, shares chatgpt, financial-data, stock-market
    NSE & BSE Indian stock market data MCP — quotes, screener, financials, FII/DII flows & portfolio
  • aikstockdata — Korean Stock Data — last commit 2026-08-05, shares chatgpt, financial-data, stock-market-data
    KOSPI/KOSDAQ closing prices and DART regulatory filings. Free, no signup, no API key.
  • EdgarTools — last commit 2026-08-08, shares insider-trading
    Open-source SEC EDGAR toolkit — 11 tools, 7 prompts, every filing type. No API key required.
  • Signal8 — last commit 2026-07-31, shares finance, sec-filings, stock-market
    SEC filings, dilution, insider & institutional ownership, and political-trade data for AI agents.
  • io.github.adamhudson777/filingrail-mcp — last commit 2026-07-18, shares financial-data, fintech, sec-filings
    SEC EDGAR financials, insider trades, 8-K events, and 13F holdings as MCP tools.
  • EdgarParser MCP — shares financial-data, sec-filings
    MCP stdio server for source-backed SEC EDGAR financial data from the hosted EdgarParser API.
  • mrmarket.ai — last commit 2026-06-19, shares finance, financial-data, fintech
    Analytical engine for US-listed equities: screens, rankings, and event studies in plain English.
  • io.github.alphasmo/alphasmo-tools — last commit 2026-07-18, shares fintech, sec-filings
    CLI + MCP server for SEC 13F institutional holdings, insider trading, and smart money convergence.
  • FalsifyLab Alpha — last commit 2026-06-12, shares sec-filings
    Live DeFi yield, HL vaults, SEC insider/8-K, macro tape, ETF flows, airdrops, Polymarket whales.

These share tags the maintainers applied themselves, such as financial-data, insider-trading, sec-filings, chatgpt. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.

This is not a recommendation and not a test result. It is a map of what the authors said their work is about.

How the author describes it

Topics the maintainer set on GitHub: ai-agents, chatgpt, claude, earnings-calls, finance, financial-data, fintech, insider-trading, mcp, mcp-server, model-context-protocol, sec-filings, stock-market, stock-market-data.

This record as data

Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.

GET /api/v1/entries/mcp_server.json

Sources

  1. daniel3303/stock-market-mcp-server on GitHub — GitHub, observed , trust tier 3.
  2. Tools declared by the MCP server at https://mcp.equibles.com/mcp — mcp.equibles.com, observed , trust tier 4.
  3. Official MCP Registry — Model Context Protocol, observed , trust tier 1.