Binance.com API接口教程:如何调用币安API获取行情数据
发布时间:2026/8/21 9:51:02来源:币圈资讯君
最近在做量化交易的小项目,需要拉取币安的实时行情数据,网上搜了一圈教程,要么太老,要么直接甩一堆官方文档链接,对新手特别不友好。我自己踩了不少坑,总算把Binance.com API接口调通了。今天就用大白话把整个过程捋一遍,从注册到拿数据,保证你看完能直接跑起来。

调用币安API前需要准备什么?
首先你得有一个币安账号,这个不用多说吧。然后登录官网,在个人中心找到「API管理」入口。创建API Key的时候,系统会让你设置权限,比如只读、现货交易、合约交易这些。如果你只是拉行情数据,强烈建议只勾选「读取」权限,安全第一。
创建完成后,你会得到一串API Key和Secret Key。Secret Key只显示一次,一定要复制保存好,丢了就只能重新生成。这里有个坑:很多人把Key直接硬编码在代码里,然后不小心传到GitHub上,结果被黑客盗刷。建议用环境变量或者配置文件来存,而且定期更换。
另外,币安API的访问地址分两种:一种是全球站api.binance.com,另一种是带地区限制的。国内用户有时候访问全球站会超时,可以试试用api1.binance.com或者api2.binance.com,或者用代理。不过如果做本地测试,用测试网(testnet.binance.vision)更稳,不会把真钱搞没。
币安API签名认证怎么搞?新手最容易出错的地方
调用币安的行情接口(比如获取K线、最新价格)是不需要签名的,直接GET请求就行。但如果你想查账户余额、下单这些涉及隐私的操作,就必须签名了。签名流程是这样的:把参数按字典序排序,拼成query string,然后用HMAC SHA256算法,用Secret Key做密钥,对query string加密,得到一串十六进制字符串,最后把这串字符串作为signature参数附在请求里。
我一开始就是卡在这里,总是报-1022错误,提示签名无效。后来发现是时间戳的问题。币安要求请求里的timestamp参数必须和服务器时间误差在1000毫秒以内,不然就拒绝。所以每次请求前,最好先调用/api/v3/time接口校准一下本地时间,或者直接用服务器返回的时间戳。
另外,有些接口还需要recvWindow参数,表示请求的有效期,默认5000毫秒。如果你网络延迟大,可以适当调大,比如10000,但别太大,不然容易被重放攻击。

怎么用币安API获取实时行情和K线数据?
最常用的行情接口就是GET /api/v3/ticker/price,可以获取单个或多个交易对的实时价格。比如你想看BTCUSDT的价格,直接请求https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT,返回的JSON里就有price字段。
如果你想批量获取所有交易对的价格,不用带symbol参数,它会返回一个很大的数组。但注意,这个接口有权重限制,每个请求权重是2,每分钟最多6000权重,所以别频繁刷。
K线数据用GET /api/v3/klines,参数包括symbol、interval(比如1m、5m、1h、1d),还有limit(默认500,最大1000)。返回的数组里每个元素是一个K线对象,依次是开盘时间、开盘价、最高价、最低价、收盘价、成交量、收盘时间、成交额……字段有点多,建议对照官方文档来解析。
我之前写了一个Python小脚本,用requests库拉取K线数据,然后存到CSV里,跑回测用。核心代码就几行:
import requests
url = 'https://api.binance.com/api/v3/klines'
params = {'symbol': 'BTCUSDT', 'interval': '1h', 'limit': 100}
resp = requests.get(url, params=params)
data = resp.json()
for k in data:
print(k[0], k[1], k[4]) # 时间、开盘、收盘
注意,返回的时间戳是毫秒级的,要转成正常时间格式的话,可以用datetime.fromtimestamp(ts/1000)。
币安API获取交易深度和账户信息,这些细节别忽略
交易深度用GET /api/v3/depth,参数是symbol和limit(可选5、10、20、50、100、500、1000)。返回的bids和asks是列表的列表,每个子列表包含价格和数量。做交易机器人的人经常拉这个数据来判断买卖盘压力。
账户信息用GET /api/v3/account,需要签名。返回的balances数组里有每个资产的可用余额和锁定余额。这个接口权重较高(10),所以别频繁调用,最好缓存一下。
另外,如果你想监听账户变动,可以用WebSocket流,比如wss://stream.binance.com:9443/ws/btcusdt@trade,实时推送交易数据。WebSocket不需要签名,但要注意连接心跳,每20秒发送一个ping帧,不然会被断开。
很多新手容易忽略的还有请求头设置。币安要求必须带上User-Agent,不然会报403错误。用requests库的话,设置headers={'User-Agent': 'Mozilla/5.0'}就能解决。

币安API常见报错码及解决办法,实测有效
我用了这么久,遇到过不少报错,这里列几个最常见的:
-1021:时间戳超时,刚才说过了,校准时间就行。 -1022:签名无效,检查Secret Key是否正确,还有参数排序是否按字典序。 -2015:API Key无效或权限不足,看看是不是Key被删了,或者权限没勾选。 -1121:参数格式错误,比如symbol写错了,或者interval不合法。 -1003:请求频率超限,减少请求次数,或者用批量接口。
还有一个坑是,如果你用测试网,API Key和主网是分开的,域名也不一样,别搞混了。测试网的Key直接在testnet.binance.vision上申请。
总之,币安API的文档其实写得很详细,但有些细节官方没明说,只能靠实操摸索。希望这篇教程能帮你少走弯路。如果还有问题,欢迎在评论区交流,我看到会回复的。
最新文章
-
世纪de勇者游戏PC版怎么下载安装?勇者游戏电脑版配置
世纪de勇者游戏PC版怎么下载安装?本文分享真实下载体验、安装步骤、电脑配置要求及常
更新:26-08-21
-
BNB转账多久到账?手续费多少?一文搞懂常见问题
BNB转账多久到账?手续费多少?这是很多币安用户和链上玩家最常问的问题。本文结合真实
更新:26-08-21
-
币安官网绑定教程:手机号邮箱怎么绑定?常见问题解答
币安官网绑定教程来了!本文手把手教你完成binance.com账号的手机号绑定和邮箱绑定,全
更新:26-08-21
-
Binance.com API接口教程:如何调用币安API获取行情数
本文详细介绍Binance.com API接口的调用方法,从注册获取API Key、签名认证到实时行情
更新:26-08-21
-
BNB登录常见问题解答:账号无法登录、验证失败及安全登
BNB登录遇到账号无法登录、验证失败、安全提醒怎么办?本文汇总BNB登录常见问题与解决
更新:26-08-21
-
币安官网地址是什么?最新binance.com登录入口及常见问
本文详细解答币安官网地址是什么,提供最新binance.com登录入口,并针对用户常见的登录
更新:26-08-21
COMMENTS 网友评论
推荐文章
热门文章
2026年世界杯小组赛好看吗?世界杯2026
26-05-14
2026年世界杯预选赛在哪里看 世界杯足球
26-05-14
VMware ESXi 9.0如何使用 ESXi 9.0激活
25-09-15
2026捕鱼游戏那个最火 捕鱼游戏推荐哪个
26-01-16
lmarena生成手办指令 lmarena怎么生成3
25-09-02
HttpCanary怎么用 httpcanary打不开如何
25-09-02
黄金交易平台app排行榜 贵金属黄金交易
25-07-14
追番动漫软件推荐app2026 追番的免费软
25-07-14
永久免费的追剧软件无广告 2026永久免费
25-07-14
和平精英手游是刺激战场吗 腾讯光子和平
19-05-08

