公司申报

概览

太平洋两岸的公司申报——SEC 各表单、A 股定期报告、问询函、处罚决定。

状态
live
文档 id
doc_id 如 us:861838:0001104659-23-092550
引用格式
[8-K 0001104659-23-092550]
更新于
2026-10

常用调用

找申报POST /v1/filings/search {"query": "CEO 辞职", "filters": {"market": "us", "event_types": "officer_director_change", "filed_year": {"gte": 2023}}}
读一份GET /v1/filings/read/us:861838:0001104659-23-092550
看某公司的全部POST /v1/filings/search {"query": "*", "filters": {"cik": "861838"}}
查季报(走 PG 层:词面 + 可排序)POST /v1/filings/search {"query": "going concern liquidity", "filters": {"form": "10-Q"}}
某公司最近几份季报POST /v1/filings/search {"query": "*", "filters": {"form": "10-Q", "cik": "320193"}, "sort": "date"}
细则
  • 不同 doc_family 的字段不一样:event(8-K)有 items/event_types/counterparties/amounts;periodic(定期报告)有 main_business/segments/key_numbers;10-Q 季报有 mdna_drivers/liquidity/legal_updates/new_or_changed_risks/outlook;inquiry_letter 有 issues/deadline/has_reply;penalty 有 violation_types/facts/legal_basis/parties。按 doc_family 过滤再读字段。
  • 10-Q 季报(104,690 篇)按设计不建向量,只在 PG 层:带 form=10-Q(或 doc_family=periodic 加 market=us)整条查询走 PG——词面检索、支持 sort=date、支持 filed_at 精确到日的区间,但没有语义检索。每条命中带 layer,响应的 coverage 里写明是哪一层答的。
  • PG 层的词面检索还会匹配模型生成的中英文检索词(kw_en / kw_zh,已并入全文索引),所以 q="持续经营" 能命中英文季报里 going concern 的表述,原文里没出现的同义说法也能召回。代价是 score 含检索词的贡献,响应不区分「命中原文」还是「只命中检索词」;检索词本身不返回(库里标了仅用于召回,不作展示)。
  • 10-K/20-F/10-Q 的财务报表数字不在本库——以 XBRL 为准,这里只有整篇结构化要点。
  • 原件在 NAS(level=detail 里的 raw_path),检索库不含正文。
  • 检索库里没有正文:level=full 暂不可用(原件在 NAS(raw_path);两层都只有结构化要点,没有正文)。

读

GET/v1/filings/read/{doc_id}
三档深浅,不传就是 detail。免费样例:us:861838:0001104659-23-092550。

三档

深浅credits返回
brief1卡片:做取舍够用的字段(检索结果里那张)
detail (默认)2全部结构化字段(规则字段 + 模型字段,模型字段在 _enrich.fields 里列名)
full5全文(建设中:原件在 NAS(raw_path);两层都只有结构化要点,没有正文)

参数

参数类型说明
doc_id (path) 必填 string 文档 id(doc_id)。
level brief · detail · full= detail 读多深。
format json · md · html= json 响应形态。

示例

{ "domain": "filings", "id": "us:861838:0001104659-23-092550", "level": "detail", "view": "head", "data": { … } | "text": "…", "token_count": 1834, "meta": { … } }
旧写法 GET /v1/filings/doc/{id}?view=… 仍然可用。

批量读

POST/v1/filings/read
最多 50 个 id,同一档。查不到的 id 返回 error: "not_found",不扣费。

参数

参数类型说明
ids 必填 string[] 文档 id 列表。
level brief · detail · full= detail 所有 id 共用的档。

示例

{ "domain": "filings", "level": "detail", "docs": [ { "id": "…", "data": { … } }, { "id": "…", "error": "not_found" } ], "meta": { … } }

Facets

GET/v1/filings/facets?field={field}
某个过滤字段的合法值,agent 不用猜;预聚合字段带计数,声明的枚举没有。免费、不需要 key。

参数

参数类型说明
field 必填 enum · 10 有 facets 的过滤字段。
limit integer= 50 最多返回多少个值。

示例

{ "domain": "filings", "field": "…", "values": [ { "value": "…", "count": 3120 } ], "meta": { … } }

问registered key+ /stream

POST/v1/filings/ask
本域的 agentic 问答:模型按自描述把问题翻成检索(筛选 + 关键词),读详情后作答,引用写成 [filings: <标题>];/stream 为 NDJSON,answer_delta 是边生成边发的真实片段。effort low / medium / high 对应 50 / 100 / 200 credits。加 /stream 走 NDJSON,第一个事件一定是 billing。首个 answer_delta 之前失败会退款。

参数

参数类型说明
query 必填 string 1–2000 字符。问得具体;要数字就直接问数字。
effort low · medium · high= low 检索轮数,也决定价格:50 / 100 / 200 credits。套餐限制最高档。
verbose bool= false 返回工具调用轨迹(流式时多 tool_call / tool_result / thinking 事件)。
top_k integer= 10 预取候选数。
stream_answer bool= true 仅流式:false 时只发一个 answer 事件。
max_rounds integer 0–8,覆盖 effort 预设。
force_answer_after number 秒;强制切入作答阶段。
max_answer_tokens integer= 4096 触顶时置 answer_truncated。
language string 回答语言,默认跟随 query。

示例

{ "answer": "… [8-K 0001104659-23-092550] …", "sources": [ … ], "stats": { "rounds": 1, "elapsed_s": 6.2, "answer_truncated": false }, "coverage"?: { … }, "meta": { "credits": { "charged": 50, … } } }
引用是真的——answer 里的每个 id 都存在于本垂域(格式 [8-K 0001104659-23-092550])。sources 是召回集,不是引用列表。answer_truncated 表示不完整。