Company KPI API: Segment Revenue and Non-GAAP Metrics From Earnings Filings
The Company KPI API returns the operating metrics a company reports about itself, such as iPhone revenue, AWS revenue, or Tesla deliveries, as quarterly time series with a filing citation on every series, for more than 900 US-listed companies.
Financial statements tell you what every company reports. KPIs tell you what this company reports: the segment revenues, unit counts, and non-GAAP figures that management puts at the top of its own press release, because those are the numbers the stock trades on.
The SentiSense Company KPI API returns those metrics as quarterly time series, curated per company from earnings filings and press releases, with a source citation on every series. Coverage is near-complete for the S&P 500 and extends to more than 900 US-listed companies.
What does the Company KPI API return?
One call per ticker, at /api/v1/stocks/{ticker}/kpis, returns every curated series for that company. Each series carries an id, a display name, a category, a unit, a rendering hint, a chart type, a sourceRef citation, and its values, newest first.
curl -H "X-SentiSense-API-Key: ss_live_YOUR_KEY" \
"https://app.sentisense.ai/api/v1/stocks/AAPL/kpis"
{
"id": "iphone_revenue",
"name": "iPhone Revenue",
"category": "product_revenue",
"unit": "USD",
"displayFormat": "currency_abbreviated",
"values": [
{ "period": "Q3 FY2026", "date": "2026-06-27", "value": 54252000000 },
{ "period": "Q2 FY2026", "date": "2026-03-29", "value": 56991000000 }
],
"sourceRef": "Apple 8-K Q3 FY2026 press release (Jun 27, 2026)"
}
The same shape covers very different businesses. Tesla's series include vehicle deliveries (480,126 in Q2 2026) and energy storage deployed in GWh. Amazon's include AWS revenue ($42.2B in Q2 2026) and advertising revenue. NVIDIA's include data center revenue ($89.0B in Q2 FY2027). Alongside the company-specific metrics, each ticker carries the GAAP anchors pulled from XBRL: gross profit, operating income, diluted EPS, R&D expense.
How do I find which companies have KPI coverage?
Enumerate, do not probe. Tickers without curated coverage return 404 Not Found, so a client should start from the coverage list rather than trying tickers one at a time.
curl -H "X-SentiSense-API-Key: ss_live_YOUR_KEY" \
"https://app.sentisense.ai/api/v1/stocks/with-kpis"
It returns every covered ticker with its company name, series count, and last refresh date. A second discovery call, /api/v1/stocks/{ticker}/kpis/types, lists one company's series metadata without the data payload. Both discovery calls require an API key but do not consume monthly quota, so a client can refresh the shape of its universe freely and reserve the full series call for the tickers a user is actually looking at.
How do I read a KPI data point?
Four rules keep the numbers honest:
- Periods are fiscal.
periodis the company's own label anddateis the ISO close of that period. Apple's Q3 FY2026 closed on June 27, 2026. Sort ondate, label withperiod, and never assume two companies' quarters line up. - Units live on the series.
valueis a raw number;uniton the parent series says whether it is USD, vehicles, GWh, or subscribers. - Series end when companies stop reporting. Netflix stopped disclosing paid memberships after Q4 2024 (301.6 million global). Its membership series are still served for history, flagged
discontinued: true, so a dashboard can keep the chart without waiting for a print that is not coming. - Every series cites its filing.
sourceRefnames the 8-K, press release, or XBRL concept the numbers came from. When a user asks where a figure originated, that string is the answer.
Python and Node
Both SDKs expose the three calls with typed responses.
from sentisense import SentiSenseClient
client = SentiSenseClient(api_key="ss_live_YOUR_KEY")
coverage = client.list_kpi_coverage()
kpis = client.get_company_kpis("TSLA").data
deliveries = next(k for k in kpis.kpis if k.id == "vehicle_deliveries")
latest, prior = deliveries.values[0], deliveries.values[1]
print(f"{latest.period}: {latest.value:,.0f} ({latest.value / prior.value - 1:+.1%} q/q)")
import { SentiSense } from "sentisense";
const client = new SentiSense({ apiKey: "ss_live_YOUR_KEY" });
const { data } = await client.stocks.getKpis("AMZN");
const aws = data.kpis.find((k) => k.id === "aws_revenue");
console.log(aws?.values[0]);
What is free
Every call requires an API key. On a free key the series call returns the company metadata with an empty kpis list, and the types endpoint still lists every series the company has, which is enough to show what exists. PRO returns the full series for every covered ticker.
Teams that need broader coverage commitments or higher throughput can license the data under an Enterprise agreement; write to support@sentisense.ai.
Coding agents can skip the wiring. The company-kpi-tracker skill teaches an agent the fiscal-period matching, the delta and acceleration arithmetic, and the flags that change how a series should be read, and it ships a table helper you can run locally. Install it from ClawHub:
npx clawhub@latest install @thesentitrader/company-kpi-tracker
Start here:
- API reference: sentisense.ai/docs/api/stocks
- Full agent skill: sentisense.ai/skill.md
No sign-up required to read the docs. Get an API key and pull your first series →
SentiSense is a product of SentiSense Labs LLC. KPI series restate figures from public company filings for informational purposes only, not investment advice.