Skip to main content

Python wrapper around the CoinGecko API

Project description

CoinGecko API wrapper

PyPi Version

Python3 wrapper around the CoinGecko API (V3)

Installation

PyPI

pip install pycoingecko

or from source

git clone https://github.com/man-c/pycoingecko.git
cd pycoingecko
python3 setup.py install

Usage

from pycoingecko import CoinGeckoAPI
cg = CoinGeckoAPI()

Examples

The required parameters for each endpoint are defined as required (mandatory) parameters for the coresponding functions. Any optional parameters can be also passed using same names, as defined in CoinGecko API doc (https://www.coingecko.com/api/docs/v3)

Lists are also supported as input for multiple-valued comma-separated parameters (e.g. see /simple/price usage examples).

Usage examples:

# /simple/price endpoint with the required parameters
>>> cg.get_price(ids='bitcoin', vs_currencies='usd')
{'bitcoin': {'usd': 3462.04}}

>>> cg.get_price(ids='bitcoin,litecoin,ethereum', vs_currencies='usd')
# OR (lists can be used for multiple-valued arguments)
>>> cg.get_price(ids=['bitcoin', 'litecoin', 'ethereum'], vs_currencies='usd')
{'bitcoin': {'usd': 3461.27}, 'ethereum': {'usd': 106.92}, 'litecoin': {'usd': 32.72}}

>>> cg.get_price(ids='bitcoin,litecoin,ethereum', vs_currencies='usd,eur')
# OR (lists can be used for multiple-valued arguments)
>>> cg.get_price(ids=['bitcoin', 'litecoin', 'ethereum'], vs_currencies=['usd', 'eur'])
{'bitcoin': {'usd': 3459.39, 'eur': 3019.33}, 'ethereum': {'usd': 106.91, 'eur': 93.31}, 'litecoin': {'usd': 32.72, 'eur': 28.56}}

# optional parameteres can be passed as defined in the API doc (https://www.coingecko.com/api/docs/v3)
>>> cg.get_price(ids='bitcoin', vs_currencies='usd', include_market_cap='true', include_24hr_vol='true', include_24hr_change='true', include_last_updated_at='true')
{'bitcoin': {'usd': 3458.74, 'usd_market_cap': 60574330199.29028, 'usd_24h_vol': 4182664683.6247883, 'usd_24h_change': 1.2295378479069035, 'last_updated_at': 1549071865}}

API documentation

https://www.coingecko.com/api/docs/v3

Endpoints included

  • ping
    • /ping (Check API server status)
      cg.ping()
      
  • simple
    • /simple/price (Get the current price of any cryptocurrencies in any other supported currencies that you need)
      cg.get_price()
      
    • /simple/token_price/{id} (Get current price of tokens (using contract addresses) for a given platform in any other currency that you need)
      cg.get_token_price()
      
    • /simple/supported_vs_currencies (Get list of supported_vs_currencies)
      cg.get_supported_vs_currencies()
      
  • coins
    • /coins/list (List all supported coins id, name and symbol (no pagination required))
      cg.get_coins_list()
      
    • /coins/markets (List all supported coins price, market cap, volume, and market related data (no pagination required))
      cg.get_coins_markets()
      
    • /coins/{id} (Get current data (name, price, market, ... including exchange tickers) for a coin)
      cg.get_coin_by_id()
      
    • /coins/{id}/tickers (Get coin tickers (paginated to 100 items))
      cg.get_coin_ticker_by_id()
      
    • /coins/{id}/history (Get historical data (name, price, market, stats) at a given date for a coin)
      cg.get_coin_history_by_id()
      
    • /coins/{id}/market_chart (Get historical market data include price, market cap, and 24h volume (granularity auto))
      cg.get_coin_market_chart_by_id()
      
    • /coins/{id}/market_chart/range (Get historical market data include price, market cap, and 24h volume within a range of timestamp (granularity auto))
      cg.get_coin_market_chart_range_by_id()
      
    • /coins/{id}/status_updates (Get status updates for a given coin (beta))
      cg.get_coin_status_updates_by_id()
      
  • contract
    • /coins/{id}/contract/{contract_address} (Get coin info from contract address)
      cg.get_coin_info_from_contract_address_by_id()
      
    • /coins/{id}/contract/{contract_address}/market_chart/ (Get historical market data include price, market cap, and 24h volume (granularity auto) from a contract address)
      cg.get_coin_market_chart_from_contract_address_by_id()
      
    • /coins/{id}/contract/{contract_address}/market_chart/range (Get historical market data include price, market cap, and 24h volume within a range of timestamp (granularity auto) from a contract address)
      cg.get_coin_market_chart_range_from_contract_address_by_id()
      
  • exchanges (beta)
    • /exchanges (List all exchanges)
      cg.get_exchanges_list()
      
    • /exchanges/list (List all supported markets id and name (no pagination required))
      cg.get_exchanges_id_name_list()
      
    • /exchanges/{id} (Get exchange volume in BTC and top 100 tickers only)
      cg.get_exchanges_by_id()
      
    • /exchanges/{id}/tickers (Get exchange tickers (paginated))
      cg.get_exchanges_tickers_by_id()
      
    • /exchanges/{id}/status_updates (Get status updates for a given exchange (beta))
      cg.get_exchanges_status_updates_by_id()
      
    • /exchanges/{id}/volume_chart (Get volume_chart data for a given exchange (beta))
      cg.get_exchanges_volume_chart_by_id()
      
  • finance (beta)
    • /finance_platforms (List all finance platforms)
      cg.get_finance_platforms()
      
    • /finance_products (List all finance products)
      cg.get_finance_products()
      
  • derivatives (beta)
    • /derivatives (List all derivative tickers)
      cg.get_derivatives()
      
    • /derivatives/exchanges (List all derivative exchanges)
      cg.get_derivatives_exchanges()
      
    • /derivatives/exchanges/{id} (Show derivative exchange data)
      cg.get_derivatives_exchanges_by_id()
      
    • /derivatives/exchanges/list (List all derivative exchanges name and identifier)
      cg.get_derivatives_exchanges_list()
      
  • status_updates (beta)
    • /status_updates (List all status_updates with data (description, category, created_at, user, user_title and pin))
      cg.get_status_updates()
      
  • events
    • /events (Get events, paginated by 100)
      cg.get_events()
      
    • /events/countries (Get list of event countries)
      cg.get_events_countries()
      
    • /events/types (Get list of events types)
      cg.get_events_types()
      
  • exchange_rates
    • /exchange_rates (Get BTC-to-Currency exchange rates)
      cg.get_exchange_rates()
      
  • global
    • /global (Get cryptocurrency global data)
      cg.get_global()
      

Test

Run unit tests with:

# after installing pytest using pip3
pytest tests

License

MIT

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

pycoingecko-1.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

pycoingecko-1.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file pycoingecko-1.1.0.tar.gz.

File metadata

  • Download URL: pycoingecko-1.1.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for pycoingecko-1.1.0.tar.gz
Algorithm Hash digest
SHA256 2bc7336ef05b67662f5b21e3cac33e0cdd097333ae990fa6804174d9dd6f5e4e
MD5 c750bd9a07cf9eaec3f0c187ec443d92
BLAKE2b-256 71bf425d22bf83c93e2b7804197fa7048e346ca50b46e51c5c9b11d7b959b257

See more details on using hashes here.

File details

Details for the file pycoingecko-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: pycoingecko-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for pycoingecko-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e480d9f1cf8e712e09fa9d6edcde981dbc1274882f89b63dc491cf531861ee6
MD5 38dfdad980d9927858f4a48fb5556d63
BLAKE2b-256 9b15ff7e15f18eca7450bbecf4aae0317018d71f0893dd8b362a8f905d54f0b4

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