You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Blockchair API获取钱包交易历史时limit参数不生效问题

问题成因

  • 参数拼接语法错误:URL中多个查询参数需要用&连接,仅第一个参数前使用?。你构造的请求链接中limit参数前错误使用了?,导致该参数未被服务端识别,接口始终使用默认的100条返回配置。
  • 免费接口单页上限限制:Blockchair公开免费接口的单页交易返回上限为100条,即便正确配置limit参数,超过100的数值也不会生效,属于平台对免费用户的固定限流规则。

解决方案

  1. 首先修正请求参数的拼接逻辑,推荐直接用requests的params参数传递查询条件,避免手动拼接URL出错。
  2. 采用分页拉取的方式获取全量交易,搭配offset参数控制分页偏移量,循环请求直到获取所有交易,示例代码如下:
import requests
import time

address = '19iqYbeATe4RxghQZJnYVFU4mjUUu76EA6'
base_url = f'https://api.blockchair.com/bitcoin/dashboards/address/{address}'
limit = 100
offset = 0
all_transactions = []

# 先获取总交易数
init_resp = requests.get(base_url).json()
total_count = init_resp['data'][address]['transaction_count']

while offset < total_count:
    params = {
        'transaction_details': 'true',
        'limit': limit,
        'offset': offset
    }
    resp = requests.get(base_url, params=params)
    data = resp.json()
    current_tx = data['data'][address]['transactions']
    all_transactions.extend(current_tx)
    offset += limit
    # 避免触发免费接口限流
    time.sleep(1)

# 验证获取到的总交易数
print(len(all_transactions))

提示:如果总交易数极大,可根据自身需求调整分页步长、或中断循环获取指定时间范围内的交易即可。


内容的提问来源于stack exchange,提问作者johnn1e

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:06:05