Public Filings

Access SEC EDGAR filing index and structured extracts for any ticker. Get filing metadata, balance-sheet / cash-flow summaries, and shares-outstanding trends from SEC filings (10-K, 10-Q, 8-K, S-1, etc.).

What's inside#

This product delivers two complementary endpoints:

Filing Index (/api/v3/fundamentals/sec_filings) — browse a company's recent filing history with filing date, type, and metadata. Covers all public US companies in EDGAR.

Filing Extract (/api/v3/sec/filing/{ticker}/{filing_type}) — structured extracts from the most recent SEC filing of a given type. Returns balance-sheet summary (assets, liabilities, equity, cash), cash-flow summary (operating, investing, financing CF + FCF proxy), shares outstanding (basic, diluted, 4Q trend), filing date, filing URL, and accession number. Sources direct from SEC EDGAR JSON API (data.sec.gov).

Access#

1 credit/call. Unlocked in Free and up.

Endpoints#

MethodPathDescription
GET/api/v3/fundamentals/sec_filingsSEC filings index (10-K / 10-Q / 8-K / S-1 / …) with optional form_type filter
GET/api/v3/sec/filing/{ticker}/{filing_type}Structured extracts from most recent SEC filing

Examples#

Bash / curl — fetch the last 10 filings for AAPL, then extract the latest 10-K:

Shell
1export TENGU_API_KEY="tengu_..."2 3# Index: list recent filings4curl -H "Authorization: Bearer $TENGU_API_KEY" \5  "https://firm.tengu.co/api/v3/fundamentals/sec_filings?ticker=AAPL&limit=10"6 7# Extract: get the latest 10-K filing summary8curl -H "Authorization: Bearer $TENGU_API_KEY" \9  "https://firm.tengu.co/api/v3/sec/filing/AAPL/10-K"

Python / requests:

Python
1import os, requests2 3FIRM_BASE = "https://firm.tengu.co"4KEY = os.environ["TENGU_API_KEY"]5headers = {"Authorization": f"Bearer {KEY}"}6 7# Index: list filings8resp = requests.get(9    f"{FIRM_BASE}/api/v3/fundamentals/sec_filings?ticker=AAPL&limit=10",10    headers=headers,11    timeout=30,12)13resp.raise_for_status()14data = resp.json()  # {"ok": true, "timestamp": "...", "ticker": "AAPL", "form_type": null, "items": [...]}15print(f"Found {len(data['items'])} filings")16for filing in data["items"][:3]:17    print(f"  {filing['filing_date']} {filing['form_type']}")18 19# Extract: get filing summary20resp = requests.get(21    f"{FIRM_BASE}/api/v3/sec/filing/AAPL/10-K",22    headers=headers,23    timeout=30,24)25resp.raise_for_status()26extract = resp.json()  # {"ok": true, "timestamp": "...", "balance_sheet_summary": {...}, ...}27print(f"Filing date: {extract.get('filing_date')}")28print(f"Assets: ${extract['balance_sheet_summary'].get('total_assets'):,.0f}")29print(f"FCF proxy: ${extract['cash_flow_summary'].get('free_cash_flow'):,.0f}")