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*/);
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.
Get exchange volume in BTC and top 100 tickers only.
/exchanges/{id}
getExchangeTickers
Get exchange tickers (paginated, 100 tickers per page).
/exchanges/{id}/tickers
getExchangeStatusUpdates
Get status updates for a given exchange.
/exchanges/{id}/status_updates
getExchangeVolumeChartData
Get volume_chart data for a given exchange.
/exchanges/{id}/volume_chart
finance
Method name
Description
Query string
listFinancePlatforms
List all finance platforms.
/finance_platforms
listFinanceProducts
List all finance products.
/finance_products
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
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
status_updates
Method name
Description
Query string
listStatusUpdates
List all status_updates with data.
/status_updates
events
Method name
Description
Query string
listEvents
Get events, paginated by 100.
/events
listEventCountries
Get list of event countries.
/events/countries
listEventTypes
Get list of events types.
/events/types
exchange_rates
Method name
Description
Query string
getBtcExchangeRates
Get BTC-to-Currency exchange rates.
/exchange_rates
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}
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}');
}
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.