如何获取Coinbase CryptoCurrency硬币的列表

时间:2019-01-31 20:01:00

标签: coinbase-api

我一直在试图找到一种方法来获取Coinbase列出的所有硬币的列表(不一定用于交易),但无法弄清楚,在早期,这很容易,您可以登录并查看支持的4种基本硬币的列表(并可以在程序和/或脚本中对这些值进行硬编码)。

但是现在他们列出了许多硬币的清单,据我所知,其中一些无法实际交易,但出于教育目的列出(如查看此类硬币时在其网站上所述)。

我想知道是否有人想出一种方法来列出那些硬币(全部受支持并简单列出),也许带有其标签实际上被支持用于贸易。

我看着API和REST API(使用通过HTTPS或使用用于测试卷曲简单的GET请求)具有以下端点:

curl https://api.coinbase.com/v2/currencies-这列出了所有菲亚特货币。

和:

curl https://api.pro.coinbase.com/products-这列出了所有受支持的交易对(这不是我想要的...。)

除了登录和解析html以外的任何想法? (这可能会破坏,因为该网站可以在任何时间被重新格式化等)。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

我不知道如果我这是你想要或不响应。我首先使用了您列出的第一个URL ...响应似乎没有可用的硬币。然后,我尝试使用下面的URL,并且响应中确实列出了很多货币。您可以通过加载JSON并查找所需的字段来对其进行解析。

我也没看到张贴着你的问题的语言。我使用下面python3。如果你是一个Linux的人,你也可以只用卷曲GET命令行。没关系的语言......你只需要做出一个GET请求到URL,并解析响应,但是你认为合适的。

要获取1个特定字段,您可以使用response['data']['rates']['BTC']之类的行从响应/ JSON字符串中提取“ 0.00029200”。

>>> r = requests.get("https://api.coinbase.com/v2/exchange-rates")
>>> response = json.loads(r.text)
>>> pprint.pprint(response)
{'data': {'currency': 'USD',
          'rates': {'AED': '3.67',
                    'AFN': '75.22',
                    'ALL': '108.84',
                    'AMD': '487.59',
                    'ANG': '1.79',
                    'AOA': '311.37',
                    'ARS': '37.32',
                    'AUD': '1.38',
                    'AWG': '1.80',
                    'AZN': '1.70',
                    'BAM': '1.71',
                    'BAT': '9.00418244',
                    'BBD': '2.00',
                    'BCH': '0.00879160',
                    'BDT': '83.80',
                    'BGN': '1.71',
                    'BHD': '0.377',
                    'BIF': '1824',
                    'BMD': '1.00',
                    'BND': '1.58',
                    'BOB': '6.90',
                    'BRL': '3.65',
                    'BSD': '1.00',
                    'BTC': '0.00029200',
                    'BTN': '71.11',
                    'BWP': '10.41',
                    'BYN': '2.15',
                    'BYR': '21495',
                    'BZD': '2.02',
                    'CAD': '1.31',
                    'CDF': '1631.00',
                    'CHF': '0.99',
                    'CLF': '0.0242',
                    'CLP': '656',
                    'CNH': '6.71',
                    'CNY': '6.70',
                    'COP': '3174.95',
                    'CRC': '608.98',
                    'CUC': '1.00',
                    'CVE': '96.90',
                    'CZK': '22.50',
                    'DJF': '178',
                    'DKK': '6.52',
                    'DOP': '50.44',
                    'DZD': '118.30',
                    'EEK': '14.61',
                    'EGP': '17.68',
                    'ERN': '15.00',
                    'ETB': '28.52',
                    'ETC': '0.25542784',
                    'ETH': '0.00944599',
                    'EUR': '0.87',
                    'FJD': '2.10',
                    'FKP': '0.76',
                    'GBP': '0.76',
                    'GEL': '2.66',
                    'GGP': '0.76',
                    'GHS': '4.98',
                    'GIP': '0.76',
                    'GMD': '49.52',
                    'GNF': '9210',
                    'GTQ': '7.74',
                    'GYD': '208.55',
                    'HKD': '7.85',
                    'HNL': '24.49',
                    'HRK': '6.49',
                    'HTG': '78.37',
                    'HUF': '276',
                    'IDR': '13940.00',
                    'ILS': '3.63',
                    'IMP': '0.76',
                    'INR': '70.93',
                    'IQD': '1190.000',
                    'ISK': '120',
                    'JEP': '0.76',
                    'JMD': '132.72',
                    'JOD': '0.710',
                    'JPY': '109',
                    'KES': '100.60',
                    'KGS': '68.70',
                    'KHR': '4015.00',
                    'KMF': '429',
                    'KRW': '1114',
                    'KWD': '0.303',
                    'KYD': '0.83',
                    'KZT': '380.63',
                    'LAK': '8559.50',
                    'LBP': '1511.15',
                    'LKR': '178.40',
                    'LRD': '160.75',
                    'LSL': '13.53',
                    'LTC': '0.03208728',
                    'LTL': '3.22',
                    'LVL': '0.66',
                    'LYD': '1.385',
                    'MAD': '9.53',
                    'MDL': '17.05',
                    'MGA': '3465.0',
                    'MKD': '53.78',
                    'MMK': '1519.04',
                    'MNT': '2453.75',
                    'MOP': '8.08',
                    'MRO': '357.0',
                    'MTL': '0.68',
                    'MUR': '34.23',
                    'MVR': '15.49',
                    'MWK': '728.47',
                    'MXN': '19.14',
                    'MYR': '4.10',
                    'MZN': '61.87',
                    'NAD': '13.53',
                    'NGN': '361.50',
                    'NIO': '32.60',
                    'NOK': '8.43',
                    'NPR': '113.78',
                    'NZD': '1.45',
                    'OMR': '0.385',
                    'PAB': '1.00',
                    'PEN': '3.33',
                    'PGK': '3.36',
                    'PHP': '52.13',
                    'PKR': '139.30',
                    'PLN': '3.73',
                    'PYG': '6084',
                    'QAR': '3.64',
                    'RON': '4.14',
                    'RSD': '103.53',
                    'RUB': '65.47',
                    'RWF': '886',
                    'SAR': '3.75',
                    'SBD': '8.06',
                    'SCR': '13.67',
                    'SEK': '9.05',
                    'SGD': '1.35',
                    'SHP': '0.76',
                    'SLL': '8390.00',
                    'SOS': '582.00',
                    'SRD': '7.46',
                    'SSP': '130.26',
                    'STD': '21050.60',
                    'SVC': '8.75',
                    'SZL': '13.52',
                    'THB': '31.23',
                    'TJS': '9.43',
                    'TMT': '3.50',
                    'TND': '2.968',
                    'TOP': '2.26',
                    'TRY': '5.18',
                    'TTD': '6.77',
                    'TWD': '30.72',
                    'TZS': '2317.00',
                    'UAH': '27.70',
                    'UGX': '3670',
                    'USD': '1.00',
                    'USDC': '1.000000',
                    'UYU': '32.58',
                    'UZS': '8380.00',
                    'VEF': '248487.64',
                    'VND': '23287',
                    'VUV': '111',
                    'WST': '2.60',
                    'XAF': '573',
                    'XAG': '0',
                    'XAU': '0',
                    'XCD': '2.70',
                    'XDR': '1',
                    'XOF': '573',
                    'XPD': '0',
                    'XPF': '104',
                    'XPT': '0',
                    'YER': '250.30',
                    'ZAR': '13.27',
                    'ZEC': '0.02056344',
                    'ZMK': '5253.08',
                    'ZMW': '11.94',
                    'ZRX': '4.04721481',
                    'ZWL': '322.36'}}}

答案 1 :(得分:1)

也许不是您真正要求的,但是您也可以使用https://api.pro.coinbase.com/currencies

import requests
import json

uri = 'https://api.pro.coinbase.com/currencies'
response = requests.get(uri).json()

for i in range(len(response)):
    if response[i]['details']['type'] == 'crypto':
        print(response[i]['id])

这将返回可用于交易的硬币。