{"openapi":"3.1.0","info":{"title":"TGMCharts API","version":"1.0.0","summary":"Stock fundamentals, derived valuation series, and chart renders for developers and AI agents.","description":"Precomputed daily from company filings and market data — never live-fetched at request time. Missing or not-meaningful values are honest nulls/empties with an `applicability` explanation; nothing is zero-filled or fabricated. Free tier: no key required, CORS-open; attribution required (\"data by TGMCharts\", linking tgmcharts.com). Optional API keys (Authorization: Bearer tgm_live_…, minted at https://tgmcharts.com/developers/keys) unlock tier quotas with exact metering (units: JSON call = 1, chart render = 5, MCP tool call = 2; X-RateLimit-* headers on keyed responses; 401 on a bad key, 429 with Retry-After when a quota is exhausted). Please cache responses for at least an hour — data changes at most daily. MCP endpoint for AI agents: POST https://tgmcharts.com/api/v1/mcp (streamable HTTP, stateless). Docs: https://tgmcharts.com/developers","termsOfService":"https://tgmcharts.com/terms","contact":{"url":"https://tgmcharts.com/contact"}},"servers":[{"url":"https://tgmcharts.com"}],"security":[{},{"apiKey":[]}],"paths":{"/api/v1/summary/{symbol}":{"get":{"operationId":"getStockSummary","summary":"Compact per-stock summary (~5 KB): identity, latest close, valuation, margins, dividends, CAGRs.","parameters":[{"name":"symbol","in":"path","required":true,"description":"Ticker symbol (US-listed stocks and ETFs; ~800+ covered, self-onboarding).","schema":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9.-]{0,9}$"}}],"responses":{"200":{"description":"Self-describing summary JSON with as-of dates and applicability notes.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Symbol not covered (includes an onboarding hint).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/series/{symbol}/{metric}":{"get":{"operationId":"getMetricSeries","summary":"Historical series for a TGMCharts-computed metric (JSON or CSV).","description":"Serves the derived-data tier only (daily valuation/yield lines, rolling TTM flows, quarterly margins). Statement-level series are available as chart renders until the EDGAR-sourced fundamentals lane ships.","parameters":[{"name":"symbol","in":"path","required":true,"description":"Ticker symbol (US-listed stocks and ETFs; ~800+ covered, self-onboarding).","schema":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9.-]{0,9}$"}},{"name":"metric","in":"path","required":true,"description":"Series-tier metric slug.","schema":{"type":"string","enum":["pe-ratio","ps-ratio","pb-ratio","pfcf-ratio","pocf-ratio","ev-ebitda","ev-ebit","ev-sales","ev-fcf","ev-assets","earnings-yield","fcf-yield","ebitda-yield","ocf-yield","dividend-yield","total-return","roic","revenue-ttm","net-income-ttm","fcf-ttm","ebitda-ttm","capex-ttm","buybacks-ttm","sbc-ttm","rd-ttm","gross-margin-quarterly","operating-margin-quarterly","net-margin-quarterly"]}},{"name":"years","in":"query","required":false,"description":"Trailing window in years (2–20). Series default: the full stored history. Chart defaults: 20 for daily lines, 10 for annual bars, 3 for quarterly/TTM.","schema":{"type":"integer","minimum":2,"maximum":20}},{"name":"period","in":"query","required":false,"description":"Basis alias: when a metric has a sibling of this basis (e.g. revenue + ttm), the request 308-redirects to the canonical per-basis slug (revenue-ttm).","schema":{"type":"string","enum":["annual","quarterly","ttm","daily"]}},{"name":"format","in":"query","required":false,"description":"json (default) or csv (date,value rows with provenance comments).","schema":{"type":"string","enum":["json","csv"]}}],"responses":{"200":{"description":"Series with methodology and as-of. Sector-hard-gated metrics return points: null with an applicability explanation; empty histories return [] with a note — honest states, never fabricated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeriesResponse"}},"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"Unknown query key or out-of-range value.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"A presented API key is malformed, unknown, or revoked (keys are optional — omit the header for anonymous free-tier access).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Symbol not covered, or metric not in the series tier (payload lists valid slugs).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Keyed: the account's tier quota is exhausted (Retry-After = window reset). Anonymous: edge/render rate limits.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/charts/{symbol}/{metric}":{"get":{"operationId":"getMetricChart","summary":"1600×900 PNG chart render of a metric's history, in TGMCharts' chart style.","description":"Embeds directly in <img> tags and agent outputs. The TGMCharts chrome (wordmark, as-of footer) is the attribution and is not removable on the free tier. Sector-gated or empty histories render an honest explanation card (200) so embeds degrade gracefully.","parameters":[{"name":"symbol","in":"path","required":true,"description":"Ticker symbol (US-listed stocks and ETFs; ~800+ covered, self-onboarding).","schema":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9.-]{0,9}$"}},{"name":"metric","in":"path","required":true,"description":"Chart-tier metric slug.","schema":{"type":"string","enum":["pe-ratio","ps-ratio","pb-ratio","pfcf-ratio","pocf-ratio","ev-ebitda","ev-ebit","ev-sales","ev-fcf","ev-assets","earnings-yield","fcf-yield","ebitda-yield","ocf-yield","dividend-yield","total-return","roic","revenue-ttm","net-income-ttm","fcf-ttm","ebitda-ttm","capex-ttm","buybacks-ttm","sbc-ttm","rd-ttm","gross-margin-quarterly","operating-margin-quarterly","net-margin-quarterly","revenue","net-income","eps","free-cash-flow","ebitda","capex","buybacks","stock-based-comp","r-and-d","gross-margin","operating-margin","profit-margin","roe","roa","revenue-quarterly","net-income-quarterly","eps-quarterly","fcf-quarterly"]}},{"name":"years","in":"query","required":false,"description":"Trailing window in years (2–20). Series default: the full stored history. Chart defaults: 20 for daily lines, 10 for annual bars, 3 for quarterly/TTM.","schema":{"type":"integer","minimum":2,"maximum":20}},{"name":"period","in":"query","required":false,"description":"Basis alias: when a metric has a sibling of this basis (e.g. revenue + ttm), the request 308-redirects to the canonical per-basis slug (revenue-ttm).","schema":{"type":"string","enum":["annual","quarterly","ttm","daily"]}},{"name":"compare","in":"query","required":false,"description":"Second ticker for grouped comparison bars (bar-chart metrics only; both series must be loss-free).","schema":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9.-]{0,9}$"}}],"responses":{"200":{"description":"PNG image.","content":{"image/png":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Unknown query key, out-of-range value, or invalid compare.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"A presented API key is malformed, unknown, or revoked (keys are optional — omit the header for anonymous free-tier access).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Symbol not covered or unknown metric.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Keyed: the account's tier quota is exhausted (Retry-After = window reset). Anonymous: edge/render rate limits.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/mcp":{"post":{"operationId":"mcp","summary":"Model Context Protocol endpoint (streamable HTTP, stateless) for AI agents.","description":"JSON-RPC 2.0 over POST. Tools: get_stock_summary, list_metrics, get_metric_series, get_chart, compare_stocks, screen_stocks. Connect from Claude Code: `claude mcp add --transport http tgmcharts https://tgmcharts.com/api/v1/mcp`.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"JSON-RPC response.","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"tgm_live_…","description":"Optional developer API key (also accepted as an x-api-key header). Mint at https://tgmcharts.com/developers/keys. Keyed requests are metered against the account's tier quota and bypass the shared edge cache."}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"hint":{"type":"string"}},"required":["error"]},"SeriesPoint":{"type":"object","properties":{"date":{"type":"string","format":"date"},"value":{"type":"number"}},"required":["date","value"]},"SeriesResponse":{"type":"object","properties":{"symbol":{"type":"string"},"name":{"type":["string","null"]},"metric":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string","enum":["usd","usdPerShare","percent","ratio"]},"basis":{"type":"string","enum":["daily","annual","quarterly","ttm"]},"methodology":{"type":"string"},"asOf":{"type":["string","null"]},"years":{"type":["integer","null"]},"points":{"description":"null = intentionally withheld (sector-inappropriate); [] = no stored history (honest gap).","oneOf":[{"type":"array","items":{"$ref":"#/components/schemas/SeriesPoint"}},{"type":"null"}]},"applicability":{"oneOf":[{"type":"string","const":"applicable"},{"type":"object","properties":{"tone":{"type":"string","enum":["hard","soft"]},"message":{"type":"string"}},"required":["tone","message"]}]},"note":{"type":"string"},"links":{"type":"object"}},"required":["symbol","metric","label","unit","basis","methodology","points","applicability"]}}},"x-tgmcharts-metrics":[{"slug":"pe-ratio","label":"P/E Ratio","description":"Price to trailing-twelve-month diluted earnings per share.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"ps-ratio","label":"P/S Ratio","description":"Price to trailing-twelve-month revenue per share.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"pb-ratio","label":"P/B Ratio","description":"Price to book value per share.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"pfcf-ratio","label":"P/FCF Ratio","description":"Price to trailing-twelve-month free cash flow per share.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"pocf-ratio","label":"P/OCF Ratio","description":"Price to trailing-twelve-month operating cash flow per share.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"ev-ebitda","label":"EV/EBITDA","description":"Enterprise value to trailing-twelve-month EBITDA (TGMCharts clean-EBITDA basis: operating income plus depreciation & amortization).","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"ev-ebit","label":"EV/EBIT","description":"Enterprise value to trailing-twelve-month operating income.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"ev-sales","label":"EV/Sales","description":"Enterprise value to trailing-twelve-month revenue.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"ev-fcf","label":"EV/FCF","description":"Enterprise value to trailing-twelve-month free cash flow.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"ev-assets","label":"EV/Assets","description":"Enterprise value to total assets.","unit":"ratio","basis":"daily","methodology":"Daily close-density series computed by TGMCharts: price (or enterprise value derived from it) over the rolling trailing-twelve-month denominator, stepped on each quarterly filing date. Loss/undefined windows are honest gaps, never zero-filled.","series":true,"chart":true},{"slug":"earnings-yield","label":"Earnings Yield","description":"Trailing-twelve-month earnings per share over price (inverse P/E), in percent.","unit":"percent","basis":"daily","methodology":"Daily close-density inverse-multiple series computed by TGMCharts from the same rolling trailing-twelve-month inputs, stepped on each quarterly filing date.","series":true,"chart":true},{"slug":"fcf-yield","label":"FCF Yield","description":"Trailing-twelve-month free cash flow over market cap, in percent.","unit":"percent","basis":"daily","methodology":"Daily close-density inverse-multiple series computed by TGMCharts from the same rolling trailing-twelve-month inputs, stepped on each quarterly filing date.","series":true,"chart":true},{"slug":"ebitda-yield","label":"EBITDA Yield","description":"Trailing-twelve-month EBITDA over enterprise value (inverse EV/EBITDA), in percent.","unit":"percent","basis":"daily","methodology":"Daily close-density inverse-multiple series computed by TGMCharts from the same rolling trailing-twelve-month inputs, stepped on each quarterly filing date.","series":true,"chart":true},{"slug":"ocf-yield","label":"OCF Yield","description":"Trailing-twelve-month operating cash flow over market cap (inverse P/OCF), in percent.","unit":"percent","basis":"daily","methodology":"Daily close-density inverse-multiple series computed by TGMCharts from the same rolling trailing-twelve-month inputs, stepped on each quarterly filing date.","series":true,"chart":true},{"slug":"dividend-yield","label":"Dividend Yield","description":"Trailing dividends over price, in percent, at daily density.","unit":"percent","basis":"daily","methodology":"Computed by TGMCharts from the dividend event history over daily closes (trailing-twelve-month basis).","series":true,"chart":true},{"slug":"total-return","label":"Total Return","description":"Growth of an investment with dividends reinvested on their payment dates.","unit":"usd","basis":"daily","methodology":"Total-return index computed by TGMCharts from daily closes with dividends reinvested (lib/calculations/total-return).","series":true,"chart":true},{"slug":"roic","label":"ROIC","description":"Return on invested capital, in percent.","unit":"percent","basis":"daily","methodology":"TGMCharts in-house ROIC: after-tax operating profit over invested capital (total assets less non-interest-bearing current liabilities); sector-gated where the definition is not meaningful.","series":true,"chart":true},{"slug":"revenue-ttm","label":"Revenue (TTM)","description":"Rolling trailing-twelve-month revenue at quarterly density.","unit":"usd","basis":"ttm","methodology":"Rolling four-quarter sum computed by TGMCharts from as-reported quarters; a point exists only when four contiguous quarters are available. Outflow metrics store the absolute net four-quarter sum.","series":true,"chart":true},{"slug":"net-income-ttm","label":"Net Income (TTM)","description":"Rolling trailing-twelve-month net income at quarterly density.","unit":"usd","basis":"ttm","methodology":"Rolling four-quarter sum computed by TGMCharts from as-reported quarters; a point exists only when four contiguous quarters are available. Outflow metrics store the absolute net four-quarter sum.","series":true,"chart":true},{"slug":"fcf-ttm","label":"Free Cash Flow (TTM)","description":"Rolling trailing-twelve-month free cash flow at quarterly density.","unit":"usd","basis":"ttm","methodology":"Rolling four-quarter sum computed by TGMCharts from as-reported quarters; a point exists only when four contiguous quarters are available. Outflow metrics store the absolute net four-quarter sum.","series":true,"chart":true},{"slug":"ebitda-ttm","label":"EBITDA (TTM)","description":"Rolling trailing-twelve-month clean EBITDA (operating income plus D&A) at quarterly density.","unit":"usd","basis":"ttm","methodology":"Rolling four-quarter sum computed by TGMCharts from as-reported quarters; a point exists only when four contiguous quarters are available. Outflow metrics store the absolute net four-quarter sum.","series":true,"chart":true},{"slug":"capex-ttm","label":"Capital Expenditure (TTM)","description":"Rolling trailing-twelve-month capital expenditure (absolute outflow) at quarterly density.","unit":"usd","basis":"ttm","methodology":"Rolling four-quarter sum computed by TGMCharts from as-reported quarters; a point exists only when four contiguous quarters are available. Outflow metrics store the absolute net four-quarter sum.","series":true,"chart":true},{"slug":"buybacks-ttm","label":"Buybacks (TTM)","description":"Rolling trailing-twelve-month common stock repurchases (absolute net outflow) at quarterly density.","unit":"usd","basis":"ttm","methodology":"Rolling four-quarter sum computed by TGMCharts from as-reported quarters; a point exists only when four contiguous quarters are available. Outflow metrics store the absolute net four-quarter sum.","series":true,"chart":true},{"slug":"sbc-ttm","label":"Stock-Based Compensation (TTM)","description":"Rolling trailing-twelve-month stock-based compensation at quarterly density.","unit":"usd","basis":"ttm","methodology":"Rolling four-quarter sum computed by TGMCharts from as-reported quarters; a point exists only when four contiguous quarters are available. Outflow metrics store the absolute net four-quarter sum.","series":true,"chart":true},{"slug":"rd-ttm","label":"R&D Expense (TTM)","description":"Rolling trailing-twelve-month research & development expense at quarterly density.","unit":"usd","basis":"ttm","methodology":"Rolling four-quarter sum computed by TGMCharts from as-reported quarters; a point exists only when four contiguous quarters are available. Outflow metrics store the absolute net four-quarter sum.","series":true,"chart":true},{"slug":"gross-margin-quarterly","label":"Gross Margin (Quarterly)","description":"Gross margin per fiscal quarter, in percent.","unit":"percent","basis":"quarterly","methodology":"Computed by TGMCharts per fiscal quarter from statement line items (profit measure over revenue); sign preserved for loss quarters.","series":true,"chart":true},{"slug":"operating-margin-quarterly","label":"Operating Margin (Quarterly)","description":"Operating margin per fiscal quarter, in percent.","unit":"percent","basis":"quarterly","methodology":"Computed by TGMCharts per fiscal quarter from statement line items (profit measure over revenue); sign preserved for loss quarters.","series":true,"chart":true},{"slug":"net-margin-quarterly","label":"Net Margin (Quarterly)","description":"Net margin per fiscal quarter, in percent.","unit":"percent","basis":"quarterly","methodology":"Computed by TGMCharts per fiscal quarter from statement line items (profit measure over revenue); sign preserved for loss quarters.","series":true,"chart":true},{"slug":"revenue","label":"Revenue","description":"Annual revenue by fiscal year.","unit":"usd","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"quarterly":"revenue-quarterly","ttm":"revenue-ttm"}},{"slug":"net-income","label":"Net Income","description":"Annual net income by fiscal year.","unit":"usd","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"quarterly":"net-income-quarterly","ttm":"net-income-ttm"}},{"slug":"eps","label":"EPS","description":"Annual basic earnings per share by fiscal year.","unit":"usdPerShare","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"quarterly":"eps-quarterly"}},{"slug":"free-cash-flow","label":"Free Cash Flow","description":"Annual free cash flow by fiscal year.","unit":"usd","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"quarterly":"fcf-quarterly","ttm":"fcf-ttm"}},{"slug":"ebitda","label":"EBITDA","description":"Annual clean EBITDA (operating income plus D&A) by fiscal year.","unit":"usd","basis":"annual","methodology":"Annual clean-EBITDA series computed by TGMCharts (operating income plus depreciation & amortization — never the vendor's derived EBITDA field).","series":false,"chart":true,"variants":{"ttm":"ebitda-ttm"}},{"slug":"capex","label":"Capital Expenditure","description":"Annual capital expenditure by fiscal year (absolute outflow).","unit":"usd","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"ttm":"capex-ttm"}},{"slug":"buybacks","label":"Buybacks","description":"Annual common stock repurchases by fiscal year (absolute outflow).","unit":"usd","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"ttm":"buybacks-ttm"}},{"slug":"stock-based-comp","label":"Stock-Based Compensation","description":"Annual stock-based compensation by fiscal year.","unit":"usd","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"ttm":"sbc-ttm"}},{"slug":"r-and-d","label":"R&D Expense","description":"Annual research & development expense by fiscal year.","unit":"usd","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"ttm":"rd-ttm"}},{"slug":"gross-margin","label":"Gross Margin","description":"Annual gross margin by fiscal year, in percent.","unit":"percent","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"quarterly":"gross-margin-quarterly"}},{"slug":"operating-margin","label":"Operating Margin","description":"Annual operating margin by fiscal year, in percent.","unit":"percent","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"quarterly":"operating-margin-quarterly"}},{"slug":"profit-margin","label":"Profit Margin","description":"Annual net margin by fiscal year, in percent.","unit":"percent","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true,"variants":{"quarterly":"net-margin-quarterly"}},{"slug":"roe","label":"Return on Equity","description":"Annual return on equity by fiscal year, in percent.","unit":"percent","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true},{"slug":"roa","label":"Return on Assets","description":"Annual return on assets by fiscal year, in percent.","unit":"percent","basis":"annual","methodology":"Annual fiscal-year values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true},{"slug":"revenue-quarterly","label":"Revenue (Quarterly)","description":"Single-quarter revenue, as reported.","unit":"usd","basis":"quarterly","methodology":"Single-quarter as-reported values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true},{"slug":"net-income-quarterly","label":"Net Income (Quarterly)","description":"Single-quarter net income, as reported.","unit":"usd","basis":"quarterly","methodology":"Single-quarter as-reported values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true},{"slug":"eps-quarterly","label":"EPS (Quarterly)","description":"Single-quarter basic earnings per share, as reported.","unit":"usdPerShare","basis":"quarterly","methodology":"Single-quarter as-reported values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true},{"slug":"fcf-quarterly","label":"Free Cash Flow (Quarterly)","description":"Single-quarter free cash flow, as reported.","unit":"usd","basis":"quarterly","methodology":"Single-quarter as-reported values from company financial statements (vendor-sourced). Available as chart renders; JSON egress arrives with the EDGAR-sourced fundamentals lane.","series":false,"chart":true}]}