coingecko_api

Creator: coderz1093

Last updated:

0 purchases

coingecko_api Image
coingecko_api Images

Languages

Categories

Add to Cart

Description:

coingecko api

Simple Dart wrapper for the CoinGecko API



Table of contents #

Installation
Usage
Documentation

Query results
Sections

ping
simple
coins
contract
categories
nfts
exchanges
derivatives
asset_platforms
exchange_rates
search
trending
global
companies
indexes


Full Example
Tests
Roadmap
Contributing
License
Contact



Installation #
Add the dependency to your Dart / Flutter project:
dependencies:
coingecko_api: ^2.0.0
copied to clipboard
Usage #

Create an instance of the API wrapper:
CoinGeckoApi api = CoinGeckoApi();
copied to clipboard

Use any methods provided by wrapper. The methods are divided into sections, just as the CoinGecko does.
final marketChart = await api.coins.getCoinMarketChart(
id: 'bitcoin',
vsCurrency: 'usd',
days: 7,
);
copied to clipboard

Work with the result as you see fit:
if (!marketChart.isError) {
marketChart.data.forEach((item) {
print('Price: ${item.price}, Market Cap: ${item.marketCap}');
});
}
copied to clipboard


Documentation #
All methods are asynchronous and use Future, so you need to use await to get the result.
Query results #
The result of each method is a special object of type CoinGeckoResult. This is a kind of wrapper that allows you to first find out how successful the request was using its isError property. If isError is false, then we can use the data property of this object to get the processed data itself. Otherwise, we can view the error code and error message using properties errorCode and errorMessage.
Sections #
All methods are divided into sections for easier understanding of the purpose of each method. To call any method, we first need to specify a section.
General scheme:
final result = await api./*section name*/./*method name*/(/*parameters*/);
copied to clipboard
All sections fully correspond to those in the CoinGecko API documentation itself:
https://www.coingecko.com/api/documentation
Let's take a closer look at each of the sections and a set of methods in them.
Each section will contain a table indicating the method, a short description of the method and the corresponding query string from the official CoinGecko website.
ping #



Method name
Description
Query string




ping
Check API server status.
/ping



simple #



Method name
Description
Query string




listPrices
Get the current price of any cryptocurrencies in any other supported currencies that you need.
/simple/price


listTokenPrices
Get current price of tokens (using contract addresses) for a given platform in any other currency that you need.
/simple/token_price/{id}


listSupportedVsCurrencies
Get list of supported vs currencies.
/simple/supported_vs_currencies



coins #



Method name
Description
Query string




listCoins
List all supported coins id, name and symbol.
/coins/list


listCoinMarkets
List all supported coins price, market cap, volume, and market related data.
/coins/markets


getCoinData
Get current data (name, price, market, ... including exchange tickers) for a coin.
/coins/{id}


listCoinTickers
Get coin tickers (paginated to 100 items).
/coins/{id}/tickers


getCoinHistory
Get historical data (name, price, market, stats) at a given date for a coin.
/coins/{id}/history


getCoinMarketChart
Get historical market data include price, market cap, and 24h volume (granularity auto).
/coins/{id}/market_chart


getCoinMarketChartRanged
Get historical market data include price, market cap, and 24h volume within a range of timestamp (granularity auto).
/coins/{id}/market_chart/range


listCoinStatusUpdates
Get status updates for a given coin.
/coins/{id}/status_updates


getCoinOHLC
Get coin's OHLC.
/coins/{id}/ohlc



contract #



Method name
Description
Query string




getContractTokenData
Get coin info from contract address.
/coins/{id}/contract/{contract_address}


getContractMarketChart
Get historical market data include price, market cap, and 24h volume (granularity auto) from a contract address.
/coins/{id}/contract/{contract_address}/market_chart


getContractMarketChartRanged
Get historical market data include price, market cap, and 24h volume within a range of timestamp (granularity auto) from a contract address.
/coins/{id}/contract/{contract_address}/market_chart/range



categories #



Method name
Description
Query string




listCategoriesShort
List all categories.
/coins/categories/list


listCategories
List all categories with market data.
/coins/categories



nfts #



Method name
Description
Query string




listNfts
Get all supported NFTs with id, contract address, name, asset platform id and symbol.
/nfts/list


getDataById
Get all the NFT data (name, floor price, 24 hr volume...) based on the NFT collection id
/nfts/{id}


getDataByContractAddress
Get all the NFT data (name, floor price, 24 hr volume...) based on the NFT collection contract address and respective asset platform
/nfts/{asset_platform_id}/contract/{contract_address}



exchanges #



Method name
Description
Query string




listExchanges
List all exchanges.
/exchanges


listExchangesShort
List all supported exchanges: id and name.
/exchanges/list


getExchangeData
Get exchange volume in BTC and top 100 tickers only.
/exchanges/{id}


getExchangeTickers
Get exchange tickers (paginated, 100 tickers per page).
/exchanges/{id}/tickers


getExchangeVolumeChartData
Get volume_chart data for a given exchange.
/exchanges/{id}/volume_chart



derivatives #



Method name
Description
Query string




listDerivatives
List all derivative tickers.
/derivatives


listDerivativeExchanges
List all derivative exchanges.
/derivatives/exchanges


getDerivativeExchange
Show derivative exchange data.
/derivatives/exchanges/{id}


listDerivativeExchangesShort
List all derivative exchanges name and identifier.
/derivatives/exchanges/list



asset_platforms #



Method name
Description
Query string




listAssetPlatforms
List all asset platforms (Blockchain networks).
/asset_platforms



exchange_rates #



Method name
Description
Query string




getBtcExchangeRates
Get BTC-to-Currency exchange rates.
/exchange_rates



search #



Method name
Description
Query string




searchFor
Search for coins, categories and markets listed on CoinGecko ordered by largest Market Cap first.
/search



trending #



Method name
Description
Query string




getSearchTrending
Get trending search coins (Top-7) on CoinGecko in the last 24 hours.
/search/trending



global #



Method name
Description
Query string




getGlobalData
Get cryptocurrency global data.
/global


getGlobalDefiData
Get cryptocurrency global decentralized finance(defi) data.
/global/decentralized_finance_defi



companies #



Method name
Description
Query string




getCompaniesData
Get public companies data.
/companies/public_treasury/{coin_id}



indexes #



Method name
Description
Query string




listMarketIndexes
List all market indexes.
/indexes


getMarketIndex
Get market index by market id and index id.
/indexes/{market_id}/{id}


listMarketIndexesShort
List market indexes id and name.
/indexes/list



Full Example #
final result = await api.coins.getCoinOHLC(
id: 'bitcoin',
vsCurrency: 'usd',
days: 7,
);
if (!result.isError) {
print('getCoinOHLC method returned result');
result.data.forEach(
(item) => print(
'${item.timestamp}: open = ${item.open}, high = ${item.high}, low = ${item.low}, close = ${item.close}',
),
);
} else {
print('getCoinOHLC method returned error ${result.errorCode}: ${result.errorMessage}');
}
copied to clipboard
Tests #
Each method is covered by a separate test using native dart testing platform dart test.
Roadmap #
See the open issues for a list of proposed features and known issues.
Contributing #
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Fork the project
Create your feature branch (git checkout -b feature/AmazingFeature)
Commit your changes (git commit -m 'Add some AmazingFeature')
Push to the branch (git push origin feature/AmazingFeature)
Open a Pull Request

License #
Distributed under the MIT License. See LICENSE for more information.
Contact #
Yegor Pelykh
E-mail: [email protected]
Project Link: github.com/yegor-pelykh/coingecko_api

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.