目录导读
- 什么是币安API?为什么你需要它?
- 申请币安API密钥的详细步骤
- Python环境搭建与必备库安装
- 第一个交易脚本:获取账户余额
- 进阶实战:自动下单与价格监控
- 常见问题解答(FAQ)
什么是币安API?为什么你需要它?
很多朋友刚接触加密货币交易时,都是手动在币安网页上点来点去——看价格、挂单、撤单,但如果你一天要操作几十次,或者想实现“低买高卖”的自动化策略,手动操作显然不现实,这时候就需要币安API登场了。

API全称应用程序编程接口,简单理解就是“机器与机器之间的对话通道”,通过币安API,你可以用代码直接连接币安服务器,查看实时行情、查询账户余额、甚至自动下单,而这篇文章重点讲的币安API申请教程,搭配Python脚本,能让你轻松写出属于自己的交易机器人。
申请币安API密钥的详细步骤
在写代码之前,你必须先拿到两样东西:API Key和Secret Key,这就好比是你账户的“钥匙”。
登录币安官网
进入币安账户,在右上角找到“用户中心”或直接点击“API管理”。
创建新API
点击“创建API”,系统会要求你进行安全验证(邮箱验证码+谷歌验证器二选一)。
设置权限
这一步非常关键!根据你的需求选择权限:
- 只读权限:用来查行情、查持仓,适合做分析脚本。
- 交易权限:可以自动买卖,新手建议先选“只读”,测试通过后再打开交易权限。
- 提现权限:除非你真的需要自动化提币,否则强烈建议关闭,防止密钥泄露导致被盗。
保存密钥
创建成功后,你会看到一串API Key和Secret Key,注意:Secret Key只显示一次,请立刻复制到安全的地方(比如加密笔记或密码管理器),忘记的话只能重新生成。
小提示:不要把API密钥写在代码里!建议用环境变量或配置文件管理,万一不小心把代码传到GitHub,别人就能直接控制你的账户。
Python环境搭建与必备库安装
假设你已经安装了Python 3.7以上版本(没有的话去官网下一个,一路点“下一步”就行)。
打开你的命令行(Windows是CMD或PowerShell,Mac是终端),安装两个核心库:
pip install python-binance requests
python-binance:币安官方推荐的Python封装库,功能很全。requests:偶尔用来直接调用REST接口。
安装完成后,新建一个Python文件(比如trading_bot.py),引入库并设置密钥:
from binance.client import Client api_key = "你的API_KEY" secret_key = "你的SECRET_KEY" client = Client(api_key, secret_key)
注意:这里用到的api_key和secret_key请用你刚才申请到的替换。
第一个交易脚本:获取账户余额
我们先用最简单的脚本测试连接是否成功,假设你想知道自己的BTC和USDT余额,可以这样写:
def get_balances():
account_info = client.get_account()
balances = account_info['balances']
for b in balances:
if float(b['free']) > 0 or float(b['locked']) > 0:
print(f"币种: {b['asset']}, 可用: {b['free']}, 冻结: {b['locked']}")
get_balances()
运行后,如果终端输出你账户里的资产信息,说明API密钥和连接都没问题,如果报错,请检查密钥是否填写正确,或者IP是否在API白名单里(币安允许你限制只允许特定IP访问)。
进阶实战:自动下单与价格监控
假设你想做一个简单的网格交易:当BTC跌到某个价时买入,涨到某个价时卖出,下面是一个完整的脚本框架:
import time
from binance.client import Client
client = Client(api_key, secret_key)
symbol = 'BTCUSDT'
buy_price = 60000 # 自定义买入价
sell_price = 65000 # 自定义卖出价
def check_price_and_trade():
ticker = client.get_symbol_ticker(symbol=symbol)
current_price = float(ticker['price'])
print(f"当前BTC价格: {current_price}")
# 获取BTC余额用于判断是否持仓
btc_balance = client.get_asset_balance(asset='BTC')
btc_free = float(btc_balance['free'])
if current_price <= buy_price and btc_free < 0.001: # 如果没有BTC且价格低于买入价
order = client.order_market_buy(
symbol=symbol,
quantity=0.001) # 买入0.001个BTC
print("已买入", order)
elif current_price >= sell_price and btc_free > 0.001: # 如果有BTC且价格高于卖出价
order = client.order_market_sell(
symbol=symbol,
quantity=btc_free) # 卖出全部BTC
print("已卖出", order)
else:
print("不满足交易条件,等待中...")
# 循环检查,每10秒一次
while True:
check_price_and_trade()
time.sleep(10)
注意:这只是一个演示脚本,实际交易中要考虑手续费、滑点、防止频繁交易等,建议先用币安测试网(Testnet)模拟运行,确认逻辑无误后再投入真金白银。
常见问题解答(FAQ)
问:API密钥被泄露了怎么办?
答:立刻登录币安 API管理页面,删除泄露的密钥并重新生成,如果资产已被转移,马上联系币安客服。
问:为什么我写的脚本不能下单?
答:检查三点:1) API权限是否开了“交易” 2) 账户是否有足够资金 3) 最小交易数量是否达标(比如BTC最小是0.0001个)。
问:脚本运行频率太高会被封吗?
答:币安API有速率限制(REST接口默认每分钟1200次),建议在循环中加入time.sleep(),至少间隔0.5秒以上。
问:如何查看历史K线数据?
答:使用client.get_klines(symbol='BTCUSDT', interval='1h', limit=100),返回的数据包含开盘、最高、最低、收盘等字段。
问:Python脚本可以在服务器上24小时运行吗?
答:可以,购买一台云服务器(比如阿里云、Vultr),用nohup python3 trading_bot.py &在后台运行即可,注意做好监控和日志记录,防止程序意外退出。
现在你已经掌握了币安API接口申请教程的核心流程,并学会用Python写一个简单的交易脚本,从申请密钥到下单执行,每一步都不难,关键是要有耐心测试和优化,去写一个属于自己的交易机器人吧,安全第一,永远先用小资金验证!
标签: 币安API Python交易脚本