Fundamentals
Public company financials, SEC EDGAR filings, institutional ownership, and growth metrics — cached, validated, and ready for instant AI analysis. Built on 200+ years of audited earnings data from the SEC, WRDS, and real-time market snapshots.
What's inside#
| Dimension | Coverage | Source |
|---|---|---|
| Financial statements | Income statements, balance sheets, cash flow statements (quarterly / annual / TTM) | SEC EDGAR + Polygon + Finnhub |
| Metrics & ratios | P/E, ROE, margins, FCF yield, debt-to-equity, current ratio, DPS, growth rates | Polygon / Finnhub calculated |
| Company facts | Sector, industry, CIK, exchange, employees, founded year, website | Polygon company info |
| Price history | Daily / weekly / monthly OHLCV bars (intraday via vendor) | Polygon + vendor fundamentals feed |
| Screener | Multi-factor stock filter: profitability, growth, health, dividend filters | FundamentalsAPI universe |
| As-reported XBRL | Point-in-time company facts — every concept a filer has reported, each tagged with the filed date; ?as_of= serves the number that was public on a given date, restatements excluded | In-house SEC EDGAR companyfacts corpus (19,288 CIKs) |
| Business segments | Revenue, sales and operating income by line of business, geography, ASC-280 operating segment and US state | Compustat Business Information File (WRDS, 2.8M rows / 29,934 GVKEYs) |
Access#
1 credit/call | Free and up
The fundamentals product is available on Free plan and all paid tiers (Starter, Pro, Enterprise). Every call debits 1 credit from your wallet.
Endpoints#
| Method | Path | Description |
|---|---|---|
GET | /api/v3/fundamentals/company_full/{ticker} | Full company snapshot: company info + TTM + ratios + growth + balance |
GET | /api/v3/fundamentals/income_statements | Income statements (quarterly / annual / TTM) |
GET | /api/v3/fundamentals/balance_sheets | Balance sheets (quarterly / annual) |
GET | /api/v3/fundamentals/cash_flow_statements | Cash-flow statements (quarterly / annual) |
GET | /api/v3/fundamentals/all | All three statements in one call (income + balance + cash flow) |
GET | /api/v3/fundamentals/metrics | Financial metrics by period (P/E, ROE, margins, FCF yield, etc.) |
GET | /api/v3/fundamentals/screener | Multi-filter stock screener (profitability, growth, health, dividend filters) |
GET | /api/v3/fundamentals/companyfacts/{ticker} | Discover the as-reported XBRL concepts a company has filed (taxonomy, units, observation count, first/last period) from our in-house SEC EDGAR companyfacts corpus. ?search= substring-filters the concept tag; ?limit= (1–2000, default 400) |
GET | /api/v3/fundamentals/xbrl/{ticker}/{concept} | One XBRL concept's point-in-time, as-reported history. ?as_of=YYYY-MM-DD returns only values filed on or before that date (excludes later restatements — the anti-look-ahead knob); ?history=true shows every original + restated filing. Filters: taxonomy, unit, form, start, end |
GET | /api/v3/fundamentals/segments/{ticker} | Compustat business + geographic segment breakdown: sales, revenue and operating income by line of business (BUSSEG), region (GEOSEG), ASC-280 operating segment (OPSEG) and US state (STSEG). ?year= / ?date= page history; ?stype= filters to one segment type. Latest-available if unspecified |
Examples#
Example 1: Get a full company snapshot#
Retrieve a complete fundamentals snapshot for Apple in one call.
1curl -H "Authorization: Bearer $TENGU_API_KEY" \2 "https://firm.tengu.co/api/v3/fundamentals/company_full/AAPL"3 4# Response structure:5# {6# "ok": true,7# "timestamp": "2024-12-16T14:22:00Z",8# "ticker": "AAPL",9# "data": {10# "company_info": { "name": "Apple Inc.", "sector": "Technology", "employees": 164000, ... },11# "income_statement": { "revenue": 394328000000, "net_income": 96995000000, ... },12# "balance_sheet": { "total_assets": 352755000000, "total_liabilities": 115489000000, ... },13# "cash_flow": { "operating_cf": 110543900000, "capex": 10900000000, ... },14# "ttm": { "revenue": 394328000000, "eps": 6.05, ... },15# "ratios": { "pe_ratio": 28.5, "roe": 0.95, "debt_to_equity": 2.16, ... },16# "growth": { "revenue_growth": 0.021, "eps_growth": 0.045, ... }17# }18# }1import os, requests2 3r = requests.get(4 "https://firm.tengu.co/api/v3/fundamentals/company_full/AAPL",5 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},6 timeout=30,7)8r.raise_for_status()9data = r.json()10company = data["data"]11print(f"{data['ticker']}: {company['company_info']['name']}")12print(f"Revenue (TTM): ${company['ttm']['revenue'] / 1e9:.1f}B")13print(f"P/E: {company['ratios']['pe_ratio']}")14print(f"Revenue growth: {company['growth']['revenue_growth'] * 100:.1f}%")Example 2: Screen stocks by multiple factors#
Find stocks with ROE > 15%, revenue growth > 10%, and dividend growth streak > 10 years.
1curl -H "Authorization: Bearer $TENGU_API_KEY" \2 "https://firm.tengu.co/api/v3/fundamentals/screener?roe_min=0.15&revenue_growth_min=0.10&years_dividend_growth_min=10&limit=50"3 4# Response structure:5# {6# "ok": true,7# "timestamp": "2024-12-16T14:22:15Z",8# "filters": {9# "roe_min": 0.15,10# "revenue_growth_min": 0.10,11# "years_dividend_growth_min": 1012# },13# "sort_by": null,14# "sort_order": "desc",15# "items": [16# {17# "ticker": "JNJ",18# "name": "Johnson & Johnson",19# "sector": "Healthcare",20# "roe": 0.32,21# "revenue_growth": 0.089,22# "dividend_growth_streak": 62,23# "payout_ratio": 0.61,24# "pe_ratio": 24.1,25# ...26# },27# {28# "ticker": "PG",29# "name": "Procter & Gamble",30# "sector": "Consumer Staples",31# "roe": 0.28,32# "revenue_growth": 0.052,33# "dividend_growth_streak": 67,34# "payout_ratio": 0.65,35# "pe_ratio": 25.3,36# ...37# }38# ]39# }1import os, requests2 3r = requests.get(4 "https://firm.tengu.co/api/v3/fundamentals/screener",5 params={6 "roe_min": 0.15,7 "revenue_growth_min": 0.10,8 "years_dividend_growth_min": 10,9 "limit": 50,10 },11 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},12 timeout=30,13)14r.raise_for_status()15results = r.json()16print(f"Found {len(results['items'])} Dividend Aristocrats with strong growth")17for stock in results["items"][:5]:18 print(f" {stock['ticker']}: ROE {stock['roe']:.1%}, "19 f"Div streak {stock['dividend_growth_streak']} years")Example 3: Point-in-time, as-reported XBRL (no restatement look-ahead)#
Vendors serve restated numbers — the value a period shows today after later revisions — which bakes look-ahead bias into any backtest. Our XBRL corpus carries the filed date on every fact, so ?as_of= returns exactly what was public on a given date. First discover the concept tag, then query it as-of a historical date.
1# 1. Discover the XBRL concepts Apple has filed (filter to net income)2curl -H "Authorization: Bearer $TENGU_API_KEY" \3 "https://firm.tengu.co/api/v3/fundamentals/companyfacts/AAPL?search=netincome"4 5# Response structure:6# {7# "ok": true,8# "timestamp": "2024-12-16T14:22:00Z",9# "ticker": "AAPL",10# "cik": 320193,11# "entity_name": "Apple Inc.",12# "n_concepts": 2,13# "concepts": [14# {15# "taxonomy": "us-gaap",16# "concept": "NetIncomeLoss",17# "label": "Net Income (Loss) Attributable to Parent",18# "units": ["USD"],19# "n_observations": 112,20# "first_period": "2008-09-27",21# "last_period": "2024-09-28"22# },23# { ... }24# ],25# "source": "warehouse:edgar/companyfacts"26# }27 28# 2. Net income AS IT WAS PUBLIC on 2020-02-01 — no later restatement leaks in29curl -H "Authorization: Bearer $TENGU_API_KEY" \30 "https://firm.tengu.co/api/v3/fundamentals/xbrl/AAPL/NetIncomeLoss?form=10-K&as_of=2020-02-01"31 32# Response structure:33# {34# "ok": true,35# "timestamp": "2024-12-16T14:22:10Z",36# "ticker": "AAPL",37# "cik": 320193,38# "entity_name": "Apple Inc.",39# "taxonomy": "us-gaap",40# "concept": "NetIncomeLoss",41# "units_available": ["USD"],42# "as_of": "2020-02-01",43# "mode": "latest_per_period",44# "n": 2,45# "rows": [46# {47# "unit": "USD",48# "start": "2018-09-30",49# "end": "2019-09-28",50# "val": 55256000000,51# "fy": 2019,52# "fp": "FY",53# "form": "10-K",54# "filed": "2019-10-31",55# "accn": "0000320193-19-000119",56# "frame": "CY2019"57# },58# { ... }59# ],60# "source": "warehouse:edgar/companyfacts"61# }1import os, requests2 3# Pull a concept as-of a historical date (point-in-time, as-reported)4r = requests.get(5 "https://firm.tengu.co/api/v3/fundamentals/xbrl/AAPL/NetIncomeLoss",6 params={"form": "10-K", "as_of": "2020-02-01"},7 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},8 timeout=30,9)10r.raise_for_status()11data = r.json()12for row in data["rows"]:13 print(f"FY{row['fy']} ({row['end']}): ${row['val'] / 1e9:.1f}B "14 f"— filed {row['filed']} on {row['form']}")Example 4: Business & geographic segments#
See where a company earns — revenue mix by region and by line of business — from the Compustat Business Information File. The WRDS archive lags by a few quarters, so with no year/date the latest available period is returned and the datadate served is reported.
1# Latest available segment breakdown for Apple2curl -H "Authorization: Bearer $TENGU_API_KEY" \3 "https://firm.tengu.co/api/v3/fundamentals/segments/AAPL"4 5# Response structure (abbreviated):6# {7# "ok": true,8# "timestamp": "2024-12-16T14:22:20Z",9# "ticker": "AAPL",10# "gvkey": "001690",11# "company_name": "APPLE INC",12# "datadate": "2023-09-30",13# "fiscal_year": 2023,14# "mode": "latest_available",15# "currency": "USD",16# "n_segments": 9,17# "truncated": false,18# "segment_type_legend": {19# "BUSSEG": "business segment — line of business",20# "GEOSEG": "geographic segment — region"21# },22# "segments": {23# "GEOSEG": [24# { "segment_id": "01", "name": "Americas", "sales": 162560.0, "revenue": 162560.0,25# "operating_income": 60508.0, "geographic_type_code": "2", "geographic_type": null,26# "currency": "USD", "datadate": "2023-09-30" },27# { "segment_id": "03", "name": "Greater China", "sales": 72559.0, "revenue": 72559.0,28# "operating_income": 30328.0, "geographic_type_code": "3", "geographic_type": "non_domestic",29# "currency": "USD", "datadate": "2023-09-30" }30# ],31# "BUSSEG": [32# { "segment_id": "01", "name": "iPhone", "sales": 200583.0, "revenue": 200583.0, ... }33# ]34# },35# "available_datadates": ["...", "2022-09-30", "2023-09-30"],36# "source": "warehouse:bronze.compustat_segments"37# }Related#
- API reference — every endpoint and parameter.
- Pricing & credits — how credits work, tiers, and per-plan access.
- Public filings — SEC filing search and document retrieval.