SEC fundamentals point in time: first reported, known as of a date, every restatement.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Get one measure for up to 50 companies as filed by a date: each one's latest period, its value then, and whether it was later restated. For point-in-time peer and factor work.
Only filings on or before it count.
Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues).
Tickers, CIKs or names.
annual (default) or quarterly.
Get one measure for up to 50 companies as filed by a date: each one's latest period, its value then, and whether it was later restated. For point-in-time peer and factor work.
| Argument | Type | Description |
|---|---|---|
| as_of* | string | Only filings on or before it count. |
| concept* | string | Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues). |
| periods | string | annual (default) or quarterly. |
| companies* | array | Tickers, CIKs or names. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"companies",
"concept",
"as_of"
],
"properties": {
"as_of": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only filings on or before it count."
},
"concept": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues)."
},
"periods": {
"enum": [
"annual",
"quarterly"
],
"type": "string",
"description": "annual (default) or quarterly."
},
"companies": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"maxItems": 50,
"minItems": 1,
"description": "Tickers, CIKs or names."
}
},
"additionalProperties": false
}Find a company's SEC CIK and tickers by name, ticker or CIK. The other tools also take a name as company.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 8. |
| query* | string | Name (Exxon Mobil), ticker or CIK. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Default 8."
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Name (Exxon Mobil), ticker or CIK."
}
},
"additionalProperties": false
}Get one measure over time, newest first: as first reported (default), as latest filed, or as known on as_of, each with its filing and whether it later changed.
| Argument | Type | Description |
|---|---|---|
| unit | string | Default: the unit with most periods. |
| as_of | string | Only filings made on or before this date count, for every basis. |
| basis | string | first_reported (default), latest, or as_of (default when as_of is set). |
| limit | integer | Default 20, newest first. |
| company* | string | Ticker (AAPL), CIK or company name. |
| concept* | string | Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues). |
| periods | string | annual (default), quarterly, or all (adds year-to-date). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"concept"
],
"properties": {
"unit": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Default: the unit with most periods."
},
"as_of": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only filings made on or before this date count, for every basis."
},
"basis": {
"enum": [
"first_reported",
"latest",
"as_of"
],
"type": "string",
"description": "first_reported (default), latest, or as_of (default when as_of is set)."
},
"limit": {
"type": "integer",
"maximum": 400,
"minimum": 1,
"description": "Default 20, newest first."
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Ticker (AAPL), CIK or company name."
},
"concept": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues)."
},
"periods": {
"enum": [
"annual",
"quarterly",
"all"
],
"type": "string",
"description": "annual (default), quarterly, or all (adds year-to-date)."
}
},
"additionalProperties": false
}Get what a company had reported as of a date: per measure, the latest period filed by then, its value, and whether it was later restated; optionally ratios from those filings. For point-in-time backtests.
| Argument | Type | Description |
|---|---|---|
| as_of* | string | Decision date: only filings on or before it count. |
| ratios | boolean | Adds margins, ROE, ROA, leverage, free cash flow. |
| company* | string | Ticker (AAPL), CIK or company name. |
| periods | string | annual (default) or quarterly. |
| concepts | array | Default: ten common measures. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"as_of"
],
"properties": {
"as_of": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Decision date: only filings on or before it count."
},
"ratios": {
"type": "boolean",
"description": "Adds margins, ROE, ROA, leverage, free cash flow."
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Ticker (AAPL), CIK or company name."
},
"periods": {
"enum": [
"annual",
"quarterly"
],
"type": "string",
"description": "annual (default) or quarterly."
},
"concepts": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 20,
"minItems": 1,
"description": "Default: ten common measures."
}
},
"additionalProperties": false
}List the XBRL concepts a company reports and the plain names it supports, with units, periods, date range and restated-period counts.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 40. |
| offset | integer | next_offset from the last page. |
| search | string | Words in concept names or labels, e.g. revenue. |
| company* | string | Ticker (AAPL), CIK or company name. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 300,
"minimum": 1,
"description": "Default 40."
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "next_offset from the last page."
},
"search": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Words in concept names or labels, e.g. revenue."
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Ticker (AAPL), CIK or company name."
}
},
"additionalProperties": false
}List periods whose value changed in a later filing, with first and latest values, % change and cause (stock splits left out by default). Omit concept to scan everything.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Default 25, newest first. |
| since | string | Only periods ending on or after. |
| offset | integer | next_offset from the last page. |
| company* | string | Ticker (AAPL), CIK or company name. |
| concept | string | Default: every concept. |
| periods | string | annual (default), quarterly, or all (adds year-to-date). |
| include_splits | boolean | Also list stock-split changes; default false. |
| min_change_pct | number | Minimum absolute change, % of first value. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 400,
"minimum": 1,
"description": "Default 25, newest first."
},
"since": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Only periods ending on or after."
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "next_offset from the last page."
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Ticker (AAPL), CIK or company name."
},
"concept": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Default: every concept."
},
"periods": {
"enum": [
"annual",
"quarterly",
"all"
],
"type": "string",
"description": "annual (default), quarterly, or all (adds year-to-date)."
},
"include_splits": {
"type": "boolean",
"description": "Also list stock-split changes; default false."
},
"min_change_pct": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Minimum absolute change, % of first value."
}
},
"additionalProperties": false
}List every filing that reported one period of one measure, oldest first: the revision history behind a number.
| Argument | Type | Description |
|---|---|---|
| end* | string | Period end. |
| unit | string | Default: the unit with most periods. |
| start | string | Period start, when several periods share the end (quarter vs year-to-date). |
| company* | string | Ticker (AAPL), CIK or company name. |
| concept* | string | Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"concept",
"end"
],
"properties": {
"end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Period end."
},
"unit": {
"type": "string",
"maxLength": 40,
"minLength": 1,
"description": "Default: the unit with most periods."
},
"start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Period start, when several periods share the end (quarter vs year-to-date)."
},
"company": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Ticker (AAPL), CIK or company name."
},
"concept": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Plain name (revenue, eps_diluted, assets; follows tag changes) or XBRL tag (Revenues)."
}
},
"additionalProperties": false
}