You need to enable JavaScript to run this app. CoinGecko最新上架币种近实时获取API选型及实现方法咨询
优惠活动
大模型
产品
解决方案
定价
更多

CoinGecko最新上架币种近实时获取API选型及实现方法咨询

CoinGecko最新币种近实时获取方案

调用的API接口

你需要用CoinGecko公开API的GET /coins/list/new接口,这个接口专门返回平台最近7天内新添加的币种数据,返回字段包含币种唯一id、名称、符号、激活时间、币种状态等核心信息,完全匹配你的需求。

近实时获取实现要点

  • 频率控制:免费版API限流为每分钟最多30次请求,建议将拉取间隔设为2分钟,既能保证接近实时的效果,也不会触发限流;如果使用付费版API,可将间隔缩短到10-30秒,实时性更高。
  • 去重逻辑:本地维护一个已获取过的币种id集合,每次拉取到新数据后和集合做对比,不在集合内的就是真正的新增币种,处理完成后把新的id加入集合即可。
  • 异常处理:如果请求返回429状态码说明触发限流,需要加入重试逻辑,等待30-60秒后再发起请求;其他错误状态码可以直接跳过本次拉取,等待下一个周期再尝试。

Python实现示例

import requests
import time

# 存储已同步的币种id,避免重复提醒
synced_coin_ids = set()

def get_new_coins():
    api_url = "https://api.coingecko.com/api/v3/coins/list/new"
    headers = {"accept": "application/json"}
    try:
        resp = requests.get(api_url, headers=headers, timeout=15)
        if resp.status_code == 200:
            return resp.json()
        elif resp.status_code == 429:
            # 触发限流等待45秒重试
            time.sleep(45)
            return get_new_coins()
        else:
            return []
    except Exception as err:
        print(f"接口请求失败:{str(err)}")
        return []

if __name__ == "__main__":
    # 初始化本地已存在的币种数据
    init_coins = get_new_coins()
    for coin in init_coins:
        synced_coin_ids.add(coin["id"])
    
    # 定时轮询
    while True:
        latest_coins = get_new_coins()
        for coin in latest_coins:
            if coin["id"] not in synced_coin_ids:
                # 这里可以替换为你自己的业务逻辑,比如推送提醒、入库等
                print(f"新增币种:{coin['name']}({coin['symbol'].upper()}),上线时间:{coin['activated_at']}")
                synced_coin_ids.add(coin["id"])
        # 每2分钟拉取一次,可根据自己的API权限调整间隔
        time.sleep(120)

额外注意

  • 接口默认只返回最近7天的新增币种,所以本地存储的id集合只需要保留最近7天的数据即可,不用长期存储避免占用过多空间。
  • 部分新增币种可能后续会被平台下架,你可以在拿到数据后额外校验active字段,值为true才是有效上线的币种。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 03:06:01