Funds & Institutional
Track institutional positioning, Form-4 insider activity, and smart-money clusters. Real-time access to WRDS 13F deep history (78.6M rows), quarterly position deltas, top shareholders by ticker, and insider transaction feeds.
What's inside#
- 13F SEC filings (quarterly snapshots) — 78.6M+ historical rows from WRDS Thomson Securities Database: fund holdings, manager positioning across all tickers, and quarter-over-quarter position deltas by manager & position size.
- Top shareholders by ticker — per-ticker institutional, fund, and insider holder lists with share counts, positions, and ownership %.
- Form-4 insider activity — live insider transaction feed (acquisitions/sales/option exercises) with insider title, transaction type, share/price/value, cross-ticker scope.
- Smart-money clusters — multi-insider synchronized buying patterns (2+ distinct insiders buying same ticker within 30 days); cluster score + buyer count.
- Mutual-fund ownership — which registered mutual funds hold a given stock, from the CRSP survivor-bias-free mutual-fund holdings archive (308M rows): each fund's position as a percent of its total net assets, share count, and USD market value, largest first. Latest-available quarter-end (the archive lags — coverage 2002-01-31 → 2021-12-31).
All data sourced from WRDS (13F from Thomson Reuters, daily refresh) and Quiver Quant (Form-4 feed, real-time) with fallback sourcing and vendor error handling.
Access#
4 credits/call. Unlocked on Starter and up. (À-la-carte add-on available: +$149/mo.)
Endpoints#
| Method | Path | Description |
|---|---|---|
GET | /api/v3/intel/sec13f | 13F holdings snapshots. Query by ?ticker= and/or ?fund= (substring match); returns {ticker, fund, items, count, source}. |
GET | /api/v3/intel/sec13f/changes | Quarter-over-quarter 13F position deltas. Query by ?ticker= and/or ?fund=; ?min_pct= filters by position size change. Returns {ticker, fund, min_pct, items, count, source}. |
GET | /api/v3/intel/top_shareholders/{ticker} | Top institutional/fund/insider shareholders for a ticker. Returns {ticker, report_date, ownership[], ownership_options[], count, source}. |
GET | /api/v3/intel/insiders | Live Form-4 insider transaction feed (cross-ticker). Query ?ticker= to filter; ?limit= (1–500, default 50). Returns {ticker, items, count, source}. |
GET | /api/insider/clusters | Smart-money clusters: 2+ insiders buying same ticker within 30 days. Returns {clusters[], n, source}. |
GET | /api/smart-money/{ticker} | Smart-money detail for ticker (institutional holder names + positions). Returns {ticker, detail}. |
GET | /api/v3/funds/mutual_fund_ownership/{ticker} | CRSP mutual-fund holders of a stock: each holding fund (crsp_portno, security_name) with its position as a percent of the fund's total net assets (percent_tna), share count and USD market value, largest position first. Latest-available quarter-end (archive lags — coverage 2002 → 2021-12-31); ?date= pages history, ?top= (1–5000) and ?min_market_val= filter. Returns {ticker, report_dt, n_funds, funds, coverage}. |
Examples#
Example 1: Fetch 13F holdings and track position changes#
1# Get the latest 13F holdings for Apple2curl -H "Authorization: Bearer $TENGU_API_KEY" \3 "https://firm.tengu.co/api/v3/intel/sec13f?ticker=AAPL&limit=50"4 5# Response structure:6# {7# "ok": true,8# "timestamp": "2024-12-16T14:22:00Z",9# "ticker": "AAPL",10# "fund": null,11# "items": [12# {13# "fund_name": "Berkshire Hathaway",14# "manager_cik": "0000051143",15# "ticker": "AAPL",16# "shares": 931159500,17# "value_usd": 145678234560,18# "report_date": "2024-09-30",19# "report_quarter": "Q3 2024"20# },21# { ... }22# ],23# "count": 45,24# "source": "warehouse:thomson_13f"25# }26 27# Get position changes (QoQ deltas) for Apple28curl -H "Authorization: Bearer $TENGU_API_KEY" \29 "https://firm.tengu.co/api/v3/intel/sec13f/changes?ticker=AAPL&min_pct=5.0"30 31# Response structure:32# {33# "ok": true,34# "timestamp": "2024-12-16T14:22:15Z",35# "ticker": "AAPL",36# "fund": null,37# "min_pct": 5.0,38# "items": [39# {40# "fund_name": "Bridgewater Associates",41# "manager_cik": "0000824348",42# "ticker": "AAPL",43# "previous_shares": 2000000,44# "current_shares": 2500000,45# "pct_change": 25.0,46# "prev_report_date": "2024-06-30",47# "curr_report_date": "2024-09-30"48# },49# { ... }50# ],51# "count": 12,52# "source": "warehouse:thomson_13f"53# }1import os, requests2 3# Fetch top 13F holders for a stock4r = requests.get(5 "https://firm.tengu.co/api/v3/intel/sec13f",6 params={"ticker": "AAPL", "limit": 50},7 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},8 timeout=30,9)10r.raise_for_status()11data = r.json()12for holding in data["items"][:5]:13 print(f"{holding['fund_name']}: {holding['shares']:,} shares (${holding['value_usd']:,.0f})")14 15# Track top shareholders for a ticker16r = requests.get(17 "https://firm.tengu.co/api/v3/intel/top_shareholders/AAPL",18 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},19 timeout=30,20)21r.raise_for_status()22profile = r.json()23print(f"\nTop {len(profile['ownership'])} shareholders as of {profile['report_date']}")24for holder in profile["ownership"][:10]:25 print(f" {holder['holder']}: {holder['shares']:,} shares")Example 2: Monitor insider activity and cluster buys#
1# Get the live insider transaction feed2curl -H "Authorization: Bearer $TENGU_API_KEY" \3 "https://firm.tengu.co/api/v3/intel/insiders?ticker=NVDA&limit=25"4 5# Response structure:6# {7# "ok": true,8# "timestamp": "2024-12-16T14:22:30Z",9# "ticker": "NVDA",10# "items": [11# {12# "insider_name": "Jensen Huang",13# "title": "CEO, President",14# "ticker": "NVDA",15# "transaction_type": "Sale",16# "shares": 5000,17# "price_usd": 142.50,18# "value_usd": 712500,19# "as_of_ts": "2024-12-10T16:30:00Z"20# },21# { ... }22# ],23# "count": 8,24# "source": "vendor:quiver"25# }26 27# Get insider cluster buys (smart money patterns)28curl -H "Authorization: Bearer $TENGU_API_KEY" \29 "https://firm.tengu.co/api/insider/clusters?limit=25"30 31# Response structure:32# {33# "ok": true,34# "timestamp": "2024-12-16T14:22:45Z",35# "clusters": [36# {37# "ticker": "UVXY",38# "cluster_score": 0.4,39# "n_buyers": 2,40# "total_value_usd": 485000,41# "window_days": 30,42# "as_of_ts": "2024-12-10T18:00:00Z"43# },44# { ... }45# ],46# "n": 8,47# "source": "computed_from_bronze.quiver_insiders"48# }1import os, requests2 3# Pull insider activity for a ticker4r = requests.get(5 "https://firm.tengu.co/api/v3/intel/insiders",6 params={"ticker": "NVDA", "limit": 50},7 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},8 timeout=30,9)10r.raise_for_status()11data = r.json()12print(f"Recent insider trades in {data['ticker']}:")13for trade in data["items"][:10]:14 print(f" {trade['insider_name']} ({trade['title']}) {trade['transaction_type'].lower()}: "15 f"{trade['shares']:,} @ ${trade['price_usd']:.2f}")16 17# Detect multi-insider cluster buys (smart-money signal)18r = requests.get(19 "https://firm.tengu.co/api/insider/clusters",20 params={"limit": 50},21 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},22 timeout=30,23)24r.raise_for_status()25clusters = r.json()26print(f"\nSmart-money cluster buys (2+ insiders, 30-day window):")27for cluster in clusters["clusters"]:28 print(f" {cluster['ticker']}: {cluster['n_buyers']} insiders, "29 f"score={cluster['cluster_score']}, value=${cluster['total_value_usd']:,.0f}")Example 3: Mutual-fund ownership base for a stock#
See which registered mutual funds hold a stock and how concentrated the ownership is, from the CRSP survivor-bias-free holdings archive. CRSP carries the usual academic lag — the archive ends 2021-12-31 — so with no ?date= the latest available quarter-end is returned, and the report_dt served comes back in the response.
1# Billion-dollar-plus mutual-fund holders of Apple, latest available quarter2curl -H "Authorization: Bearer $TENGU_API_KEY" \3 "https://firm.tengu.co/api/v3/funds/mutual_fund_ownership/AAPL?top=25&min_market_val=1e9"4 5# Response structure:6# {7# "ok": true,8# "timestamp": "2024-12-16T14:23:30Z",9# "ticker": "AAPL",10# "report_dt": "2021-12-31",11# "mode": "latest_available",12# "coverage": { "start": "2002-01-31", "end": "2021-12-31" },13# "n_funds": 38,14# "n_returned": 25,15# "truncated": true,16# "min_market_val": 1000000000.0,17# "funds": [18# {19# "crsp_portno": 1021966,20# "security_name": "APPLE INC",21# "percent_tna": 5.84,22# "nbr_shares": 42150000,23# "market_val": 7482000000,24# "permno": 14593,25# "cusip": "037833100"26# },27# { ... }28# ],29# "source": "warehouse:bronze.mutual_fund_holdings"30# }1import os, requests2 3r = requests.get(4 "https://firm.tengu.co/api/v3/funds/mutual_fund_ownership/AAPL",5 params={"top": 25, "min_market_val": 1e9},6 headers={"Authorization": f"Bearer {os.environ['TENGU_API_KEY']}"},7 timeout=30,8)9r.raise_for_status()10data = r.json()11print(f"{data['ticker']}: {data['n_funds']} mutual-fund holders "12 f"as of {data['report_dt']}")13for fund in data["funds"][:10]:14 print(f" {fund['security_name']}: ${fund['market_val'] / 1e9:.2f}B "15 f"({fund['percent_tna']:.2f}% of fund TNA)")Related#
- API reference — all endpoints and per-plan access
- Pricing & credits — plan costs, credit breakdown, and add-ons
- Public filings — SEC 10-K, 10-Q, 8-K, and earnings