Skip to main content
Glama

Company Facts

company_facts
Read-onlyIdempotent

TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — "Apple revenue for fiscal 2023", "Walmart net income FY2026 Q3", "Microsoft cash at the end of fiscal 2024". PREFER OVER entity_profile / get_company_financials whenever the period matters: those answer "the most recent figures" and will happily hand back FY2025 when you asked about FY2019, and neither separates a discrete quarter from a year-to-date figure. This one refuses instead — it NEVER substitutes the latest period for the period requested, NEVER returns 0 for missing data, NEVER lets a 9-month YTD number answer a quarterly question, and NEVER converts a currency. Every answer carries the exact us-gaap concept it came from, what that concept MEASURES (NetIncomeLoss excludes non-controlling interests, ProfitLoss includes them — not synonyms), the accession number and a link to the filing on sec.gov, the restatement trail of any superseded figures, and a contract + derivation version to pin against. Fiscal periods are the FILER'S OWN, anchored on their fiscal-year end, so Walmart's year ending 2026-01-31 is FY2026 and Apple's ending 2025-09-27 is FY2025. Attributes in v1: revenue, net_income, cash. Every non-answer is a named status — unavailable (the filer did not report it for that period; the periods that DO exist are listed, without values), unsupported (outside what v1 covers — a non-us-gaap filer, an unknown attribute, a non-USD unit), ambiguous (the company name matched two filers equally well; both are named), conflicting (two filings the same day disagree; both are returned and neither is picked), partial (a value with no accession behind it). Source: SEC EDGAR, XBRL financial facts, one publisher read once — see corroboration. Same response is served at POST https://gateway.pipeworx.io/v1/facts for non-MCP callers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ofNoPast ISO timestamp with timezone. Replay the latest answer actually recorded by that instant; no invented history or live fallback.
basisNoOnly "consolidated" in v1. Segment and product-level figures are XBRL-dimensioned and are not reachable through this contract at any concept.
periodYesThe reporting period, stated explicitly. There is no default and no "latest" — that is the point of this tool.
companyYesTicker ("AAPL"), 10-digit CIK ("0000320193"), or company name. A name that matches two filers equally well returns status "ambiguous" with both named rather than guessing — pass a ticker or CIK to be certain.
max_ageNoMaximum age in seconds of the upstream publication, not our fetch. Older or undated facts are withheld.
attributeYesWhich figure. "revenue" = total consolidated revenue; "net_income" = net income (loss); "cash" = cash and cash equivalents at the period end.
freshnessNocached (default) permits an eligible stored answer; fresh requires an upstream refresh and never silently falls back to stale data.
restatementNoDefault "as_amended" — the latest filed figure for the period, with everything it superseded listed. "as_originally_reported" takes the first filing instead.
exclude_publishersNoPublisher ids forbidden for fact retrieval: sec, fmp, alphavantage. Case and surrounding whitespace are normalized; unknown ids are refused. Excluding sec currently leaves no eligible fact source and returns unavailable/sources_excluded with the selection reasons. Identity and fiscal-calendar lookups may still use SEC; no excluded financial concept is fetched.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "attribute": "revenue",
      +    "company": "AAPL",
      +    "period": {
      +      "fiscal_year": 2023,
      +      "type": "annual"
      +    }
      +  }
      +]
    • addedInput schema / properties / as_of
      Added value: +{
      +  "description": "Past ISO timestamp with timezone. Replay the latest answer actually recorded by that instant; no invented history or live fallback.",
      +  "type": "string"
      +}
    • addedInput schema / properties / freshness
      Added value: +{
      +  "description": "cached (default) permits an eligible stored answer; fresh requires an upstream refresh and never silently falls back to stale data.",
      +  "enum": [
      +    "cached",
      +    "fresh"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / max_age
      Added value: +{
      +  "description": "Maximum age in seconds of the upstream publication, not our fetch. Older or undated facts are withheld.",
      +  "maximum": 3155760000,
      +  "minimum": 0,
      +  "type": "number"
      +}
  2. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.