Skip to main content
Form 13F 是 SEC Filing 家族下的独立子产品。采用 seed-only pure cache 模式:latest-quarter Top 1000 机构 × 最近 4 季度预填,cache miss 直接返回空,不回源上游

接口

GET
string
https://api.llmquantdata.com/filings/13f/managers
current_scope_rank 升序正向枚举最新一季的 smart money universe(rank 1 = 最大的 13F reportable value)。当你还不知道具体 manager_cikticker 时使用本接口——例如先取 “AUM proxy 前 N 大基金” 池,再扇出调用 /filings/13f/by-manager 拿持仓。

参数

limit
integer
default:100
返回的机构数量,按 current_scope_rank 升序。服务端 clamp 到 [1, 1000]
period
string
季末日期 YYYY-MM-DD(如 2025-12-31)。省略则返回当前已 seed 的 ranked 季度。只有最新一期 ranking 被存储;传入其他合法 period 时返回空 managers + 附加 scope_notice 说明。

返回值

data
object

错误处理

场景状态码返回
period 不是 YYYY-MM-DD 格式400{ "error": "period must be in YYYY-MM-DD format." }
period 合法但不是最新 ranked 季度200managers + meta.scope_notice(仅存最新一季 ranking)
Credit 不足402{ "error": "Insufficient credits." }

缓存

  • Seed-only pure cache:ranking 由 Form 13F seed 管线物化到 canonical.sec_13f_managers,cache miss 不回源
  • 仅存最新一期 ranking,不保留历史 rank

数据范围(Coverage Scope)

每次响应的 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."
  }
}
当传入的 period 不是最新 ranked 季度时,scope_notice 会追加一句明确说明”只有最新一期 ranking 被存储”。

代码示例

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()

响应示例

{
  "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."
  }
}

典型用法 —— 客户端聚合 consensus 榜

1. GET /filings/13f/managers?limit=30
   → 取本季度 Top 30 manager 池
2. 对池内每个 manager_cik 调 GET /filings/13f/by-manager?manager_cik=...
   → 拿持仓
3. 客户端 aggregation 完成 consensus / overlap 榜

当前限制

  • 仅最新季度 ranking —— 不存储历史 current_scope_rank
  • 仅 Top 1000 机构(按最近季度 13F reportable value 排序,AUM proxy 而非真实 AUM)
  • 不是 semantic search —— 不支持自然语言 keyword 过滤 manager
  • 不返回 holdings,需要扇出到 /filings/13f/by-manager