Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return all quarter codes with available data.
Returns:
{"quarters": ["q1y2013", ..., "q4y2025"], "latest": "q4y2025"}
Use the latest quarter by default unless the user specifies one.
Takes no parameters.
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Find institutional 13F filers by name (case-insensitive substring, min 2 chars).
Args:
query: substring of the manager's name (e.g. "renaissance", "berkshire").
limit: max results to return, 1-50, default 10.
Returns:
{
"query": "...",
"results": [
{"cik": "0001037389", "name": "Renaissance Technologies Llc",
"latest_aum": 64461244358, "available_quarters": [...]},
...
],
"disclaimer": "Research data only..."
}
Parameterslimitqueryrequired
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return all positions held by a 13F filer in a given quarter.
Args:
cik: zero-padded 10-digit SEC CIK (e.g. "0001037389").
quarter: quarter code like "q4y2025".
Returns:
{
"cik": "...", "quarter": "...", "n_positions": 3185,
"total_value_thousands": 64461244358.0,
"holdings": [{"CUSIP": ..., "TICKER": ..., "VALUE": ..., ...}, ...],
"disclaimer": "..."
}
Parameterscikrequiredquarterrequired
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return the full universe of 13F filers with per-manager AUM.
Args:
active_only: if true (default), only managers present in the latest quarter.
Returns:
{
"count": 8625, "active_only": true,
"managers": [{"cik": "...", "name": "...", "latest_aum": ..., ...}, ...],
"disclaimer": "..."
}
NOTE: response can be ~6 MB JSON; consider filtering client-side.
Parametersactive_only
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Match a portfolio against the 13F universe and return the closest (or deliberately-different) managers.
Args:
holdings: list of {"ticker": "AAPL", "weight": 0.05}; weight optional (equal weights default).
quarter: defaults to latest quarter if None.
top_n: 1-50, default 10.
direction: "similar" (closest matches) or "unlike" (most different).
Returns:
{"quarter": "...", "matches": [{"cik": ..., "similarity_score": ..., ...}, ...], "disclaimer": "..."}
Parameterstop_nquarterholdingsrequireddirection
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return the top-N consensus portfolio - securities held by the most institutional managers.
Args:
quarter: quarter code (e.g. "q4y2025").
Returns:
{"quarter": "...", "count": 50, "securities": [{"ticker": ..., "weight_pct": ..., ...}, ...]}
Parametersquarterrequired
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return the institutional regime snapshot for a quarter (IIOI composite, regime state, transition).
Args:
quarter: quarter code.
Returns:
{"quarter": "...", "iioi_composite": 62.4, "regime_state": "High Optimism", ...}
Parametersquarterrequired
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return per-sector institutional capital flow intelligence for a quarter.
Args:
quarter: quarter code.
sector: optional GICS sector to filter (e.g. "Information Technology").
Returns:
{"quarter": "...", "sectors": [{"gics_sector": ..., "net_capital_flow_thousands": ..., "risk_posture": ..., ...}, ...]}
Parameterssectorquarterrequired
get_manager_holdings_bulk
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Look up holdings for many (cik, quarter) pairs in one call (Tier 3).
Faster than calling get_manager_holdings repeatedly: groups by quarter
so each parquet file is read at most once. Each pair counts once against
your key's daily limit, as a get_manager_holdings call would (up to 25
pairs per call).
Args:
pairs: list of {"cik": "...", "quarter": "..."} dicts. Min 1, max 25.
Returns:
{
"results": [
{"cik": "0001067983", "quarter": "q4y2025", "status": "ok",
"n_positions": 42, "total_value_thousands": ..., "holdings": [...]},
{"cik": "0001234567", "quarter": "q4y2025", "status": "not_found",
"error": "..."},
...
],
"n_requested": 5, "n_ok": 4, "n_failed": 1
}
Per-pair errors do NOT raise; check status field on each result.
Use this when you need holdings for multiple managers/quarters at once
(e.g. comparing a portfolio across periods or surveying peer institutions).
Parameterspairsrequired
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return what a 13F filer bought, sold, added, and trimmed versus the prior quarter.
The single most-requested 13F view, without hand-diffing two holdings calls.
Positions are grouped into new buys, exits, increases, and decreases, each
with dollar and share deltas. The first quarter in the dataset has no prior
quarter to compare, so the change lists come back empty with
previous_quarter=null.
Args:
cik: zero-padded 10-digit SEC CIK (e.g. "0001037389").
quarter: quarter code like "q4y2025". Defaults to the latest quarter.
Returns:
{
"manager": {"cik": ..., "name": ...},
"quarter": "...", "previous_quarter": "..." | null,
"summary": {"n_new", "n_exited", "n_increased", "n_decreased",
"n_unchanged", "new_positions_value_usd",
"exited_positions_value_usd", "increased_value_change_usd",
"decreased_value_change_usd", "net_value_change_usd", ...},
"new_positions": [{"ticker", "cusip", "name", "value_usd", "shares", "weight"}, ...],
"exited_positions": [{"ticker", "cusip", "name", "previous_value_usd", ...}, ...],
"increased_positions": [{..., "value_change_usd", "shares_change", "value_percentage_change"}, ...],
"decreased_positions": [...],
"disclaimer": "..."
}
Parameterscikrequiredquarter
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return a filer's new/exit/add/trim moves across several recent quarters in one call.
The multi-quarter view of get_manager_changes: instead of a single quarter it
walks the most recent `quarters` filings and returns each quarter's grouped
changes, newest first. Quarters the manager did not file are skipped. Use it
to see how a book evolved over time without looping get_manager_changes.
Args:
cik: zero-padded 10-digit SEC CIK (e.g. "0001067983").
quarters: how many recent quarters to include (1-60, default 12).
quarter: most recent quarter code like "q4y2025". Defaults to the latest.
Returns:
{
"manager": {"cik": ..., "name": ...},
"anchor_quarter": "...",
"quarters_requested": ..., "quarters_returned": ...,
"timeline": [{"quarter", "previous_quarter", "summary",
"new_positions", "exited_positions",
"increased_positions", "decreased_positions"}, ...],
"disclaimer": "..."
}
Parameterscikrequiredquarterquarters
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return which 13F filers hold a security, and who newly bought or exited it.
The security-centric complement to get_manager_holdings: instead of "what
does this manager hold", this answers "who owns this stock". Holders are
ranked by held value; aggregate held value, holder count, and the
quarter-over-quarter change in holder count are always reported.
Args:
ticker: ticker symbol (with or without a .US suffix, e.g. "NVDA" or
"NVDA.US"); an 8/9-char CUSIP also resolves as a fallback.
quarter: quarter code. Defaults to the latest quarter.
limit: max holders / new-buyers / exited-holders to list, 1-250,
default 50 (full counts are always reported regardless).
Returns:
{
"security": {"ticker", "name", "sector", "cusips": [...], "matched_by"},
"quarter": "...", "previous_quarter": "..." | null,
"aggregate": {"holder_count", "previous_holder_count",
"holder_count_change", "total_value_usd",
"total_shares", "new_buyer_count", "exited_holder_count"},
"holders": [{"cik", "manager_name", "value_usd", "shares",
"weight_in_portfolio_pct", "is_new_holder", "value_change_usd"}, ...],
"new_buyers": [...], "exited_holders": [...],
"holders_truncated": bool, "disclaimer": "..."
}
Parameterslimittickerrequiredquarter
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Return a one-call manager overview: AUM and position-count trend, plus a snapshot.
A trend view that would otherwise need many holdings calls. Combines the
per-quarter AUM and position-count history (newest first) with a top-10
holdings snapshot of the manager's latest filed quarter and basic metadata.
Args:
cik: zero-padded 10-digit SEC CIK.
history_quarters: how many recent quarters of history to include,
1-60, default 12 (3 years).
Returns:
{
"manager": {"cik", "name", "state", "manager_style", "sec_file_number", "entity_type"},
"summary": {"latest_quarter", "first_quarter", "n_quarters_filed",
"latest_aum_usd", "latest_n_positions", "median_n_positions"},
"history": [{"quarter", "period_end_date", "aum_usd", "n_positions"}, ...],
"top_holdings": [{"ticker", "cusip", "weight", "value_usd", "shares"}, ...],
"disclaimer": "..."
}
Parameterscikrequiredhistory_quarters
Research data only. Returns disclosed institutional positions; do not infer manager intent or future direction. Compare two managers head-to-head: shared positions, weight gaps, and what is unique to each.
Instant manager-vs-manager comparison for a quarter. Returns the positions
both hold (with each side's portfolio weight and the gap between them), the
positions unique to each, and overlap metrics (shared count, weight overlap).
Args:
cik_a: first manager's zero-padded 10-digit SEC CIK.
cik_b: second manager's CIK.
quarter: quarter code. Defaults to the latest quarter.
limit: max shared / unique positions to list per side, 1-250,
default 50 (full counts are always reported regardless).
Returns:
{
"quarter": "...",
"manager_a": {"cik", "name", "n_positions", "total_value_usd"},
"manager_b": {...},
"overlap": {"n_shared", "n_unique_to_a", "n_unique_to_b",
"weight_overlap_pct", "name_overlap_pct"},
"shared_positions": [{"ticker", "cusip", "name", "weight_a_pct",
"weight_b_pct", "weight_gap_pp",
"value_a_usd", "value_b_usd"}, ...],
"unique_to_a": [{"ticker", "cusip", "name", "weight_pct", "value_usd"}, ...],
"unique_to_b": [...],
"disclaimer": "..."
}
Parameterscik_arequiredcik_brequiredlimitquarter