Ticker Scout

ai.tickerscoutPublished by tickerscout.aiOfficial publisherv3.0.1Updated Oct 24, 2026

Agent-native SEC data, 20 tools: statements assembled, any line item, filings synthesized. No key.

VerifiedStreamable HTTPWeb executableFinanceKnowledge & MemoryData & Analytics

Overview

AI-generated overview

Remote MCP server giving assistants assembled SEC financial statements, any line item, filing narratives and event digests for S&P 500 and major foreign…

What you can do
  • List covered companies, their records, periods held and predicted upcoming filings
  • Read income statement, balance sheet and cash flow for a fiscal year, quarter, YTD or TTM, plus segments, KPIs, non-GAAP and bank or insurance metrics, and margins
  • Fetch any figure by standard name or the company's own field name, discover a company's figure names, and compare one figure across two to ten companies
  • Read synthesized 10-K/10-Q narrative sections and 8-K event digests, and keyword-search filing text
  • Trace figures back to SEC accession numbers and EDGAR links, and check units, currency, ADR ratios and fiscal calendar conventions
When to use it
Useful when an assistant needs to answer questions about public company fundamentals, compare companies, or quote what a filing says, without assembling XBRL facts itself. Suited to research and reporting workflows over US-listed and foreign private issuers that file with the SEC.
Requirements
A remote streamable HTTP endpoint; no API key, signup or paywall. Clients that only speak stdio can bridge it with the mcp-remote package via npx. Network access to the endpoint and to the upstream data site is needed on each call.
Before you install
All tools are read-only, but each call is logged (tool, time, inputs, outcome; no IP address) and fetches files from the provider's site. Data is limited to SEC fundamentals: no prices, quotes or market caps, and it is factual synthesis, not investment advice. Predicted filing dates are estimates from filing history, not announced dates.

Installation

In SourceWeft

  1. Open Ticker Scout in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.tickerscout%2Fticker-scout/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ticker-scout": {
      "type": "http",
      "url": "https://mcp.tickerscout.ai/mcp"
    }
  }
}

README

Ticker Scout MCP server

An agent-native data layer for SEC filings, over the Model Context Protocol. Finished financial statements for public companies, and the filings themselves read and synthesized. The SEC publishes the numbers as data, but it does not publish them as statements. This serves them already assembled, through 20 tools: any statement for any fiscal year or quarter, any line item by its standard name or the company's own, every fiscal year and quarter held, every accession number cited, and the 10-K, 10-Q and 8-K narrative by section, topic or keyword. No API key, no signup, no paywall.

https://mcp.tickerscout.ai/mcp

It exposes the data published at tickerscout.ai (https://tickerscout.ai): financial statements, the annual and quarterly reports read and synthesized, and material event histories for S&P 500 companies and major foreign issuers that file with the SEC, all derived from their own filings.

What is already done for you

The difference between this and the EDGAR APIs is assembly, not availability. The SEC gives you facts. This gives you statements.

  • The three statements arrive as statements. Income statement, balance sheet and cash flow, line items in reported order, not a flat bag of tagged facts you have to select concepts for and group yourself.
  • Assembled across filings, because no single filing holds the whole record. Annual figures come from the annual report, quarterly and year-to-date figures from the quarterly report, and where a quarterly report presents cash flow only on a year-to-date basis, the discrete quarter comes from the earnings release filed as a current-report exhibit. For a US filer that means the 10-K, the 10-Q and the 8-K; for a foreign issuer, the 20-F or 40-F and the 6-K.
  • On the company's own fiscal calendar. 52- and 53-week years, quarters that are 13-week periods rather than calendar quarters, and fiscal years that do not end in December. Period dates come from the column headings the filings themselves print.
  • In actual dollars and actual shares. Never thousands, never millions, no scale factor to infer. Share counts are adjusted for splits. A foreign issuer's figures are converted to US dollars at the rate recorded on each period, and per-share figures are per ADS where the company has an ADR program.
  • Shaped to the business. A bank, an insurer, an asset manager and a retailer do not have the same statements, so they do not get the same sections. Ask what a company has rather than assuming a fixed shape.
  • With the gaps named. Where a filing does not disclose a figure it is omitted and the omission is explained, never silently zeroed. Every figure cites the SEC accession number it came from.
  • Figures link to the line of the filing that prints them. Wherever the filing tags a figure, the response carries a sec.gov link that opens the filing at that number.

Connect

The endpoint is https://mcp.tickerscout.ai/mcp: streamable HTTP, no authentication, no API key.

ChatGPT (web app, paid plans)

  1. Settings, turn on Developer mode (under Connectors or Apps, Advanced)
  2. Create a connector
  3. URL: https://mcp.tickerscout.ai/mcp
  4. Authentication: No authentication

Claude

  1. Settings, then Connectors
  2. Add custom connector
  3. URL: https://mcp.tickerscout.ai/mcp

Perplexity (paid plans)

  1. Connectors, then Add custom, then Connector
  2. Add MCP connector, then Remote
  3. URL: https://mcp.tickerscout.ai/mcp
  4. Authentication: None

Claude Code

claude mcp add --transport http ticker-scout https://mcp.tickerscout.ai/mcp

Cursor

json
{  "mcpServers": {    "ticker-scout": {      "url": "https://mcp.tickerscout.ai/mcp"    }  }}

Any other app

If it asks for a server URL, paste https://mcp.tickerscout.ai/mcp. If it only runs local servers, add this to its config:

json
{  "mcpServers": {    "ticker-scout": {      "command": "npx",      "args": [        "mcp-remote",        "https://mcp.tickerscout.ai/mcp"      ]    }  }}

Start here

The main six tools answer most questions in one call; the other fourteen each answer one kind of question, and take arguments rather than multiplying into near-duplicates.

QuestionCall
Is a company covered? What is its ticker?list_companies(query)
How did it do last quarter?get_key_figures(ticker)
Any line item, one or several at onceget_figure(ticker, "revenue"), get_figure(ticker, ["revenue", "net income", "eps"])
A figure's full historyget_figure(ticker, "free cash flow", period: "all")
A statement for one year, quarter, TTM or YTDget_statements(ticker, statement: "income_statement", period: "FY2025")
How far back does the data go?list_periods(ticker)
Segments, products, geographyget_segments(ticker, breakdown?)
KPIs, non-GAAP, bank or insurance metricsget_company_metrics(ticker, kind?)
Marginsget_margins_and_ratios(ticker)
A company-specific metriclist_company_figures(ticker, query: "data center"), then get_figure
Compare companiescompare_companies(["NVDA","AMD","AVGO"], "revenue")
Risks, strategy, management's discussionget_narrative(ticker, section: "risk factors") (or business, md&a, current quarter, legal, subsequent events)
What did the company announce?get_events(ticker), or section: "earnings", "m&a", "management changes", ...
Find a topic anywhere in the filingssearch_text(ticker, query)
Which filing did a number come from?get_figure (a sec_link on every tagged value), get_filings(ticker, accession?)
Currency, ADR ratio, splits, fiscal calendarget_reporting_conventions(ticker)
Not sure?guide()

Tickers are case-insensitive, and BRK.B and BRK-B both resolve.

How the data is organized

Records and periods

A record is the complete snapshot built when a company filed one 10-Q or 10-K, tagged by fiscal period: FY27Q2 is the record built from NVIDIA's second-quarter fiscal 2027 10-Q, FY26 one built from a 10-K. Each record holds several periods: up to three fiscal years, the latest quarter and its prior-year comparative, year to date and trailing twelve months. Older records hold older quarters, so a company's history is the union of its records, and every record stays published at a permanent dated URL.

Tools that take period search every record automatically. Tools that take record read one snapshot, the latest by default.

The period argument

You passYou get
nothingevery period in the latest record
FY2025, FY25, fiscal 2025, 2025that fiscal year (the company's own fiscal year, not the calendar year)
Q2 FY2027, Q2 2027, FY27Q2, 2027Q2, 2Q27, second quarter 2027that quarter
Q2the latest second quarter held
latest, latest quarter, latest annualthe most recent period of that kind
ttm, ytd, prior ytdtrailing twelve months, year to date, the prior year's year to date
annual, quarterly, allevery fiscal year, every quarter, or every period in every record
2026-07-26the period ending on that date

A period earlier than anything held is not an error. The answer says the data does not go back that far and lists exactly what is held. A period not yet reported says so and gives the next expected filing.

Names in the record

Records are shaped to each business, so the same line item has different names: Apple's revenue is total_net_sales, JPMorgan's is total_net_revenue, Walmart's net income is net_income_attributable_to_walmart. Nothing is relabeled to hide that.

  • Every value a figure tool returns leads with name_in_record (the record's own name), field (its path inside the period) and json_path (its exact address in financials.json, e.g. annual[0].income_statement.total_net_sales).
  • Any of those names can be passed back to get_figure exactly as written, and returns exactly that field. Case, spaces and underscores do not matter: Data Center and revenue_by_market_platform.Data Center both work.
  • A standard figure asked for by its generic words (revenue, net income, free cash flow) resolves the standard way below, each value still under the record's own name. If the record also has other fields of that name (NVIDIA's segment tables each carry a revenue), they are listed under other_fields_with_this_name, callable by path.
  • list_company_figures maps each standard figure to the name this company uses, then lists every remaining figure under its own name. Pass query to search those names.

Standard figures

get_figure and compare_companies know the names each figure goes by across companies and resolve deterministically: first the field the company's own headline uses for it, then a list of known names in order, then a name pattern only when exactly one field matches. Nothing is estimated, derived or summed to fill a gap. Look-alike fields in the same statement come back under related, and a company that reports none of the names gets a plain "not reported" with the closest fields it does have.

FigureAsk for it asRead from, for example
Revenuerevenue, salesrevenue, revenues, total_revenues, total_revenue, +19 more
Cost of revenuecost of revenue, cogscost_of_revenue, cost_of_sales, total_cost_of_revenue, cost_of_goods_sold, +10 more
Gross profit, gross margin %gross profit, gross margingross_profit, gross_margin, gross_margin_pct, +3 more
Research and developmentr&dresearch_and_development, research_and_development_expenses, +7 more
Selling, general and administrativesgaselling_general_and_administrative, sales_general_and_administrative, +7 more
Total operating expensesoperating expenses, opextotal_operating_expenses, total_costs_and_expenses, total_noninterest_expense, +11 more
Operating incomeoperating income, ebitoperating_income, income_from_operations, operating_profit, +4 more
Interest expenseinterest expenseinterest_expense, total_interest_expense, interest_expense_net, interest_and_debt_expense
Income before income taxespretax incomeincome_before_income_taxes, earnings_before_income_taxes, +23 more
Income tax, effective tax rateincome tax, effective tax rateprovision_for_income_taxes, income_tax_expense, effective_tax_rate_pct, +17 more
Net incomenet income, earningsnet_income, net_earnings, net_income_attributable_to_<company>, +8 more
Diluted and basic EPSeps, basic epsdiluted_eps, eps_diluted, basic_eps, +11 more
Diluted, basic and outstanding sharesdiluted shares, basic shares, shares outstandingdiluted_shares, basic_shares, shares_outstanding, +27 more
Depreciation and amortizationd&adepreciation_and_amortization, depreciation_depletion_and_amortization, +7 more
Stock-based compensationsbcstock_based_compensation, share_based_compensation, +4 more
Net interest income, noninterest income (banks)net interest income, noninterest incomenet_interest_income, total_noninterest_income, +7 more
Provision for credit losses (banks)provision for credit lossesprovision_for_credit_losses, provision_for_loan_losses, +4 more
Cash and cash equivalentscashcash_and_cash_equivalents, cash_and_equivalents, cash_and_due_from_banks, +5 more
Total assetstotal assetstotal_assets, assets.total_assets
Total liabilitiestotal liabilitiestotal_liabilities, liabilities.total_liabilities
Total, long-term and short-term debtdebt, long-term debt, short-term debttotal_debt, long_term_debt, short_term_debt, current_portion_of_long_term_debt, +32 more
Shareholders' equityequity, book valuetotal_stockholders_equity, total_shareholders_equity, total_<company>_shareholders_equity, total_equity, +7 more
Current assets and liabilities, working capitalcurrent assets, current liabilities (working capital: get_margins_and_ratios)total_current_assets, total_current_liabilities
Goodwill and intangiblesgoodwill, intangiblesgoodwill, intangible_assets_net, other_intangible_assets_net, +11 more
Inventoriesinventoryinventories, inventory, merchandise_inventories, +4 more
Accounts receivablereceivablesaccounts_receivable_net, receivables_net, trade_receivables_net, +7 more
Accounts payablepayablesaccounts_payable, trade_accounts_payable, trade_payables, +3 more
Property, plant and equipmentpp&eproperty_plant_and_equipment_net, property_and_equipment_net, +7 more
Retained earningsretained earningsretained_earnings, accumulated_deficit, +3 more
Operating cash flowoperating cash flow, cfooperating_cash_flow, net_cash_provided_by_operating_activities, +10 more
Capital expenditurescapexcapex, capital_expenditures, purchases_of_property_and_equipment, +10 more
Free cash flowfree cash flow, fcffree_cash_flow, free_cash_flow_for_the_quarter, +2 more
Investing and financing cash flowinvesting cash flow, financing cash flowinvesting_cash_flow, financing_cash_flow, net_cash_used_in_investing_activities, +21 more
Dividends paid, dividends per sharedividends, dividends per sharedividends_paid, cash_dividends_paid, dividends_per_share, dividends_declared_per_share, +14 more
Share repurchasesbuybacksshare_repurchases, repurchases_of_common_stock, purchases_of_treasury_stock, +11 more
Acquisitions, net of cash acquiredacquisitionsacquisitions_net_of_cash_acquired, +7 more

guide() returns the full catalog with every word each figure answers to.

Units and sources

All money is in actual dollars (not thousands, not millions), per-share figures in dollars per share, share counts in actual shares, split-adjusted. Every figure response carries the record's own units statement, so a value is never separated from its scale.

Every value carries the SEC accession number of the filing it came from and, where the filing tags the number, a sec_link that opens the filing at the line printing it. A value with no link was calculated in the record (margins, free cash flow, trailing twelve months, a quarter derived by subtraction) or comes from an earnings release, which the SEC does not tag. Margins and ratios this server calculates (get_margins_and_ratios) are labeled calculated and show their formula and the exact fields used.

All 20 tools

Every tool is read-only. Tickers are case-insensitive. A period argument takes the syntax above and searches every record; a record argument reads one earlier snapshot.

The main six

ToolArgumentsReturns
list_companiesquery?Every covered company with its latest fiscal period, every record held and its next expected filing, plus a coverage summary. Resolves a company name to a ticker.
get_companyticker, record?Identity and coverage manifest: name, CIK, exchange, state of incorporation, SIC industry, the filings the record is built from with accessions and EDGAR links, every published record, the predicted next filing, and a map of every tool.
get_key_figuresticker, record?Headline figures for the latest period, each with its year-over-year change, exact amount, record field and source accession, plus the written summary and Q&A.
get_financialsticker, sections?, record?The whole financial record, sliceable by top-level section. figure_sources (the sec.gov link for every tagged figure) only on request.
get_narrativeticker, section?, record?The 10-K and 10-Q synthesis. An index of sections and subsections by default; any section or subsection by heading, a topic (business, risk factors, md&a, current quarter, subsequent events, legal), or all.
get_eventsticker, section?, index?, record?The 8-K digest over roughly the trailing five quarters: in full, one section or topic (earnings, management changes, capital returns, debt and financing, m&a, governance, restructuring, legal), or a dated one-line index.

Statements and periods

ToolArgumentsReturns
list_periodstickerEvery fiscal year and quarter held across every record, with dates, length, source form and accession, the fiscal year end and 52/53-week detection, and every record with its permanent URLs.
get_statementsticker, statement?, period?, include_sources?The income statement, balance sheet or cash flow (or everything held) for any period, including ttm and ytd, searching older records; plain "not that far back" or "not reported yet" answers outside the range.
get_segmentsticker, breakdown?, period?Segment results, revenue by product, service or end market, and revenue by geography, as the company reports them.
get_company_metricsticker, kind?, period?Operating KPIs, non-GAAP measures, bank metrics (CET1, net interest margin, efficiency ratio) and insurance metrics (premiums, combined ratio, float), in the company's own definitions.
get_margins_and_ratiosticker, period?Every margin and rate the record stores, plus gross, operating, net and FCF margin, working capital and current ratio, calculated and labeled with their formulas.

Figures

ToolArgumentsReturns
get_figureticker, figure (one or up to ten), period?Any figure by standard name, record name, path or words, for every period, one period, or the full history (period: "all"). Every value with its record name, JSON path, dates, accession and sec.gov link.
list_company_figuresticker, query?, block?, period?Each standard figure mapped to this company's name for it, then every remaining figure under its own name, with values; or, with query, the fields whose names contain the words.
compare_companiestickers, figure, period?One standard figure for two to ten companies, each row with its own period, dates and record name.

Search, filings and conventions

ToolArgumentsReturns
search_textticker, query, documents?, limit?, record?The paragraphs and list items in the narrative, events and record notes that contain every word, in full, plus the sections that mention it most. Quote a phrase to match it exactly.
get_filingsticker, accession?, record?Every accession cited across statements, narrative and events, with form, filing date, EDGAR links and every use; or one filing in full, with every passage that cites it.
get_reporting_conventionsticker, record?Units, reporting currency and each period's exchange rate for a foreign issuer, ADR ratio, splits adjusted for, fiscal year end, accounting basis and the record's own definitions.
get_data_notesticker, record?The record's sourcing notes, its uncertainties, and which standard figures the latest periods lack.
list_upcoming_filingsdays?, form?Every covered company expected to file within N days, soonest first.
guidenoneHow the tools fit together, the period syntax, units, citations, common questions and the standard figure catalog.

Examples

> What did NVIDIA earn last quarter?
  get_key_figures(ticker: "NVDA")
> Apple's revenue for fiscal 2025, and where the 10-K prints it
  get_figure(ticker: "AAPL", figure: "revenue", period: "FY2025")
  name_in_record  total_net_sales  json_path       annual[0].income_statement.total_net_sales  value           416161000000   ($416.16 billion)  accession       0000320193-25-000079  sec_link        https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm#f-78
> NVIDIA revenue in fiscal 2019
  get_figure(ticker: "NVDA", figure: "revenue", period: "FY2019")
  available: false  We don't have data going back that far: FY2019 is earlier than anything Ticker Scout  holds for NVDA. The earliest fiscal year held is FY2024. ...
> Microsoft's revenue, net income and EPS in one call
  get_figure(ticker: "MSFT", figure: ["revenue", "net income", "eps"], period: "latest quarter")
> NVIDIA Data Center revenue, every quarter held
  get_figure(ticker: "NVDA", figure: "Data Center", period: "all")

Data policy

  • Everything is derived from public reports filed with the SEC, such as annual reports on Form 10-K, quarterly reports on Form 10-Q and current reports on Form 8-K (20-F, 40-F and 6-K for foreign issuers). Nothing is estimated and nothing is fabricated. Where a filing does not disclose a figure, it is omitted and the omission is explained.
  • No market price data. No quotes, no market caps, no price snapshots. This is a fundamentals source.
  • Data is refreshed each quarter, shortly after a company files. Coverage and the period held for each company are in list_companies.
  • This is factual synthesis of public filings. It is not investment advice.

Free to read and cite. Please attribute "Ticker Scout (tickerscout.ai)".

How it works

A stateless Cloudflare Worker using createMcpHandler from @modelcontextprotocol/server, speaking streamable HTTP at /mcp.

The server holds no financial data of its own. Every tool call fetches the corresponding files from https://tickerscout.ai through the Cloudflare edge cache and shapes the response; a question about an older period reads that record's permanent dated URL. There is no database, no snapshot and no fallback copy: if an upstream file cannot be fetched, the tool returns an error naming the URL and the status rather than serving something stale.

Each tool call is recorded: which tool, when, its inputs and whether it succeeded. The record includes no IP address. See src/record.ts and the privacy policy.

src/  index.ts       Worker entrypoint (exports the handler only)  server.ts      Builds the tool definitions once per isolate, a server per request  upstream.ts    Fetching, edge caching, the error policy  tickers.ts     Ticker normalization, coverage search, near matches  records.ts     A company's published records, and choosing which to read  periods.ts     Fiscal periods: naming, the period syntax, out-of-range answers  figures.ts     Standard figures, name resolution, figure_sources links  filings.ts     Accession numbers, EDGAR links, citations in prose  topics.ts      Narrative and events topics, keyword search  markdown.ts    Section parsing for the .md documents  financials.ts  Headline condensing and unit-safe slicing  respond.ts     Result shaping, source URL and attribution  record.ts      The per-call record (tool, inputs, outcome; no IP address)  tools/         Tool registration, one module per group

Development

npm installnpm test                      # unit tests for the pure modulesnpm run type-check            # wrangler deploy does not typechecknpm run dev                   # local server on http://localhost:8787/mcpnpm run smoke -- <url>        # live end-to-end check against a deploymentnpm run sweep -- <site dir>   # every tool, every company, against a local copy of the sitenpm run deploy

npm test covers the pure logic. test/smoke.mjs calls the tools against a running server for a deliberately shape-diverse set of companies (a conventional company, a bank, an insurance conglomerate, a retailer far ahead of the calendar, a foreign issuer) plus negative cases. test/sweep.mjs runs every tool for every covered company in-process, plus every topic, statement, breakdown and metric kind, serving the site's files from a local directory, and fails on any error. A unit test keeps tools/list under 40 KB.

License

MIT. See LICENSE.

Source: README.md at commit f26be10

Tools

20

list_companies

List covered companies

The public companies Ticker Scout covers, with the fiscal period of each one's latest data, every published record held and the predicted date of its next SEC filing, plus a coverage summary (company count, last update, filers by latest form, foreign issuers). Call this first when you do not know whether a company is covered, or to turn a company name into a ticker. Coverage is S&P 500 companies plus major foreign issuers that file with the SEC.

Parametersquery

get_company

Company profile and coverage manifest

Company identity and coverage manifest: name, CIK, exchange, state of incorporation, SIC industry, the fiscal period of the latest data, the SEC filings that record is built from (the annual report and the latest quarterly report, each with its own fiscal year, filing date, accession number and EDGAR link), every published record with its permanent URLs, and the predicted next filing date and form (a prediction from filing history; a filing date is not an earnings date). Pass `record` for an earlier record's manifest.

Parametersrecordtickerrequired

get_key_figures

Headline figures and summary for the latest period

The headline for a company's most recent reported period: revenue, net income, diluted EPS and similar, each with its exact dollar amount, prior-year value, year-over-year change, the record field it was read from and its SEC accession number; plus a one-paragraph written summary and question-and-answer pairs built from those figures. Start here for any 'how did X do' or 'how much did X earn' question. Far smaller than get_financials. Pass `record` for an earlier record's headline. For any other figure, or a figure across periods, use get_figure.

Parametersrecordtickerrequired

get_financials

Financial statements (the whole record)

Income statement, balance sheet and cash flow, already assembled from a company's SEC filings, for up to three fiscal years plus the latest quarter, year to date and trailing twelve months, with segment tables, per-share figures and the record's own notes. This is the published financials.json, whole or by top-level section. Already assembled: no XBRL concept selection, no deriving a discrete quarter from year-to-date columns, no scale factor to infer. Section names differ per company, so call with no sections first (or read available_sections) and then request only what you need. Request the figure_sources section by name for a sec.gov link to the line of the filing that prints each figure; a whole-file call leaves it out. All money is in actual dollars (not thousands, not millions), per-share figures in dollars per share (per ADS for a foreign issuer that has one), share counts in actual shares, split-adjusted. A foreign issuer's figures are converted to US dollars at the rate recorded on each period. For one statement or one period, searching older records too, use get_statements; for one figure, get_figure.

Parametersrecordtickerrequiredsections

get_narrative

10-K and 10-Q narrative

Qualitative synthesis of a company's latest annual and quarterly reports, condensed from the filings themselves rather than from news: business description, risk factors with changes since the prior filing flagged, annual MD&A, the current quarter, legal proceedings and subsequent events. Called without `section` it returns an INDEX: every section with its size, first sentence and subsection headings, because the full document is large. Then pass `section` as a heading or subsection heading from the index, or as a topic (business, risk factors, md&a, current quarter, subsequent events, legal), which finds the matching sections whatever this company calls them ('legal' also pulls legal items from the 8-K digest), or 'all' for everything. Pass `record` for the narrative as of an earlier record. To find a keyword anywhere, use search_text.

Parametersrecordtickerrequiredsection

get_events

8-K filings and material events

Digest of a company's material current reports (Form 8-K; 6-K for a foreign issuer) over roughly the trailing five quarters, read from the filings and their exhibits: earnings releases and guidance, management and board changes, dividends and buybacks announced, debt offerings and credit facilities, mergers and acquisitions, shareholder votes, restructuring and legal matters, each dated and citing its SEC accession number. Returns the full digest by default; it is short. Pass `section` as a heading or a topic (earnings, management changes, capital returns, debt and financing, m&a, governance, restructuring, legal) to narrow it, or index=true for a one-line, dated index of every item. Pass `record` for the digest as of an earlier record.

Parametersindexrecordtickerrequiredsection

list_periods

Every fiscal period and record held

How far back the data goes for one company: every fiscal year and every quarter Ticker Scout holds, across every published record, with each period's start and end dates, length in days, source form and accession, and which records carry it; the year-to-date and trailing-twelve-months blocks; the fiscal year end and whether the company runs 52/53-week years; and the list of published records (each the snapshot built when one 10-Q or 10-K was filed, with its permanent URLs). Fiscal years are the company's own: NVIDIA's FY2027 ends in January 2027, Apple's FY2026 in September 2026.

Parameterstickerrequired

get_statements

Statements for any period

The income statement, balance sheet or cash flow statement, as the company reports it with line items in reported order, for any fiscal year, quarter, year to date or trailing twelve months. `statement` picks one (default: every statement and table held for the period, including segments and industry metrics). `period` picks the periods (default: every period in the latest record: up to three fiscal years, the latest quarter and its prior-year comparative, year to date, trailing twelve months) and searches older records when the latest does not hold it; 'ttm' and 'ytd' return those blocks with their derivation notes. A period earlier than the data held returns that the data does not go back that far, and what is held. Each period carries its dates, source form and accession. All money is in actual dollars (not thousands, not millions), per-share figures in dollars per share (per ADS for a foreign issuer that has one), share counts in actual shares, split-adjusted. A foreign issuer's figures are converted to US dollars at the rate recorded on each period. include_sources=true adds the sec.gov link for every figure the filing tags.

Parametersperiodtickerrequiredstatementinclude_sources

get_segments

Segments and revenue breakdowns

How a company's results split, exactly as it reports them: `segments` (reportable segment revenue, operating income or profit, and whatever else it discloses per segment: assets, capex, managed-basis results for a bank, business-unit earnings for a conglomerate), `revenue_by_product` (revenue by product, service, end market, platform, channel or customer type, e.g. NVIDIA's Data Center, Apple's iPhone and Services), and `revenue_by_geography` (by country or region, with long-lived assets by geography where held). Default: all three. Table names differ by company and are returned as the record names them. Every period in the latest record by default, or the periods named by `period`. Actual dollars (not millions), shares split-adjusted, a foreign issuer's figures in US dollars. If the company reports none, the response says so and lists the tables it does have.

Parametersperiodtickerrequiredbreakdown

get_company_metrics

KPIs, non-GAAP and industry metrics

Measures a company reports outside its GAAP statements, as it defines them: `operating` KPIs (users, subscribers, paid memberships, bookings, stores, RevPAR, deliveries, backlog, remaining performance obligations), `non_gaap` measures (adjusted EPS, adjusted operating income, EBITDA, FFO for a REIT, core earnings, with the reconciling figures held), `bank` metrics (CET1 and other capital ratios, net interest margin, efficiency ratio, average balances and yields, credit quality) and `insurance` metrics (premiums, underwriting results, combined and loss ratios, investment income, float, book value). Default: every kind this company reports. These are the company's own definitions from its filings or earnings release. Every period in the latest record by default, or the periods named by `period`. Actual dollars (not millions), shares split-adjusted, a foreign issuer's figures in US dollars.

Parameterskindperiodtickerrequired

get_margins_and_ratios

Margins and ratios

Profitability margins and balance-sheet ratios for every period: every margin and rate the record itself stores (gross margin %, operating margin %, effective tax rate, segment margins, efficiency ratio and the like), plus gross, operating, net and free-cash-flow margin, working capital and current ratio calculated here from the period's own figures, each labeled as calculated with its formula and the exact fields used, so it can be checked. A ratio is calculated only when both figures are in the same period of the same record; nothing is estimated. Every period in the latest record by default, or the periods named by `period`.

Parametersperiodtickerrequired

get_figure

Any figure, any period

Get any figure for a company: revenue, net income, EPS, free cash flow, debt, a segment's revenue, a bank's CET1 ratio, a KPI. Pass a standard name or synonym and it returns the field this company uses for it, named; pass a field name or path from the record and it returns exactly that field; otherwise fields whose names contain all the words. Case, spaces and underscores do not matter. Standard figures: revenue, cost_of_revenue, gross_profit, gross_margin_pct, research_and_development, sga, operating_expenses, operating_income, interest_expense, net_interest_income, noninterest_income, provision_for_credit_losses, pretax_income, income_tax, effective_tax_rate, net_income, diluted_eps, basic_eps, diluted_shares, basic_shares, depreciation_and_amortization, cash, total_assets, total_liabilities, total_debt, long_term_debt, short_term_debt, shareholders_equity, current_assets, current_liabilities, goodwill, intangible_assets, inventories, accounts_receivable, accounts_payable, property_and_equipment, retained_earnings, shares_outstanding, operating_cash_flow, capital_expenditures, free_cash_flow, investing_cash_flow, financing_cash_flow, dividends_paid, dividends_per_share, share_repurchases, stock_based_compensation, acquisitions. Every value leads with its name_in_record and json_path, so what is returned is never relabeled, and carries its dates, form and accession. Every value carries the SEC accession number of the filing it came from and, where the filing tags the number, a sec.gov link that opens the filing at the line printing it. Default: every period in the latest record. `period` narrows to a fiscal year, quarter, 'ttm', 'ytd' or 'latest', searching older records; period='all' returns the full history held, oldest first, as annual and quarterly series (the newer record's value wins where two hold the same period, because it carries any restatement). All money is in actual dollars (not thousands, not millions), per-share figures in dollars per share (per ADS

Parametersfigurerequiredperiodtickerrequired

list_company_figures

Every figure a company reports, by its own names

Discover which figures a company's record holds and what it calls them. Without `query`: standard_figures maps each standard figure (revenue, net income, EPS, cash, debt and the rest) to the name THIS company's record gives it (Apple's revenue is total_net_sales, JPMorgan's is total_net_revenue), and other_figures holds every remaining figure grouped by its statement or table (segments, revenue_by_* breakdowns, key metrics, bank and insurance tables, non-GAAP measures), keyed by path, with its values. With `query`: only the fields whose names contain every word ('data center', 'cet1', 'comparable sales', 'backlog', 'subscribers'), plus the standard figure the words name, if any. Every name and path returned can be passed to get_figure exactly as written. `block` limits to one table. A listing defaults to the latest fiscal year and latest quarter, a search to every period in the latest record; pass `period` for others.

Parametersblockqueryperiodtickerrequired

compare_companies

Compare a figure across companies

One standard figure for two to ten companies side by side: revenue, net income, EPS, operating income, free cash flow, debt, cash, equity or any other standard figure listed in get_figure. Defaults to each company's latest discrete period (its latest quarter, or its latest fiscal year if that is newer); pass period='latest annual', 'ttm', 'latest quarter' or a fiscal year. Fiscal calendars differ between companies, so each row states its own period and dates, and the field it was read from; a company that does not report the figure, or the period, gets a row saying so rather than failing the call. All money is in actual dollars (not thousands, not millions), per-share figures in dollars per share (per ADS for a foreign issuer that has one), share counts in actual shares, split-adjusted. A foreign issuer's figures are converted to US dollars at the rate recorded on each period.

Parametersfigurerequiredperiodtickersrequired

search_text

Keyword search across the filings synthesis

Find what a company's filings say about a keyword. Searches the 10-K/10-Q narrative, the 8-K events digest and the financial record's sourcing notes, and returns the paragraphs and list items that contain every word of the query, best first, each in full with its section and subsection, plus a ranked list of the sections that mention it most (to read one whole with get_narrative or get_events). Case-insensitive; double quotes match an exact phrase. Examples: 'buyback authorization', '"remaining performance obligations"', 'China export', 'credit facility', 'goodwill impairment', 'CEO'.

Parameterslimitqueryrequiredrecordtickerrequireddocuments

get_filings

SEC filings and accession numbers

The SEC filings behind a company's data. Without `accession`: every accession number the record cites across the financial statements, the 10-K/10-Q narrative and the 8-K events digest, newest first, each with its form (10-K, 10-Q, 8-K, 20-F, 6-K, DEF 14A...), filing date where stated, EDGAR index URL, document URL where known and every use (which periods' figures came from it, which narrative or events sections cite it); plus the annual and quarterly report the record is built from. With `accession` (dashes optional): everything about that one filing, including the full text of every narrative and events passage that cites it, e.g. what an 8-K announced; every published record is searched unless `record` is given. An accession number (0001045810-26-000075 = filer CIK 0001045810, year 2026, sequence 75) is the SEC's permanent ID for a filing, the thing to cite. For the sec.gov line behind one figure, use get_figure.

Parametersrecordtickerrequiredaccession

get_reporting_conventions

Units, currency, ADR, splits and fiscal calendar

How to read a company's numbers before comparing or converting them: the units statement (actual dollars, not millions), reporting currency and, for a foreign issuer such as TSMC, the conversion policy and each period's exact exchange rate with its source (average rate for income and cash flow, closing rate for the balance sheet, stated as foreign currency per US dollar); the ADR ratio and per-share basis (per ADS for a foreign issuer that has one); stock splits adjusted for and any as-reported pre-split values; the fiscal year end and convention; the business type and statement template; the accounting basis (US GAAP, IFRS); and any definitions the record gives for its own line items and segments. All money is in actual dollars (not thousands, not millions), per-share figures in dollars per share (per ADS for a foreign issuer that has one), share counts in actual shares, split-adjusted. A foreign issuer's figures are converted to US dollars at the rate recorded on each period. Every period's dates are in list_periods.

Parametersrecordtickerrequired

get_data_notes

Sourcing notes and what is not disclosed

The record's explanation of itself, to read before relying on an unusual figure or concluding one is missing: its sourcing notes (how the statement template was chosen, which filing each statement was read from, how a discrete quarter was derived, what was reclassified or restated), period-level notes on coverage, its list of uncertainties (figures the filings do not disclose, periods presented only year to date, items that could not be reconciled), and which standard figures are absent from the latest fiscal year and quarter. Where a filing does not disclose a figure it is omitted and the omission explained, never zeroed.

Parametersrecordtickerrequired

list_upcoming_filings

Upcoming SEC filings across coverage

Every covered company expected to file a 10-Q or 10-K (or 6-K / 20-F) within the next N days, soonest first, with the predicted date and form and the period currently held. Use it to see whose data refreshes soon. Dates are predictions from each company's filing history, not announced dates, and a filing date is not an earnings date: most companies release earnings on an 8-K days or weeks before the 10-Q or 10-K. One company's next filing is in get_company.

Parametersdaysform

guide

How to use these tools

Start here if unsure. How Ticker Scout's tools fit together: what a record is versus a period, the period syntax every period argument accepts, units and currency, how figures are cited and linked to sec.gov, which tool answers common questions, and the standard figures (with the words get_figure and compare_companies accept for each). No arguments.

Takes no parameters.

Version history

4
  1. v3.0.1LatestOct 13, 2026
  2. v2.0.0Oct 6, 2026
  3. v1.0.3Oct 3, 2026
  4. v1.0.2Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts