Package: pycoingecko
CoinGecko API wrapperPython3 wrapper around theCoinGeckoAPI (V3)InstallationPyPIpipinstall-Upycoingeckoor from sourcegitclonehttps://github.com/man-c/pycoingecko.gitcdpycoingecko
python3setup.pyinstallUsageForfree API:frompycoingeckoimportCoinGeckoAPIcg=CoinGeckoAPI()For users withPro APIKey:frompycoingeckoimportCoinGeckoAPIcg=pycoingecko.CoinGeckoAPI(api_key='YOUR_API_KEY')ExamplesThe required parameters for each endpoint are defined as required (mandatory) parameters for the corresponding functions.Any optional parameterscan be passed using same names, as defined in CoinGecko API doc (https://www.coingecko.com/en/api/documentation).For any parameter:Listsare supported as input for multiple-valued comma-separated parameters(e.g. see /simple/price usage examples).Booleansare supported as input for boolean type parameters; they can bestr('true', 'false'') orbool(True,False)(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}}# OR (also booleans can be used for boolean type arguments)>>>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 documentationhttps://www.coingecko.com/en/api/documentationEndpoints included:warning:Endpoints documentation: To make sure that you are using properly each endpoint you should check theAPI documentation. Return behaviour and parameters of the endpoints, such aspagination, might have changed.Anyoptional parametersdefined 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}/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()asset_platforms/asset_platforms(List all asset platforms (Blockchain networks))cg.get_asset_platforms()categories/coins/categories/list(List all categories)cg.get_coins_categories_list()coins/categories(List all categories with market data)cg.get_coins_categories()exchanges/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}/volume_chart(Get volume_chart data for a given exchange)cg.get_exchanges_volume_chart_by_id()indexes/indexes(List all market indexes)cg.get_indexes()/indexes/{market_id}/{id}(Get market index by market id and index id)cg.get_indexes_by_market_id_and_index_id()/indexes/list(List market indexes id and name)cg.get_indexes_list()derivatives/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()nfts (beta)/nfts/list(List all supported NFT ids, paginated by 100 items per page, paginated to 100 items)cg.get_nfts_list()/nfts/{id}(Get current data (name, price_floor, volume_24h ...) for an NFT collection. native_currency (string) is only a representative of the currency.)cg.get_nfts_by_id()/nfts/{asset_platform_id}/contract/{contract_address}(Get current data (name, price_floor, volume_24h ...) for an NFT collection. native_currency (string) is only a representative of the currency)cg.get_nfts_collection_by_asset_platform_id_and_contract_address()exchange_rates/exchange_rates(Get BTC-to-Currency exchange rates)cg.get_exchange_rates()search/search(Search for coins, categories and markets on CoinGecko)cg.search()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()companies (beta)/companies/public_treasury/{coin_id}(Get public companies data)cg.get_companies_public_treasury_by_coin_id()TestInstallationInstall required packages for testing using:pipinstallpytestresponsesUsageRun unit tests with:# after installing pytest and responses using pip3
pytest testsLicenseMIT