All Projects → man-c → Pycoingecko

man-c / Pycoingecko

Licence: mit
Python wrapper for the CoinGecko API

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Pycoingecko

Python Poloniex
Poloniex API wrapper for Python 2.7 & 3
Stars: ✭ 557 (+106.3%)
Mutual labels:  api, wrapper, api-wrapper, cryptocurrency
Coingecko Api
A Node.js wrapper for the CoinGecko API with no dependencies.
Stars: ✭ 159 (-41.11%)
Mutual labels:  api, api-wrapper, cryptocurrency, crypto
Ccxt
A JavaScript / Python / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Stars: ✭ 22,501 (+8233.7%)
Mutual labels:  api, cryptocurrency, crypto
Discord.jl
The Julia Discord API Wrapper
Stars: ✭ 93 (-65.56%)
Mutual labels:  api, wrapper, api-wrapper
Binance.api.csharp.client
C#.NET client for Binance Exchange API.
Stars: ✭ 98 (-63.7%)
Mutual labels:  api, wrapper, cryptocurrency
Binancedotnet
Official C# Wrapper for the Binance exchange API, with REST and WebSocket endpoints
Stars: ✭ 102 (-62.22%)
Mutual labels:  wrapper, api-wrapper, cryptocurrency
Ccxt.net
CCXT.NET – CryptoCurrency eXchange Trading Library for .NET
Stars: ✭ 89 (-67.04%)
Mutual labels:  api, cryptocurrency, crypto
Tlaw
The Last API Wrapper: Pragmatic API wrapper framework
Stars: ✭ 112 (-58.52%)
Mutual labels:  api, wrapper, api-wrapper
Bittrex.net
A C# .Net wrapper for the Bittrex web API including all features easily accessible and usable
Stars: ✭ 131 (-51.48%)
Mutual labels:  api, api-wrapper, cryptocurrency
Cryptocurrency Portfolio
Google Sheets automatic creation with Google Apps Script (GAS) for managing a cryptocurrency tracking spreadsheet with multi exchanges
Stars: ✭ 134 (-50.37%)
Mutual labels:  api, cryptocurrency, crypto
Binance
A .NET Standard Binance API library.
Stars: ✭ 199 (-26.3%)
Mutual labels:  api, api-wrapper, cryptocurrency
Uniswap Python
🦄 The unofficial Python client for the Uniswap exchange.
Stars: ✭ 191 (-29.26%)
Mutual labels:  api, wrapper, crypto
Ccxt Rest
Open Source Unified REST API of 100+ Crypto Exchange Sites (18k+ docker pulls) - https://ccxt-rest.io/
Stars: ✭ 210 (-22.22%)
Mutual labels:  api, cryptocurrency, crypto
sodium-wrapper
C++17 wrappers for libsodium
Stars: ✭ 15 (-94.44%)
Mutual labels:  wrapper, crypto
nanoleaf-aurora
A java wrapper for the Nanoleaf Aurora API
Stars: ✭ 19 (-92.96%)
Mutual labels:  wrapper, api-wrapper
activecampaign-python
ActiveCampaign API wrapper written in python.
Stars: ✭ 25 (-90.74%)
Mutual labels:  wrapper, api-wrapper
discord.bat
🗑️ the BEST discord lib
Stars: ✭ 38 (-85.93%)
Mutual labels:  wrapper, api-wrapper
PowerSchool-API
A Node.js library for interacting with the PowerSchool SIS API.
Stars: ✭ 21 (-92.22%)
Mutual labels:  wrapper, api-wrapper
HerePy
A library that provides a Python interface to the HERE APIs.
Stars: ✭ 73 (-72.96%)
Mutual labels:  wrapper, api-wrapper
Pyblox
An API wrapper for Roblox written in Python. (Receives Updates)
Stars: ✭ 30 (-88.89%)
Mutual labels:  wrapper, api-wrapper

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 corresponding 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 parameters 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

⚠️ Endpoints documentation: To make sure that your are using properly each endpoint you should check the API documentation. Return behaviour and parameters of the endpoints, such as pagination, might have changed.
Any optional parameters defined in CoinGecko API doc can be passed as function parameters using same parameters names with the API (see Examples above).

  • 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)
      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()
      
    • /coins/{id}/ohlc (Get coin's OHLC (beta))
      cg.get_coin_ohlc_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, 100 tickers per page))
      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()
      
  • indexes (beta)
    • /indexes (List all market indexes)
      cg.get_indexes()
      
    • /indexes/{id} (Get market index by id)
      cg.get_indexes_by_id()
      
    • /indexes/list (List market indexes id and name)
      cg.get_indexes_list()
      
  • 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()
      
  • trending
    • /search/trending (Get trending search coins (Top-7) on CoinGecko in the last 24 hours)
      cg.get_search_trending()
      
  • global
    • /global (Get cryptocurrency global data)
      cg.get_global()
      
    • /global/decentralized_finance_defi (Get cryptocurrency global decentralized finance(defi) data)
      cg.get_global_decentralized_finance_defi()
      

Test

Run unit tests with:

# after installing pytest using pip3
pytest tests

License

MIT

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].