CoinGecko API和CoinMarketCap API哪个好?二者差异和优缺点比较

在加密货币市场中,API是连接各种应用程式和服务的重要工具。CoinGecko API和CoinMarketCap API是两个主要的加密货币数据提供商。不同于交易所提供的API更偏向于交易,CoinGecko 和CoinMarketCap 所能提供的数据和资讯更加全面和多样化,不仅可以用来量化交易,数据挖掘还可以进行横向比对,本文将以币圈数据集成的两大巨头为例,以Python作为基础语言进行入门讲解,并比较这两个API,以便更好地了解它们之间的差异和优缺点。

CoinGecko API:

API文档

CoinGecko 的API主要提供的数据包括即时和历史代币价格,交易所的交易量以及交易对,契机其他的各类数据。其API主要分为5种类型,每种类型对应不同的价格和品质,从回应时间,数据精度,数据深度,个性化定制等多个维度进行了分类,每月定制价格也从$100-$800不等,本文由于经费有限将使用入门的公开版本进行实操讲解。

https://www.coingecko.com/en/api/documentation

以上是CoinGecko API V3版本的文档,主要集成了价量数据,背景资讯,交易所情况和新上线的NFT追踪功能等。

支持语言

CoinGecko 现在支持市面上大量的主流语言的语言包括NodeJs, Go, .Net, Python, Java, Kotlin, Google Sheets, Cryptosheets, PHP, WordPress Plugin。

如果使用免费版本不需要在CoinGecko 上注册,可以直接调用项目方的库。

实战练习

在终端使用PIP 进行Python库的安装:

Pip install pycoingecko

安装完成后可以使用pip show pycoingecko 来检查是否安装准确:这里我们可以看到这个库中使用的requests 这个依赖,requests 是python爬虫的重要组成,用户其实也可以自己用request 在CoinGecko 上进行资讯爬取,而API给了一个更简单直接的方式做到。

或者可以使用anaconda用户自选的环境进行手动添加,这里不多赘述。

引用刚刚所安装的库中的CoinGecko API功能并通常以cg 来备注这个依赖:

from pycoingecko import CoinGeckoAPI

cg = CoinGeckoAPI()

接下来就可以使用ping 功能来检查API的状态:

当看到CoinGecko 的回复to the moon ! 后,确定API没有问题,接下来就可以尝试最简单的价格获取了,这里以ETH 为例:

价格获取功能:需要2个必要的变数:代币名称和支持的交易对,可以分别通过

cg.get_coins_list()

cg.get_supported_vs_currencies()

来运行程式获得此刻以太坊以美元计价的价值。

cg.get_price(ids='ethereum', vs_currencies='usd')

也可以输入多个id来获取多个代币的价格

交易量变化数据:除了价格以外,get_price功能还可以获得市值、24小时交易量、24小时变化量以及时间戳功能。

cg.get_price(ids='ethereum',vs_currencies='usd',include_market_cap='true',include_24hr_vol='true',include_24hr_change='true',include_last_updated_at='true')

历史数据:除了即时数据外,还可以用History 功能获取历史数据:

cg.get_coin_history_by_id(id='ethereum',date='01-01-2023', localization='false')

 

不仅提供价格数据还可以获得社区数据,开发者数据,公开的流览数据等。

如果需要获得24小时的历史数据的话可以使用:

cg.get_coin_market_chart_by_id(id='etherum',vs_currency='usd',days='3')

本文对CoinGecko 的简单用法就讲到这里,当然这个API 有更多的高阶用法,搭配不同的软体或者库可以达到多种用途,是大家工作学习不错的选择。

 CoinMarketCap API

API文档

相对于Coingecko 来说,CMC更有币安的偏向性,这也是被人诟病的一点,但是相对于Coingecko ,CMC 收取的费用较低,但是明显可以看到更多功能都放在收费计画上,开源免费版本的API 提供的数据非常有限,且数据精度和数据量不能支持到学术或者商业用途。

https://pro.coinmarketcap.com/features/

支持语言

CMC支持的语言包括NodeJS,PHP,Python,Ruby,Objective-C,Java(Android),C#(.NET),cURL

实操练习

注册:想要想使用CMC API PRO 必须获取API Key,可以通过CMC 官网注册并登录API ,然后获取Key 点击复制以备使用。

https://pro.coinmarketcap.com/account

CMC的API 也可以通过2种方式访问,通过request 或者官方库来获取。

首先通过pip install python-coinmarketcap 来进行安装。

这里我们以沙盒模式进行演示,只要定义cmc=CoinMarketCapAPI(空白)便默认进入沙盒模式,或者输入API Key 进入Pro 模式。

资产获取方法:首先导入CMC的库并使用API中的cryptocurrency_info()功能来获取资讯,这里以SOLANA为例:

这里返回的值可以是字典、整数型、字串以及波尔型,分别对应各种功能,这种设计是开发者的福音。

代币资讯获取:我们还可以使用_listings_latest() 来获取最新的代币资讯:

我们可以看到回复的是一个字典型,内容包括ID、名称、代号、CMC排名、代币发行量、总量、加入日期和更新日期等,我们可以通过指定一个symbol 或者直接slug 来查询某一个代币的即时资讯。

获得量价的方式为使用API的cryptocurrency_ohlcv_latest()功能,这里必须指定ID或者symbol,可以使用convert_id 来指定交易对,系统默认为USD:

其他功能:有趣的是CMC还提供了Airdrop的查询功能,我们同样以SOL 为例,值得注意的是这里必须输入变数ID,API会回复空投的时间、参与人数和获奖人数等数据:

CMC API 的功能同样很齐全,包括交易所、代币资讯、量价资讯、链上资讯和定制化资讯等都可以获得,具体可以参考Pypi的文档:

https://pypi.org/project/python-coinmarketcap/

可以看到CMC 更注重与开发者的体验感,而CoinGecko 的优势在于数据的多样性和未来的布局,两者各有千秋,除了这个赛道外,用户还有更多的选择,比如blockchain wallet, Coinsfera 等。但CMC和CoinGecko这两大龙头已占据了市场的大量资源和先发优势,也是认可度最高的两个项目,短时间内很难有后者能赶超,期待两者的后续发展能给数据市场带来更稳定、高效和优质的API。

本文链接地址:https://www.wwsww.cn/btbruanjian/17757.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。