如何通过marketcap列出coingecko API的前300个硬币?

时间:2020-07-24 14:00:21

标签: json api bitcoin cryptocurrency

如果我请求使用来获取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?

1 个答案:

答案 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