- Brand
- Unknown
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
FilingSpy turns public SEC filings into read-only tools for answering questions about companies, funds and insiders, with every figure tied to the filing it came from. What you can ask: - Superinvestor portfolios: quarterly 13F holdings and changes for about 100 tracked investors (Berkshire Hathaway, Pershing Square, Duquesne and others), position history, and side-by-side comparisons. - Consensus across funds: which stocks the most tracked funds bought or sold in a quarter, and which tracked investors hold a given stock. - Insider trades: Form 3, 4 and 5 filings by officers, directors and 10% owners, separating open-market buys and sales from awards and pre-planned (10b5-1) trades, plus a market-wide insider screen. - Financial statements as filed: revenue, income, cash flow and other reported metrics by quarter or year, and the full statements and notes from 10-K, 10-Q and 20-F filings. - Filing text: read or search sections such as risk factors, MD&A and legal proceedings; list 8-K, 6-K and proxy filings with summaries of events and executive pay. Limitations: data comes only from SEC filings, so 13F portfolios are delayed by up to 45 days after quarter end and cover only the US-listed securities funds must report (no shorts or most foreign holdings). FilingSpy does not provide real-time prices, place trades, access brokerage accounts, or give investment advice. Requires signing in with a FilingSpy account.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Unknown
- Access
- Account required
- First tracked
- 2026-10-22
- Tool count
- 24
- Geography
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for FilingSpy
Get updates when FilingSpy’s Discoverability Score or category rank changes.
Competitive lineup
24 tools agents can invoke
Compare 2–6 investors in one common or requested period. Returns portfolio totals, a shared holdings matrix with split-adjusted quarter changes, pairwise overlaps, and unique top holdings. Missing investors and capped results are labelled. For one security across managers, use get_security_holders; resolve_company resolves company identifiers. Follow nextOffset as offset with the same filters to continue.
compare_investors
Get reported financial metrics (revenue, pretax income, income tax expense, interest expense (deposit/funding cost for banks), share-based compensation, R&D, SG&A, derived EBIT, margins, EPS, cash flow, balance-sheet items, etc.) from XBRL filings, by period. Use this for standardized metrics; use read_statement for other reported table values. Never state a figure from memory or infer it from a summary. Returns annual, quarterly or explicitly requested TTM data with definitions, units, currency, missing reasons, derivation and source links. Filter with 'metrics' to keep the answer focused; use 'periodType' and 'limit' to control how many periods come back. For valuation, check quarterly rows after the annual basis and compare the newest quarter year over year; identify the fiscal-year or trailing-quarter basis and price date of every ratio. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates. Metric aliases: cash_and_equivalents/cash_equivalents→cash, total_revenue/sales→revenue, net_profit→net_income, capital_expenditures→capex, fcf→free_cash_flow, eps→eps_diluted, buybacks→share_repurchases. Aliases echo resolvedMetrics. Unavailable balance-sheet metrics point to list_statements query balance, then read_statement.
get_company_financials
Get an 8-K/6-K AI event summary (items, headline, bullets, EDGAR sourceLink), a DEF 14A proxy extraction (CEO/NEO compensation, say-on-pay and other available topics), or a periodic 10-K/10-Q/20-F summary. Supply an accession from list_company_filings for events/proxies. Other forms are listed only. Full text is available only for periodic filings, via read_filing_section. Periodic response: a filing-level summary (headline, tl;dr, highlights, changes vs prior, watch items) plus each section's headline, bullet points, and its (part, sectionId) address. Does NOT include the raw section text — use read_filing_section for that. Omit accession to get the latest periodic filing. Use this to answer or expand on a summary the user is reading, and to discover section ids (part, sectionId) before reading raw text. Before a single-company valuation conclusion, select the newest 10-Q accession from list_company_filings; state unavailable coverage. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
get_filing_summary
One company's Section 16 insider activity over a window: the summary figures, who bought and sold, and the most recent filings. This is the Insiders tab of a security page. USD totals already exclude rows whose filed price failed the price check (pricePlausible false); unverifiable prices still count. Never present a failed row as an amount someone paid, and do not explain this rule to the user unless asked. 'Discretionary' means the filing's checkbox said the insider chose the timing, not that a pre-set Rule 10b5-1 plan executed it. The checkbox only exists on filings from December 2022; an unanswered one is 'unknown', never 'not planned'. A Form 144 is a notice of *intent* to sell, never a trade. Its share count is what the filer announced and its market value is the filer's own estimate, which enters no dollar total. 'Not yet reported' means no Form 4 matches it yet — not that the sale did not happen. Insider buying is not a recommendation and not a signal. Do not add caveats, disclaimers or methodology notes; state the facts and stop. If asked whether a buy is bullish, give the facts (who, role, size, price, timing) and no verdict. Two views, and they are different populations: 'insiders' is officers and directors (management), 'major_shareholders' is 10% owners — funds, parent companies and holding vehicles, whose sales are portfolio decisions and not management trades. Each filing is bucketed by its own filed role class, never by how a name reads, so one filer group can appear in both views with only its own filings. Rows are grouped by filing group (a set of reporting-owner CIKs), never by name, and nothing here attributes a share to an individual co-filer. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
get_insider_activity
One filing group's own Form 4 filings at a company, plus latestReportedHoldings on the first page only, using the latest position date per title and verified terminal balances for a single management CIK (stock and derivative lines, dates, split basis and caveats; use this to answer how much the CEO holds), with each filing's Section 16 transaction lines: trade date, transaction code, shares, the price as filed, positionAfter (also sharesOwnedAfter): the holding reported after this line for one reporting owner and one direct/indirect holding, never a total, never summed or attributable to a joint co-filer; derivative lines count the derivative instrument, not common stock. Also whether a 10b5-1 plan or the insider's own timing was checked. Use it after get_insider_activity to open one row of "who bought and sold". USD totals already exclude rows whose filed price failed the price check (pricePlausible false); unverifiable prices still count. Never present a failed row as an amount someone paid, and do not explain this rule to the user unless asked. 'Discretionary' means the filing's checkbox said the insider chose the timing, not that a pre-set Rule 10b5-1 plan executed it. The checkbox only exists on filings from December 2022; an unanswered one is 'unknown', never 'not planned'. The reporter argument accepts whole name tokens in any order/case, ignoring punctuation, suffixes and middle initials only for a unique match; normalized names echo resolvedReporter. It also accepts the name as get_insider_activity displayed it, or its reporterKey (the filing group's CIK set) — the key is exact and preferred. Holding-only source rows are returned separately in holdings, not transactions; they report an existing holding, not a trade. Exactly ONE filing group is answered per call: a name matching more than one comes back as `candidates`, because two groups are two reporters even under one name and their figures are never summed. Paged up to 20 filings at a time, fewer when the filings are long; follow nextCursor until it is null. It never steps over anything: a filing with more admitted lines than one page holds is resumed inside itself (transactionsSkipped / transactionsRemaining and holdingsSkipped / holdingsRemaining say where), so every line is reachable by paging. Per-row prices are the filer's own figures, each carrying its plausibility verdict: valuePlausible false means the price does not stand up against the issuer's close and the row's USD value is not a dollar figure anyone paid; null means nothing could be checked. adrSharesPerAds, where set, means the close it was checked against prices a depositary receipt rather than the ordinary share. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
get_insider_transactions
Get an investor's buy/sell activity for a specific period. Shows new positions, increases, decreases, and exits with split-adjusted share changes and percentages. Repeat adjustment_note when present. Can filter by change type. Returns byte-bounded pages (default 20, maximum 100 requested rows); follow nextOffset with identical slug/period/filters.
get_investor_activity
Get an investor's portfolio holdings for a specific period. Returns positions with shares, value, portfolio weight %, ticker, and security details. If period is omitted, returns the latest available period. Supports sorting and limiting results. Follow nextOffset as offset with the same filters to continue.
get_investor_holdings
Get all available reporting periods for an investor, ordered most recent first. Unique whole-word abbreviations such as pershing-square and tiger-global are accepted; unknown or ambiguous identifiers return candidates.
get_investor_periods
Get a lightweight portfolio summary for an investor: stock total value, stock position count, top 5 holdings, and concentration metrics (top 5 and top 10 as % of total). Derivative positions (PUT/CALL options, note principal) come back in a separate labelled `derivatives` block whose values are 13F reported values (usually the underlying's notional for options) — never add them to totalValue and never derive a combined weight. Use this for quick overview questions instead of fetching all holdings.
get_investor_summary
Get a market-wide overview of recent activity among tracked investors. View 'by_security' shows the most actively traded stocks (buyer/seller counts and names). View 'by_investor' shows the latest trading activity grouped by investor with their top position changes. Repeat adjustment_note when present. Follow nextOffset as offset with the same filters to continue.
get_market_overview
Track how a specific investor's position in a security has changed over time. Returns a chronological timeline of shares, value, effective share delta/percentage, activity type (NEW, INCREASED, DECREASED, SOLD, UNCHANGED), and adjustment_note for each reporting period. Returns byte-bounded history pages (default 20, maximum 100 requested rows); follow nextOffset. Use this for questions like 'How has Buffett's AAPL position changed over the years?' Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
get_position_history
Get detailed information about a security (stock/bond) including current owners among tracked investors with their share counts and values, quarterly ownership history (owner count and total shares over time), and recent buy/sell activity across all investors. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
get_security_detail
Show tracked investors holding a security, their filing-reported value, portfolio weight, period-end shares, split-adjusted quarter action, and first-seen period. Includes portfolioWeightPct (percent of selected long-stock book; derivatives/shorts excluded), portfolioRank (1 = largest stock position; securityId breaks value ties; exits rank null), holdersAtPeriodEnd and exitedThisPeriod counts. totalCount counts matching rows including exits before paging; population counts and totals precede changeType filtering. Optional changeType filters admitted actions before paging on every plan; this is a per-security row filter, not a screener filter. Includes exits and totals across the family aggregate universe. Optionally restrict to investor slugs and a reporting period. Use resolve_company to resolve company identifiers. Follow nextOffset as offset with the same filters to continue. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
get_security_holders
List company filings newest filing date first, with accession, items, AI headline, hasSummary, hasText, hasStatements and EDGAR sourceLink. Default: 10-K/10-Q/20-F, 8-K/6-K and DEF 14A, including amendments. Optional formTypes filters exact SEC forms; other forms (e.g. 424B4, S-1, S-3) are listed only when requested. Full text covers periodic 10-K/10-Q/20-F; 8-K/6-K have AI summaries and DEF 14A has proxy extractions, when available. Other forms are listed only. Follow nextOffset; reporting period and filing date differ. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
list_company_filings
List the tracked superinvestors with primaryStyle (nullable) and an optional investor_style primary-style metadata filter, available on every plan, plus their latest portfolio period, total value, and position count. Also returns high-level stats for the latest substantially complete consensus quarter (75% coverage, same fallback as consensus), with nextPeriod {period, investorsFiled} when later filings have started. Returns byte-bounded investor pages (default 50, maximum 100 requested rows); follow nextOffset with identical arguments. Use this to see who is being tracked or for dashboard-level questions. A fund family is listed once, as its firm, with `fundCount` and `funds` naming the individual fund slugs you can drill into; the firm's 13F and each fund's N-PORT are separate SEC lenses on the same manager and must never be added together.
list_investors
Discover primary statements, notes and detailed tables in one published filing. Returns statement IDs, friendly/original names and source links. Does not depend on AI summaries. Follow nextOffset. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
list_statements
Read the raw text of one filing section (e.g. MD&A, Risk Factors). This is the grounding tool: use it to verify or quote what a filing actually says before making a factual claim about its language. Use the (accession, part, sectionId) from get_filing_summary or search_filing_text. Common sectionId aliases such as 3, Item 3, and Item 7A are accepted; missing sections return availableSections for that accession. Pages contain about 12,000 characters. Follow nextOffset as offset with the same address and omit find to read on. Optional literal find locates a paragraph at or after offset; found:false explicitly means no occurrence at or after offset and returns the ordinary page plus up to eight suggestions (matching headings/short lines with character offsets). Offsets index stored text characters. Before downgrading a claim absent from structured notes, read the relevant Risk Factors and MD&A here and name the section read; absence from notes is not absence from the filing. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
read_filing_section
Read structured filing rows and cells with raw numbers, display scale, unit, period, dimensions and source links. Use for numbers absent from Core and to explain the selected statement. Pages through rows and columns; rowIds/columnIds target cells. Text/footnotes return nextTextOffset: repeat with those IDs and textOffset for continuation. For footnotes use footnoteOffset/nextFootnoteOffset and rowIds: [] to reserve the text budget. If a cell returns empty content and non-null nextTextOffset, target only its rowId and columnId before continuing. Keep the public column_limit spelling. Never sum unlike units or quarterly and cumulative periods. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
read_statement
Resolve a company name or ticker to candidate companies with filings/financials. Returns ticker, name, CIK, and whether each has financial data and filing text. Use this FIRST when the user names another company (e.g. 'Microsoft', 'compare with MSFT') to get the ticker before calling the other filing/financials tools. Follow nextOffset as offset with the same filters to continue.
resolve_company
The site-wide insider screener (/insiders) as a tool: companies ranked by insider flow over a window, with who bought, what they paid and where the stock trades now. Use it for "which companies are insiders buying", never for one named company — get_insider_activity answers that. USD totals already exclude rows whose filed price failed the price check (pricePlausible false); unverifiable prices still count. Never present a failed row as an amount someone paid, and do not explain this rule to the user unless asked. 'Discretionary' means the filing's checkbox said the insider chose the timing, not that a pre-set Rule 10b5-1 plan executed it. The checkbox only exists on filings from December 2022; an unanswered one is 'unknown', never 'not planned'. Insider buying is not a recommendation and not a signal. Do not add caveats, disclaimers or methodology notes; state the facts and stop. If asked whether a buy is bullish, give the facts (who, role, size, price, timing) and no verdict. Returns up to 25 companies plus the exact total count. priceVsRef is the latest close against refBuyPrice, the share-weighted price the window's buyers actually paid on today's split basis — negative means the stock now trades below it. latestClose is null (with marketCapBasic and priceVsRef) when the company's reference security has stopped producing bars: a company that no longer trades keeps its row and its flow figures but reports no price. marketCapBasic is basic common shares outstanding times the close — never a fully converted figure, so do not describe it as total capitalisation; sharesObservedAt is the date that share count describes, and sharesClassScope says whether it covers one share class, multiple, or whether that is unknown -- unknown means no breakdown was filed, never that there is one class. marketCapBasis says what kind of figure the cap is: single_class and classes_converted are exact (the second means a reviewed conversion turned every class into the priced class's unit), while classes_summed_unconverted is APPROXIMATE -- several share classes added together and priced at one class's quote, because nothing reviewed says they are the same economic unit. Always say a classes_summed_unconverted figure is approximate and why; never present it as exact. A null marketCapBasic is a deliberate refusal, and marketCapWithheldReason is the site's own sentence saying why (marketCapWithheldReasonKey is the same fact as a machine word): quote the reason, never substitute an estimate of your own. clusterBuyers is already a count of participants — never add one to it.
screen_insider_activity
Screen stocks by material quarterly activity among tracked investors. Default ranking is the weighted score (2*NEW + INCREASED - DECREASED - 2*SOLD), reversed for side sell. Use sortBy: "buyers" to answer which stocks did the most funds buy/add; sellers ranks fund sellers and net_value ranks net estimated dollars in the side direction. sortBy is available on every plan, including free and anonymous/demo. Counts and dollar figures are recalculated from only the requested investor styles. Valid investor_style keys: value, quality, growth, activist, macro, special. Follow nextOffset as offset with the same filters to continue.
screen_stock_consensus
Search for investors by name, manager, slug, fund ticker or alias (at least two characters), and securities by ticker/issuer name. One-character security queries are supported; investor matching is explicitly skipped. Returns investor matches with their latest period, portfolio value, and their role — 'firm' (files a 13F for a fund family), 'fund' (one N-PORT series, with parentSlug naming its firm) or 'investor' (standalone). A person or firm name selects the firm; a fund name or ticker selects that fund. Security matches carry the current owner count among tracked investors. Use this to find the correct slug or ticker before looking up details. Follow nextOffset as offset with the same filters to continue.
search
Search published structured notes, row labels, text cells and footnotes using an English literal substring. Specify 1 to 3 company-owned accessions for a single filing or cross-period comparison. Returns bounded discovery snippets with read_statement coordinates and source links. Each report returns nextMatchOffset for more matching locations; pass it as matchOffset with the same page offset. Follow nextOffset with identical query/accessions. Read source reports before making claims or comparing figures. Partial coverage or no match never proves absence of disclosure; narrative chapters use search_filing_text. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
search_disclosures
Full-text keyword search over a company's filing sections. Returns ranked matches with separate highlighted snippets[] passages and the (accessionNumber, part, sectionId) to read. Compatibility snippet separates passages with [Separate passage]; never treat them as adjacent text. Use read_filing_section find with a literal snippet phrase (without highlight tags) to locate it. Follow nextOffset as offset with identical query/accession for more matches. Use this to locate where a topic or phrase is discussed in the filings when you don't already know the section. Keyword-based, so use concrete terms from the filing; for numeric values use get_company_financials instead. Optionally scope to one filing by accession. Company identifiers accept verified share-class variants (BRK-B, BRK/B, BRK B, brk.b → BRK.B); normalized inputs echo resolvedTicker. Unknown identifiers return a repairable error with up to five resolve_company candidates.
search_filing_text
FilingSpy ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve FilingSpy's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.