get_company_facts
Pack: sec · Endpoint: https://gateway.pipeworx.io/sec/mcp
Get XBRL financial facts for a company by CIK number, ticker, or company name. Returns latest_annual — revenue, net income, operating income, total assets, liabilities, equity, cash, EPS and shares for the most recent fiscal year (10-K), resolved to whichever XBRL concept the filer currently reports under — plus per-concept detail with the fiscal year and period end on every figure. Concepts the filer has retired (e.g. a pre-ASC-606 Revenues tag) are kept for history but flagged stale and sorted last.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
cik | string | yes | Company CIK (“320193”), ticker (“AAPL”), or name (“Apple”) — ticker/name are auto-resolved to a CIK |
Example call
Arguments
{
"cik": "320193"
}
curl
curl -X POST https://gateway.pipeworx.io/sec/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_company_facts","arguments":{"cik":"320193"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('get_company_facts', {
"cik": "320193"
});
Response shape
Always returns: cik, company_name, latest_annual, key_financials, stale_concepts, available_concepts
| Field | Type | Description |
|---|---|---|
cik | string | Company CIK number |
company_name | string | Official company name |
latest_fiscal_year | number | null | Fiscal year of the filer’s most recent annual report across every concept examined |
latest_period_end | string | null | Period end of that most recent annual report (YYYY-MM-DD) |
latest_annual | object | Canonical line items for the most recent fiscal year — revenue, net_income, operating_income, gross_profit, total_assets, total_liabilities, stockholders_equity, cash_and_equivalents, eps_basic, eps_diluted, shares_outstanding, research_and_development — each resolved to whichever concept the filer currently reports under; null when the filer reports no current value |
key_financials | object | Per-concept detail. Current concepts first, retired (stale) concepts last — a stale concept is kept because a historical series still needs it, never silently dropped |
stale_concepts | array | Concepts the filer has stopped reporting; present in key_financials flagged stale, never used in latest_annual |
year_note | string | How year is derived |
available_concepts | number | Total number of US-GAAP financial concepts available for this company |
Full JSON Schema
{
"type": "object",
"properties": {
"cik": {
"type": "string",
"description": "Company CIK number"
},
"company_name": {
"type": "string",
"description": "Official company name"
},
"latest_fiscal_year": {
"type": [
"number",
"null"
],
"description": "Fiscal year of the filer's most recent annual report across every concept examined"
},
"latest_period_end": {
"type": [
"string",
"null"
],
"description": "Period end of that most recent annual report (YYYY-MM-DD)"
},
"latest_annual": {
"type": "object",
"description": "Canonical line items for the most recent fiscal year — revenue, net_income, operating_income, gross_profit, total_assets, total_liabilities, stockholders_equity, cash_and_equivalents, eps_basic, eps_diluted, shares_outstanding, research_and_development — each resolved to whichever concept the filer currently reports under; null when the filer reports no current value",
"additionalProperties": {
"type": [
"object",
"null"
],
"description": "Most recent annual (10-K/20-F/40-F) value, or null when the filer reports no annual value for this concept",
"properties": {
"year": {
"type": "number",
"description": "Fiscal year the reporting period ENDS in, derived from period_end (NOT the SEC fy filing-year field, which stamps prior-year comparatives with the restating filing's year)"
},
"value": {
"type": "number",
"description": "Metric value in `unit`"
},
"filed": {
"type": "string",
"description": "Date the filing was submitted (YYYY-MM-DD)"
},
"period_start": {
"type": "string",
"description": "Period start (YYYY-MM-DD); present for duration concepts such as revenue, absent for balance-sheet instants"
},
"period_end": {
"type": "string",
"description": "Period end / balance-sheet date (YYYY-MM-DD)"
},
"form": {
"type": "string",
"description": "Annual-report form the value came from (10-K, 10-K/A, 20-F, 40-F)"
},
"unit": {
"type": "string",
"description": "XBRL unit: USD, USD/shares, shares, or pure"
},
"concept": {
"type": "string",
"description": "The us-gaap concept this value was read from — the one the filer currently reports this line under"
}
},
"required": [
"year",
"value",
"filed",
"period_end",
"form",
"unit",
"concept"
]
}
},
"key_financials": {
"type": "object",
"description": "Per-concept detail. Current concepts first, retired (stale) concepts last — a stale concept is kept because a historical series still needs it, never silently dropped",
"additionalProperties": {
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Human-readable label for the XBRL concept"
},
"most_recent_annual": {
"type": [
"object",
"null"
],
"description": "Most recent annual (10-K/20-F/40-F) value, or null when the filer reports no annual value for this concept",
"properties": {
"year": {
"type": "number",
"description": "Fiscal year the reporting period ENDS in, derived from period_end (NOT the SEC fy filing-year field, which stamps prior-year comparatives with the restating filing's year)"
},
"value": {
"type": "number",
"description": "Metric value in `unit`"
},
"filed": {
"type": "string",
"description": "Date the filing was submitted (YYYY-MM-DD)"
},
"period_start": {
"type": "string",
"description": "Period start (YYYY-MM-DD); present for duration concepts such as revenue, absent for balance-sheet instants"
},
"period_end": {
"type": "string",
"description": "Period end / balance-sheet date (YYYY-MM-DD)"
},
"form": {
"type": "string",
"description": "Annual-report form the value came from (10-K, 10-K/A, 20-F, 40-F)"
},
"unit": {
"type": "string",
"description": "XBRL unit: USD, USD/shares, shares, or pure"
}
},
"required": [
"year",
"value",
"filed",
"period_end",
"form",
"unit"
]
},
"stale": {
"type": "boolean",
"description": "true when this concept's latest annual period ends before the filer's latest annual report — the filer stopped reporting it (e.g. a pre-ASC-606 Revenues tag). Real history, not the current figure"
},
"stale_note": {
"type": "string",
"description": "Present when stale: which fiscal year the concept stops at, what the filer's latest report covers, and which current concept in latest_annual replaces it"
}
},
"required": [
"label",
"most_recent_annual",
"stale"
]
}
},
"stale_concepts": {
"type": "array",
"description": "Concepts the filer has stopped reporting; present in key_financials flagged stale, never used in latest_annual",
"items": {
"type": "string"
}
},
"year_note": {
"type": "string",
"description": "How `year` is derived"
},
"available_concepts": {
"type": "number",
"description": "Total number of US-GAAP financial concepts available for this company"
}
},
"required": [
"cik",
"company_name",
"latest_annual",
"key_financials",
"stale_concepts",
"available_concepts"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"sec": {
"url": "https://gateway.pipeworx.io/sec/mcp"
}
}
}
See Getting Started for client-specific install steps.