Senate Positions参议员任职记录

该接口返回某位议员担任过的国会职位,含任期起止、党派和所属州。

GEThttps://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 个参数
参数类型要求示例说明
senateIDstring可选P000197参议员的唯一标识,用于国会交易数据。
partystring可选Republican内部人交易中的交易主体(高管/机构)。
positionstring可选Representative交易者当前的持仓情况。
pagenumber可选0分页页码,从 0 开始,配合每页条数翻页取更多数据(从 0 起算的分页游标;当响应返回空数组 [] 时代表已翻至历史末页)
limitnumber可选300返回结果条数上限,用于控制单次响应大小。

调用代码示例

Python 关键代码

访问 /stable/senate-positions 获取参议员任职记录(可选 senateID, party),单条记录含 senateID(参议员 ID)、congressNumber(国会届次)、startDate(起始日期) 等 8 个字段。

Python(核心参数与字段清洗逻辑)
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 列。
时序与查询边界提取参议员任职记录:识别 200 [] 空响应与 senateID 落库

访问 /stable/senate-positions 提取参议员任职记录(可选 senateID, party),单条 JSON 含 senateID(Z000018)、congressNumber(119)等 8 个字段,空列表响应代表该条件下无披露记录。

落库主键与口径从 /stable/senate-positions 抽取 congressNumber:(senateID) 主键与空值兼容

从 /stable/senate-positions 抽取 congressNumber(样本 119)入库时,以 (senateID) 建唯一索引可安全支持断点续传。

返回数据

8 个字段

本接口示例响应共包含 8 个字段(数值型 2 个,文本/日期/布尔型 6 个)。下表列出全部字段名、类型、首条记录真实样本值与中文释义,实际返回会因接口与数据状态有所不同。

字段类型示例值说明
senateIDstring"Z000018"参议员 ID
congressNumbernumber119国会届次
startDatestring"2025-01-02"起始日期
endDatenullnull结束日期
partystring"Republican"政党 / 交易主体
positionstring"Representative"职位
statestring"MT"州/省
yearsInTermnumber0.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 个, 按粒度与查询维度对比,避免选错接口。

接口路径核心差异与适用场景
参议员资料Senate Profiles/stable/senate-profile国会议员的资料详情,党派、所属州、职位及任职年限
参议员净资产明细Senate Net Worth/stable/senate-net-worth按申报年份返回某位议员的净资产明细披露,资产、负债和收入逐项列出
参议员净资产汇总Senate Net Worth Aggregated/stable/senate-net-worth-aggregated按年度返回某位议员的净资产汇总数据,并按资产与负债类型分组

Senate(美国国会交易)全部接口目录 →

需要稳定访问 参议员任职记录 数据?注册即可获取专属 API Key,免费体验全部接口。
免费试用 1 个月