AlphaFeed Blog

不用 SDK 也能取 A 股数据:AlphaFeed REST API 用 cURL/HTTP 直连教程

工程化 · 代码验证于 2026-09-08

不用 SDK 也能取 A 股数据:AlphaFeed REST API 用 cURL/HTTP 直连教程

一句话回答: AlphaFeed 的 Python SDK 底层就是一套标准 REST API——基址 https://api.alphafeed.org、/v1/... 路径、请求头带 x-api-key、响应统一包在 {"data": ...} 里。所以用 cURL、Go、Node.js、Java 甚至 Excel Power Query 都能直连,不装 SDK 也能取 A 股/美股/港股数据。

为什么会有这个问题 / 传统做法的痛点

不是所有人都用 Python:后端服务可能是 Go/Java,前端要用 Node.js,运维想先用 cURL 验证连通性。很多数据源要么只有 Python 包、要么 REST 文档残缺、鉴权方式含糊,导致非 Python 用户接入成本很高。

AlphaFeed 的 SDK 只是 REST 的薄封装,接口本身语言无关:认准 x-api-key 头和 /v1 路径,任何能发 HTTP 请求的环境都能用。

分步骤解决(每步配可运行代码)

第 1 步:用 cURL 验证连通性(取日线)

curl -s -H "x-api-key: $ALPHAFEED_API_KEY" \
  "https://api.alphafeed.org/v1/klines?symbol=600519.SH&period=1d&count=2&adjust=forward"

返回是紧凑列式 JSON(每个字段一个数组,靠下标对齐):

{"data":{"timestamp":[1788451200000,1788710400000],
         "open":[1295.88,1324.0],"high":[1338.86,1333.6],
         "low":[1295.6,1312.66],"close":[1330.0,1316.01],
         "volume":[45416,25250],"amount":[6022594729.0,3336029500.0]}}

注意:REST 原始返回不含 symbol/name/trade_date 这些列——它们是 Python SDK 的 to_dataframe=True 帮你补的。自己直连时按 timestamp 自行补列即可。

第 2 步:实时快照(单只、多只、全市场池)

# 多只(≤20 个用 GET,逗号分隔)
curl -s -H "x-api-key: $ALPHAFEED_API_KEY" \
  "https://api.alphafeed.org/v1/quotes?symbols=600519.SH,000001.SZ"

# 很多只 / 全市场池用 POST
curl -s -X POST -H "x-api-key: $ALPHAFEED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbols":["600519.SH","000001.SZ"]}' \
  "https://api.alphafeed.org/v1/quotes"

# 整个标的池(需 Starter 及以上)
curl -s -H "x-api-key: $ALPHAFEED_API_KEY" \
  "https://api.alphafeed.org/v1/quotes?universes=CN_Stock"

快照返回是对象数组,含 last_price/prev_close/open/high/low/volume/amount 及 ext(name/change_pct/amplitude/turnover_rate 等)。

第 3 步:五档盘口与标的元数据

# 五档盘口
curl -s -H "x-api-key: $ALPHAFEED_API_KEY" \
  "https://api.alphafeed.org/v1/depth?symbol=600519.SH"

# 标的元数据(涨跌停价、总/流通股本、上市日期等)
curl -s -H "x-api-key: $ALPHAFEED_API_KEY" \
  "https://api.alphafeed.org/v1/instruments?symbols=600519.SH"

第 4 步:任意语言直连(以 Python requests 为例)

不装 alphafeed,只用 requests 也能取:

import os, requests, pandas as pd

BASE = "https://api.alphafeed.org"
H = {"x-api-key": os.environ["ALPHAFEED_API_KEY"]}

r = requests.get(f"{BASE}/v1/klines", headers=H, timeout=30,
                 params={"symbol": "600519.SH", "period": "1d",
                         "count": 3, "adjust": "forward"})
r.raise_for_status()
df = pd.DataFrame(r.json()["data"])   # 列式 JSON 直接进 DataFrame
df["symbol"] = "600519.SH"            # 需要的话自行补列
print(df)

Node.js 用 fetch、Go 用 net/http 同理:设 x-api-key 头、GET 对应 /v1 路径、解析 data 字段即可。

端点与鉴权一览

端点方法关键参数用途
/v1/klinesGETsymbol,period,count,adjust,start_time,end_time单只 K 线
/v1/klines/batchGETsymbols(逗号) + 同上批量 K 线
/v1/klines/intradayGETsymbol当日分时
/v1/klines/intraday/batchGETsymbols批量当日分时
/v1/klines/ex-factorsGETsymbols除权因子
/v1/quotesGET/POSTsymbols 或 universes实时快照
/v1/depthGETsymbol五档盘口
/v1/instrumentsGETsymbols标的元数据

鉴权:所有请求头都要带 x-api-key: <你的Key>;基址 https://api.alphafeed.org(可用环境变量 ALPHAFEED_BASE_URL 覆盖)。

关键坑与注意事项

常见问题(FAQ)

Q:REST 直连和 SDK 有什么差别? A:数据完全一样。SDK 额外做了:行式 DataFrame 转换、批量自动分批并发、内置重试(429/5xx/超时)、名称本地缓存、类型化异常。直连要自己实现这些工程细节。

Q:Authorization: Bearer 能用吗? A:AlphaFeed 用的是 x-api-key 请求头,不是 Bearer Token,别混用。

Q:Go/Java/Excel 能用吗? A:能。只要能发带自定义头的 HTTPS GET/POST 并解析 JSON 就行;Excel/Power BI 用 Power Query 的 Web.Contents 加 x-api-key 头也可以。

Q:需要付费吗? A:免费额度可直连体验单标的历史与快照;全市场池、部分市场需 Starter 及以上,详见官网定价页。

小结

AlphaFeed 的能力不绑定 Python——它本质是一套 x-api-key 鉴权、/v1 路径、data 包裹的标准 REST API。认准这三点,你可以用 cURL 秒验连通、用任意语言直连,把 A 股/美股/港股数据接进你现有的技术栈。想省掉重试、分批、DataFrame 转换这些工程活,再上 Python SDK 即可。

相关链接:


免责声明:本文仅为技术与数据接口使用示例,代码与策略仅供学习研究,不构成投资建议。市场有风险,历史数据不代表未来表现。