Form 13F is an independent sub-product within the SEC Filing family. It uses a seed-only pure cache model: the latest-quarter top 1,000 institutional managers × the most recent 4 quarters are pre-seeded. Cache misses return empty — no live upstream fallback.
Endpoint
https://api.llmquantdata.com/filings/13f/managers
Forward-enumeration of the latest-quarter smart money universe by current_scope_rank ascending (rank 1 = largest 13F reportable value). Use this when you don’t yet know a specific manager_cik or ticker — for example, to build a “Top N funds by AUM proxy” pool before fanning out to /filings/13f/by-manager for holdings.
Parameters
Number of managers to return, sorted by current_scope_rank ascending. Server clamps to [1, 1000].
Quarter-end date in YYYY-MM-DD (e.g. 2025-12-31). Omit to get the current ranked quarter. Only the latest seeded quarter has ranking data; any other in-scope period returns an empty managers list with an explanatory scope_notice.
Response
Array of TopManager objects, sorted by current_scope_rank ascending. Known aliases / DBA names from search_aliases (may be empty).
Rank within the seeded Top 1000 universe (1 = largest 13F reportable value this quarter).
latest_reportable_value_usd
Latest-quarter 13F reportable value in USD. AUM proxy — not true firmwide AUM (excludes fixed income, options, non-U.S. holdings, shorts).
latest_reportable_value_period
Period (YYYY-MM-DD) of latest_reportable_value_usd. May be null if the manager has no reportable filing yet.
Error Handling
Scenario Status Body period not in YYYY-MM-DD format400{ "error": "period must be in YYYY-MM-DD format." }period is well-formed but not the latest ranked quarter200Empty managers + meta.scope_notice (only latest quarter is stored) Insufficient credits 402{ "error": "Insufficient credits." }
Caching
Seed-only pure cache. Ranking is materialized in canonical.sec_13f_managers (see Form 13F seed pipeline). No live upstream fallback.
Only the latest ranked quarter is stored — historical rankings are not retained.
Coverage Scope
Returned in every response under meta.scope:
{
"meta" : {
"creditsUsed" : 1 ,
"scope" : {
"managers_seeded" : 1000 ,
"latest_period" : "2025-12-31" ,
"earliest_period" : "2025-03-31" ,
"selection_basis" : "latest quarter 13F reportable value desc" ,
"is_top_1000_only" : true
},
"scope_notice" : "13F data covers the latest-quarter top 1,000 institutional managers ranked by 13F reportable value (an AUM proxy, not true firmwide AUM) across the last 4 quarters. This ranking excludes fixed income, options, non-U.S. holdings, and shorts."
}
}
When a non-latest period is requested, the scope_notice is extended with a sentence explicitly noting that only the latest ranked quarter is stored.
Code Examples
from __future__ import annotations
import requests
API_URL = "https://api.llmquantdata.com/filings/13f/managers"
HEADERS = { "X-API-KEY" : "your_api_key_here" }
def fetch_top_managers ( limit : int = 30 ) -> list[ dict ]:
response = requests.get(
API_URL ,
params = { "limit" : limit},
headers = HEADERS ,
timeout = 30 ,
)
response.raise_for_status()
return response.json()[ "data" ][ "managers" ]
def main () -> None :
managers = fetch_top_managers( limit = 30 )
print ( f "Top { len (managers) } managers (latest quarter):" )
for manager in managers:
rank = manager[ "current_scope_rank" ]
name = manager[ "manager_name" ]
value_b = manager[ "latest_reportable_value_usd" ] / 1e9
print ( f " # { rank :>3} { name :<40} $ { value_b :,.1f} B" )
if __name__ == "__main__" :
main()
Example Response
{
"data" : {
"managers" : [
{
"manager_cik" : "0001364742" ,
"manager_name" : "BLACKROCK INC." ,
"aliases" : [ "BLACKROCK" , "BLACKROCK FUND ADVISORS" ],
"current_scope_rank" : 1 ,
"latest_reportable_value_usd" : 4521893245678 ,
"latest_reportable_value_period" : "2025-12-31"
},
{
"manager_cik" : "0000102909" ,
"manager_name" : "VANGUARD GROUP INC" ,
"aliases" : [ "VANGUARD" ],
"current_scope_rank" : 2 ,
"latest_reportable_value_usd" : 4123456789012 ,
"latest_reportable_value_period" : "2025-12-31"
}
]
},
"meta" : {
"creditsUsed" : 1 ,
"remainingCredits" : 9999 ,
"scope" : {
"managers_seeded" : 1000 ,
"latest_period" : "2025-12-31" ,
"earliest_period" : "2025-03-31" ,
"selection_basis" : "latest quarter 13F reportable value desc" ,
"is_top_1000_only" : true
},
"scope_notice" : "13F data covers the latest-quarter top 1,000 institutional managers ranked by 13F reportable value (an AUM proxy, not true firmwide AUM) across the last 4 quarters. This ranking excludes fixed income, options, non-U.S. holdings, and shorts."
}
}
Typical Usage — Build a Consensus Pool Client-Side
1. GET /filings/13f/managers?limit=30
→ take the top-30 manager pool for the latest quarter
2. For each manager_cik, GET /filings/13f/by-manager?manager_cik=...
→ fetch holdings
3. Aggregate client-side to build a consensus / overlap leaderboard
Current Limitations
Latest-quarter ranking only — historical current_scope_rank values are not stored
Top 1,000 only — by latest-quarter 13F reportable value (an AUM proxy, not true AUM)
Not a semantic search — there is no keyword / free-text manager filter
Holdings are not included; fan out to /filings/13f/by-manager