Senate Positions参议员任职记录
该接口返回某位议员担任过的国会职位,含任期起止、党派和所属州。
https://quote-fmp.com/stable/senate-positions数据更新周期
该接口暂无固定更新周期(多为按需更新的参考或静态数据)。
接口说明
- endDate 为空表示仍在任:判断「当前职位」要同时看 endDate 与 senate-profiles.latestPosition,两者不一致时以本接口的未结束任期为准。
- 同一议员跨届有多条:按 congressNumber 排序才是正确时间轴,按写入顺序排会乱,基于美国国会 STOCK Act 法定财务披露跟踪参众两院议员的股票买卖申报。
- 还原历史状态:想知道「某笔交易发生时该议员的党派与职位」,用 transactionDate 落在哪段任期内去查本接口 —— 直接用档案里的当前值会出错。
- 上下游关联接口:Senate Trades By ID(参议员交易按 ID 检索) · U.S. House Trades(美国众议院交易记录) · Company Profile Data(公司概况) · Stock Price and Volume Data(日线完整行情)
请求参数
5 个参数| 参数 | 类型 | 要求 | 示例 | 说明 |
|---|---|---|---|---|
senateID | string | 可选 | P000197 | 参议员的唯一标识,用于国会交易数据。 |
party | string | 可选 | Republican | 内部人交易中的交易主体(高管/机构)。 |
position | string | 可选 | Representative | 交易者当前的持仓情况。 |
page | number | 可选 | 0 | 分页页码,从 0 开始,配合每页条数翻页取更多数据(从 0 起算的分页游标;当响应返回空数组 [] 时代表已翻至历史末页) |
limit | number | 可选 | 300 | 返回结果条数上限,用于控制单次响应大小。 |
调用代码示例
Python 关键代码访问 /stable/senate-positions 获取参议员任职记录(可选 senateID, party),单条记录含 senateID(参议员 ID)、congressNumber(国会届次)、startDate(起始日期) 等 8 个字段。
resp = requests.get(
"https://quote-fmp.com/stable/senate-positions",
params={"senateID": "P000197", "party": "Republican", "position": "Representative", "page": 0, "apikey": FMP_KEY},
timeout=15,
)
resp.raise_for_status()
df = pd.DataFrame(resp.json())
# 按 startDate 升序重排并数值化 congressNumber(国会届次)
df["congressNumber"] = pd.to_numeric(df["congressNumber"], errors="coerce")
df = df.sort_values("startDate").reset_index(drop=True)参数使用和避坑
2 组参数组合 · 2 条避坑以下列出本接口在高频投研与回测场景下的常用 Query 参数组合写法:
| 投研场景 | Query 参数组合示例 | 返回数据特征与用途 |
|---|---|---|
| 读取参议员任职记录最新首屏流(page=0, limit=50) | page=0&limit=50 | 请求 /stable/senate-positions 首屏记录,获取最新披露的 senateID、congressNumber、startDate(样本 senateID=Z000018)。 |
| 递增游标翻页回填参议员任职记录(page=1, limit=100) | page=1&limit=100 | 向 /stable/senate-positions 传 page=1&limit=100,向历史纵深翻页归档 senateID、congressNumber、startDate 等 8 列。 |
访问 /stable/senate-positions 提取参议员任职记录(可选 senateID, party),单条 JSON 含 senateID(Z000018)、congressNumber(119)等 8 个字段,空列表响应代表该条件下无披露记录。
从 /stable/senate-positions 抽取 congressNumber(样本 119)入库时,以 (senateID) 建唯一索引可安全支持断点续传。
返回数据
8 个字段本接口示例响应共包含 8 个字段(数值型 2 个,文本/日期/布尔型 6 个)。下表列出全部字段名、类型、首条记录真实样本值与中文释义,实际返回会因接口与数据状态有所不同。
| 字段 | 类型 | 示例值 | 说明 |
|---|---|---|---|
senateID | string | "Z000018" | 参议员 ID |
congressNumber | number | 119 | 国会届次 |
startDate | string | "2025-01-02" | 起始日期 |
endDate | null | null | 结束日期 |
party | string | "Republican" | 政党 / 交易主体 |
position | string | "Representative" | 职位 |
state | string | "MT" | 州/省 |
yearsInTerm | number | 0.7 | 当前任期年数 |
查看响应数据示例(原始 JSON)
[
{
"senateID": "Z000018",
"congressNumber": 119,
"startDate": "2025-01-02",
"endDate": null,
"party": "Republican",
"position": "Representative",
"state": "MT",
"yearsInTerm": 0.7
}
]常见问题解答(FAQ)
2 个问题如何区分「Profile」模块的参议员任职记录与 参议员资料?/stable/senate-positions 的传参要求是什么?
两者的差异在于入口与字段集:/stable/senate-positions(参议员任职记录)要求可选 senateID, party并产出 8 列(含 senateID=Z000018);Senate Profiles(参议员资料)要求无必填参数并产出 10 列。
拉取 /stable/senate-positions 的参议员任职记录数据时,如何处理历史回溯、空结果判定或代码格式?
针对 /stable/senate-positions,推荐递增 page(配合 limit)翻页请求 /stable/senate-positions 直至返回 [];这样既能稳定获取 senateID(参议员 ID),又能避免单次请求载荷过大。
同模块相关接口对比
Profile本接口路径 /stable/senate-positions,无必填参数。 同一模块「Profile」下共 4 个接口,下表列出其余 3 个, 按粒度与查询维度对比,避免选错接口。