Skip to main content

CoinMarketCap Python API Wrapper

Project description

Python-CoinMarketCap API Wrapper

​ This is a non official (but working) Python package to wrap the CoinMarketCap API. With this you can monitoring and watch the crypto market.


Installation

Via pip

  • pip install python-coinmarketcap

/!\ Don't confound with the coinmarketcap package.

Example


  from coinmarketcapapi import CoinMarketCapAPI, CoinMarketCapAPIError

  cmc = CoinMarketCapAPI('{YOUR_API_KEY}')

  r = cmc.cryptocurrency_info(symbol='BTC')

  do_something(r.data)

Wrapper References

CoinMarketCapAPI

Synopsis

CoinMarketCapAPI(api_key=None, [debug=False, logger=None, sandbox=False, version='v1'])
  • debug: set verbosity.
  • sandbox: In case of default sandbox API key changes, see Issue #1.
  • logger: you can give a custom logger.
  • version: set the version in the URL, for futures version.

Methods

You have to pass to following methods the parameters detailled in the official documentation.

Methods and documentation Description Endpoint
(doc) cryptocurrency_map CoinMarketCap ID map /cryptocurrency/map
(doc) cryptocurrency_info Metadata /cryptocurrency/info
(doc) cryptocurrency_listings_latest Latest listings /cryptocurrency/listings/latest
(doc) cryptocurrency_listings_historical Historical listings /cryptocurrency/listings/historical
(doc) cryptocurrency_quotes_latest Latest quotes /cryptocurrency/quotes/latest
(doc) cryptocurrency_quotes_historical Historical quotes /cryptocurrency/quotes/historical
(doc) cryptocurrency_marketpairs_latest Latest market pairs /cryptocurrency/market-pairs/latest
(doc) cryptocurrency_ohlcv_latest Latest OHLCV /cryptocurrency/ohlcv/latest
(doc) cryptocurrency_ohlcv_historical Historical OHLCV /cryptocurrency/ohlcv/historical
(doc) cryptocurrency_priceperformancestats_latest Price performance Stats /cryptocurrency/price-performance-stats/latest
(doc) exchange_map CoinMarketCap ID map /exchange/map
(doc) exchange_info Metadata /exchange/info
(doc) exchange_listings_latest Latest listings /exchange/listings/latest
(doc) exchange_listings_historical Historical listings /exchange/listings/historical
(doc) exchange_quotes_latest Latest quotes /exchange/quotes/latest
(doc) exchange_quotes_historical Historical quotes /exchange/quotes/historical
(doc) exchange_marketpairs_latest Latest market pairs /exchange/market-pairs/latest
(doc) globalmetrics_quotes_latest Latest global metrics /global-metrics/quotes/latest
(doc) globalmetrics_quotes_historical Historical global metrics /global-metrics/quotes/historical
(doc) tools_priceconversion Price conversion tool /tools/price-conversion
(doc) blockchain_statistics_latest Latest statistics /blockchain/statistics/latest
(doc) fiat_map CoinMarketCap ID map /fiat/map
(doc) partners_flipsidecrypto_fcas_listings_latest List all available FCAS scores /partners/flipside-crypto/fcas/listings/latest
(doc) partners_flipsidecrypto_fcas_quotes_latest Request specific FCAS scores /partners/flipside-crypto/fcas/quotes/latest
(doc) key_info Key Info /key/info

Example

Assuming you want to get informations about bitcoin. First, read the documentation of the corresponding cryptocurrency_info endpoint.

  • You can pass the symbol parameter like : cmc.cryptocurrency_info(symbol='BTC')
  • or with the slug parameter : cmc.cryptocurrency_info(slug='bitcoin')

You can switch easly in the sandbox mode without giving an API key or by setting it to None :

  • cmc = CoinMarketCapAPI() # You are in sandbox environnement

You can enable a debuging mode, just set debug to True to main class: ​

  cmc = CoinMarketCapAPI(debug=True)
  cmc.cryptocurrency_info(symbol='BTC')

​ This will produce this output : ​

 2019-04-06 16:03:04,716 root         DEBUG    GET SANDBOX 'v1/cryptocurrency/info'
PARAMETERS: {'symbol': 'BTC'}
2019-04-06 16:03:05,004 root         DEBUG    RESPONSE: 288ms OK: {u'BTC': {u'category': u'coin', u'name': u'Bitcoin', u'tags': [u'mineable'], u'symbol': u'BTC', u'id': 1, [...]}

See also

Response

Synopsis

You get results of the API in a Response instance.

Property

Corresponding to standards and conventions:

  • data (dict): will give you the result.
  • status (dict): the status object always included for both successful calls and failures.
  • credit_count (int): the number of credits this call utilized.
  • elapsed (int): the number of milliseconds it took to process the request to the server.
  • total_elapsed (int): the total number of milliseconds it took to process the request.
  • timesamp (str): current time on the server when the call was executed.
  • error_code (str | None): In case of an error has been raised, this property will give you the status error code.
  • error_message (str | None): In case of an error has been raised, this property will give details about error.
  • error (bool): True if an error has been raised.

Example

r = cmc.cryptocurrency_info(symbol='BTC')
print repr(r.status)
print repr(r.data)
print repr(r.credit_count)

CoinMarketCapAPIError

Synopsis

If API returns an error, CoinMarketCapAPI will raise a CoinMarketCapAPIError.

Property

  • rep (Response | None): will give you a Response instance or None if request failed for an other reason than a server error.

Example


  from coinmarketcapapi import CoinMarketCapAPI, CoinMarketCapAPIError

  cmc = CoinMarketCapAPI('{YOUR_API_KEY}') # Pro environnement
  # cmc = CoinMarketCapAPI() # Sandbox environnement

  try:
    r = cmc.cryptocurrency_info(symbol='BTC')
  except CoinMarketCapAPIError as e:
    r = e.rep

  print repr(r.error)
  print repr(r.status)
  print repr(r.data)

See this project on

ToDo

  • Add Cryptocurrency Abstraction
  • Add Exchange Abstraction
  • Add GlobalMetrics Abstraction
  • Add Tools Abstraction ​

ChangeLog

  • 8 sept 2020: Version 0.2
    • Adding missing endpoints
    • Fixing sandbox mode (see Issue #1)
    • Adding deflate, gzip encoding to receive data fast and efficiently.
    • Documentation: adding usefull links
  • 6 apr 2019: Version 0.1

Give me a coffee

  BTC: 39aosiow4nsUvYVA2kP1hZPNZ7ZbJ6ouKr
  ETH: 0x45d940FDA3F1Ce91cA7CB478af72170bb6560201

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-coinmarketcap-0.2.tar.gz (7.8 kB view details)

Uploaded Source

Built Distributions

python_coinmarketcap-0.2-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

python_coinmarketcap-0.2-py2-none-any.whl (7.8 kB view details)

Uploaded Python 2

File details

Details for the file python-coinmarketcap-0.2.tar.gz.

File metadata

  • Download URL: python-coinmarketcap-0.2.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for python-coinmarketcap-0.2.tar.gz
Algorithm Hash digest
SHA256 b1e0e8b098fc910a5ec943a06774d5ee3b190e915123366e2f16238ef0a8a433
MD5 09845fbe4d77c90180b421b2ff0180b1
BLAKE2b-256 2dfc732acffabf0d575c5f3efd4bc8395dc332c655e76b5724255195800232f0

See more details on using hashes here.

File details

Details for the file python_coinmarketcap-0.2-py3-none-any.whl.

File metadata

  • Download URL: python_coinmarketcap-0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for python_coinmarketcap-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3b69a7a92cd4f2b4726a2982d166c0b587fa4911cf366286f798e1e6f9d94933
MD5 1cd13a4c5bc5be502ae9101714dc9f84
BLAKE2b-256 be905078d7f610e6a61ac5b03e63c893ef6e46aa62c7b1245788dcfc2e1cecad

See more details on using hashes here.

File details

Details for the file python_coinmarketcap-0.2-py2-none-any.whl.

File metadata

  • Download URL: python_coinmarketcap-0.2-py2-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for python_coinmarketcap-0.2-py2-none-any.whl
Algorithm Hash digest
SHA256 54c278154ee11ca78837fb73eae8c322a60af93dc0ce75b515fecf895d181cf5
MD5 6dfb5302b40ee817d20477b581cb934e
BLAKE2b-256 3a4d1c0ced08f35d0986f59878ec61efe20d5036626965cb6029880905cd5a98

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page