如果我请求使用来获取coingecko
个硬币的完整列表
https://api.coingecko.com/api/v3/coins/list
并输入'id'
条目,获取每个硬币的ID。
然后我可以用一个
https://api.coingecko.com/api/v3/simple/price?ids=<coin>&vs_currencies=usd
(其中<coin>
应该替换为完整列表中的ID)(例如https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd
以获取比特币价格),然后按市值对其重新排序。
这可行,但问题是有很多请求,而且要花很多时间(至少几个小时)。
是否有可能按市值立即获取前300个硬币的ID?
答案 0 :(得分:2)
有Coingecco API请求markets
,其中返回硬币价格,市值和市值排名以及其他信息。您可以按市值排名对它进行排序,而只需采用JSON数组的300个首个元素。
https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc
响应如下:
[
{
"id": "bitcoin",
"symbol": "btc",
"name": "Bitcoin",
"image": "https://assets.coingecko.com/coins/images/1/large/bitcoin.png?1547033579",
"current_price": 9664.88,
"market_cap": 178353923560,
"market_cap_rank": 1,
...
"last_updated": "2020-07-26T05:05:03.478Z"
},
{
"id": "ethereum",
"symbol": "eth",
"name": "Ethereum",
"image": "https://assets.coingecko.com/coins/images/279/large/ethereum.png?1595348880",
"current_price": 302.53,
"market_cap": 33895800150,
"market_cap_rank": 2,
...
},
UPD:要准确获取300个结果,请使用以下请求:
https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=100&page=3