All Projects → rsz44 → python-coinmarketcap

rsz44 / python-coinmarketcap

Licence: MIT License
CoinMarketCap Python API Wrapper

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to python-coinmarketcap

MKT
Exchange Price Service , Stocks , Cryptocurrency,Stock prediction and more
Stars: ✭ 27 (-59.7%)
Mutual labels:  crypto, coinmarketcap
coinmarketcap-new-listings-sniper-bot
Sniper bot to buy new tokens listed on Coinmarketcap.
Stars: ✭ 55 (-17.91%)
Mutual labels:  crypto, coinmarketcap
rich-uncle-pennybags-bot
A telegram bot for all of your crypto needs. Works over the bitfinex and coinmarketcap APIs
Stars: ✭ 15 (-77.61%)
Mutual labels:  crypto, coinmarketcap
CryptoLogos
Hundreds of crypto logos simply named by their normalized contract address
Stars: ✭ 14 (-79.1%)
Mutual labels:  crypto
cryptocheck
Check prices of cryptocurrencies via command line
Stars: ✭ 31 (-53.73%)
Mutual labels:  coinmarketcap
zkp-ecdsa
Proves knowledge of an ECDSA-P256 signature under one of many public keys that are stored in a list.
Stars: ✭ 118 (+76.12%)
Mutual labels:  crypto
intellij-investor-dashboard
📈 Investor Dashboard for JetBrains IDEs. Support A Share, H.K. Stocks, U.S. Stocks and Crypto etc.
Stars: ✭ 60 (-10.45%)
Mutual labels:  crypto
CoinMarketBot
A Discord bot that automatically reports updates of crypto from https://coinmarketcap.com/
Stars: ✭ 35 (-47.76%)
Mutual labels:  coinmarketcap
secman
[Archived] 👊 Human-friendly and amazing secrets manager.
Stars: ✭ 63 (-5.97%)
Mutual labels:  crypto
AutoTrader
A Python-based development platform for automated trading systems - from backtesting to optimisation to livetrading.
Stars: ✭ 227 (+238.81%)
Mutual labels:  crypto
awesome-tetherino
Awesome Tetherino - 60 000+ Million $USDT Crypto "Stable" Coin Printed Out of Thin Air and Officially Backed by Commercial Paper (2-Ply Rated Soft - Yes, Trust Us, Don't Verify) - Inside the Tether Ponzi Scheme - A Bubble for the History Books and Fraud on the Scale of Madoff
Stars: ✭ 45 (-32.84%)
Mutual labels:  crypto
Sparks
No description or website provided.
Stars: ✭ 12 (-82.09%)
Mutual labels:  crypto
Coinsta
A Python package for acquiring both historical and current data of cryptocurrencies
Stars: ✭ 47 (-29.85%)
Mutual labels:  coinmarketcap
browserify-cipher
No description or website provided.
Stars: ✭ 15 (-77.61%)
Mutual labels:  crypto
asherah
Asherah is a multi-language, cross-platform application encryption SDK
Stars: ✭ 46 (-31.34%)
Mutual labels:  crypto
rigel
[UNMAINTAINED] HMAC-SHA512 implementation optimized for embedded devices
Stars: ✭ 14 (-79.1%)
Mutual labels:  crypto
whirlpool
whirlpool cryptographic hashing library
Stars: ✭ 21 (-68.66%)
Mutual labels:  crypto
CoinMarketCap-Desktop
A simple desktop wrapper for CoinMarketCap
Stars: ✭ 21 (-68.66%)
Mutual labels:  crypto
i2pchat
🌀 i2pchat. Anonymous private secure opensource chat using end-to-end encrypted transport.
Stars: ✭ 25 (-62.69%)
Mutual labels:  crypto
ccapi
A header-only C++ library for interacting with crypto exchanges. Binding for Python is provided. A spot market making application is also provided as an end-to-end solution for liquidity providers.
Stars: ✭ 227 (+238.81%)
Mutual labels:  crypto

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.

Downloads


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) cryptocurrency_categories Categories /cryptocurrency/categories
(doc) cryptocurrency_category Category /cryptocurrency/category
(doc) cryptocurrency_airdrops Airdrops /cryptocurrency/airdrops
(doc) cryptocurrency_airdrop Airdrop /cryptocurrency/airdrop
(doc) cryptocurrency_trending_latest Trending Latest /cryptocurrency/trending/latest
(doc) cryptocurrency_trending_mostvisited Trending Most Visited /cryptocurrency/trending/most-visited
(doc) cryptocurrency_trending_gainerslosers Trending Gainers & Losers /cryptocurrency/trending/gainers-losers
(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

Additionnal Parameters

  • api_version (str): if given, will fetch the given version of the endpoint (default is equal to the given version in the CoinMarketCapAPI instance wich is actually v1).

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, [...]}

Optionnaly, you can pass (on-the-fly) a specific version of an endpoint by given the api_version keyword argument directly to a method:

cmc.cryptocurrency_listings_latest(..., api_version="v1.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

  • 31 aug 2021: Version 0.3
    • Adding new endpoints (Aug 17):
      • /v1/cryptocurrency/categories
      • /v1/cryptocurrency/category
      • /v1/cryptocurrency/airdrops
      • /v1/cryptocurrency/airdrop
      • /v1/cryptocurrency/trending/latest
      • /v1/cryptocurrency/trending/most-visited
      • /v1/cryptocurrency/trending/gainers-losers
    • PEP 8 style
    • Adding api_version keyword argument to all endpoints to change on-the-fly the api version to use.
  • 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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].