coinglecko/coins
Coin data endpoints including market data, details, charts, and history.
Types
Detailed coin data from /coins/{id}.
pub type CoinDetail {
CoinDetail(
id: String,
symbol: String,
name: String,
description: option.Option(dict.Dict(String, String)),
market_cap_rank: option.Option(Int),
links: option.Option(CoinLinks),
market_data: option.Option(CoinDetailMarketData),
genesis_date: option.Option(String),
sentiment_votes_up_percentage: option.Option(Float),
sentiment_votes_down_percentage: option.Option(Float),
hashing_algorithm: option.Option(String),
categories: List(String),
last_updated: option.Option(String),
)
}
Constructors
-
CoinDetail( id: String, symbol: String, name: String, description: option.Option(dict.Dict(String, String)), market_cap_rank: option.Option(Int), links: option.Option(CoinLinks), market_data: option.Option(CoinDetailMarketData), genesis_date: option.Option(String), sentiment_votes_up_percentage: option.Option(Float), sentiment_votes_down_percentage: option.Option(Float), hashing_algorithm: option.Option(String), categories: List(String), last_updated: option.Option(String), )
Market data for a coin from /coins/{id}, keyed by currency.
pub type CoinDetailMarketData {
CoinDetailMarketData(
current_price: dict.Dict(String, Float),
market_cap: dict.Dict(String, Float),
total_volume: dict.Dict(String, Float),
high_24h: dict.Dict(String, Float),
low_24h: dict.Dict(String, Float),
price_change_24h: option.Option(Float),
price_change_percentage_24h: option.Option(Float),
market_cap_rank: option.Option(Int),
total_supply: option.Option(Float),
max_supply: option.Option(Float),
circulating_supply: option.Option(Float),
)
}
Constructors
-
CoinDetailMarketData( current_price: dict.Dict(String, Float), market_cap: dict.Dict(String, Float), total_volume: dict.Dict(String, Float), high_24h: dict.Dict(String, Float), low_24h: dict.Dict(String, Float), price_change_24h: option.Option(Float), price_change_percentage_24h: option.Option(Float), market_cap_rank: option.Option(Int), total_supply: option.Option(Float), max_supply: option.Option(Float), circulating_supply: option.Option(Float), )
Historical data for a coin at a specific date.
pub type CoinHistory {
CoinHistory(id: String, symbol: String, name: String)
}
Constructors
-
CoinHistory(id: String, symbol: String, name: String)
Links associated with a coin.
pub type CoinLinks {
CoinLinks(
homepage: List(String),
blockchain_site: List(String),
subreddit_url: option.Option(String),
repos_url: ReposUrl,
)
}
Constructors
-
CoinLinks( homepage: List(String), blockchain_site: List(String), subreddit_url: option.Option(String), repos_url: ReposUrl, )
A coin in the coin list.
pub type CoinListItem {
CoinListItem(id: String, symbol: String, name: String)
}
Constructors
-
CoinListItem(id: String, symbol: String, name: String)
Historical market chart data.
pub type MarketChartData {
MarketChartData(
prices: List(#(Float, Float)),
market_caps: List(#(Float, Float)),
total_volumes: List(#(Float, Float)),
)
}
Constructors
-
MarketChartData( prices: List(#(Float, Float)), market_caps: List(#(Float, Float)), total_volumes: List(#(Float, Float)), )
Market data for a coin from /coins/markets.
pub type MarketData {
MarketData(
id: String,
symbol: String,
name: String,
image: String,
current_price: Float,
market_cap: Float,
market_cap_rank: option.Option(Int),
total_volume: Float,
high_24h: option.Option(Float),
low_24h: option.Option(Float),
price_change_24h: option.Option(Float),
price_change_percentage_24h: option.Option(Float),
circulating_supply: Float,
total_supply: option.Option(Float),
max_supply: option.Option(Float),
ath: Float,
ath_change_percentage: Float,
ath_date: String,
atl: Float,
atl_change_percentage: Float,
atl_date: String,
last_updated: String,
)
}
Constructors
-
MarketData( id: String, symbol: String, name: String, image: String, current_price: Float, market_cap: Float, market_cap_rank: option.Option(Int), total_volume: Float, high_24h: option.Option(Float), low_24h: option.Option(Float), price_change_24h: option.Option(Float), price_change_percentage_24h: option.Option(Float), circulating_supply: Float, total_supply: option.Option(Float), max_supply: option.Option(Float), ath: Float, ath_change_percentage: Float, ath_date: String, atl: Float, atl_change_percentage: Float, atl_date: String, last_updated: String, )
OHLC candlestick data point.
pub type OhlcData {
OhlcData(
timestamp: Float,
open: Float,
high: Float,
low: Float,
close: Float,
)
}
Constructors
-
OhlcData( timestamp: Float, open: Float, high: Float, low: Float, close: Float, )
Repository URLs for a coin.
pub type ReposUrl {
ReposUrl(github: List(String), bitbucket: List(String))
}
Constructors
-
ReposUrl(github: List(String), bitbucket: List(String))
Ticker data for a coin on an exchange.
pub type Ticker {
Ticker(
base: String,
target: String,
last: Float,
volume: Float,
trust_score: option.Option(String),
)
}
Constructors
-
Ticker( base: String, target: String, last: Float, volume: Float, trust_score: option.Option(String), )
Values
pub fn contract_market_chart(
client: client.Client,
platform_id platform_id: String,
contract_address contract_address: String,
vs_currency vs_currency: String,
days days: String,
precision precision: option.Option(String),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(MarketChartData, error.CoinGeckoError)
Get historical market chart data by contract address.
pub fn contract_market_chart_range(
client: client.Client,
platform_id platform_id: String,
contract_address contract_address: String,
vs_currency vs_currency: String,
from from: String,
to to: String,
precision precision: option.Option(String),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(MarketChartData, error.CoinGeckoError)
Get historical market chart data by contract address with custom date range.
pub fn contract_market_chart_range_request(
client: client.Client,
platform_id platform_id: String,
contract_address contract_address: String,
vs_currency vs_currency: String,
from from: String,
to to: String,
precision precision: option.Option(String),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request for historical market chart data by contract address with custom range.
pub fn contract_market_chart_request(
client: client.Client,
platform_id platform_id: String,
contract_address contract_address: String,
vs_currency vs_currency: String,
days days: String,
precision precision: option.Option(String),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request for historical market chart data by contract address.
pub fn decode_coin_detail(
json_string: String,
) -> Result(CoinDetail, error.CoinGeckoError)
Decode a coin detail response from a JSON string.
pub fn decode_coin_history(
json_string: String,
) -> Result(CoinHistory, error.CoinGeckoError)
Decode a coin history response from a JSON string.
pub fn decode_coin_list(
json_string: String,
) -> Result(List(CoinListItem), error.CoinGeckoError)
Decode a coin list response from a JSON string.
pub fn decode_market_chart(
json_string: String,
) -> Result(MarketChartData, error.CoinGeckoError)
Decode a market chart response from a JSON string.
pub fn decode_markets(
json_string: String,
) -> Result(List(MarketData), error.CoinGeckoError)
Decode a markets response from a JSON string.
pub fn decode_ohlc(
json_string: String,
) -> Result(List(OhlcData), error.CoinGeckoError)
Decode an OHLC response from a JSON string.
pub fn decode_tickers(
json_string: String,
) -> Result(TickersResponse, error.CoinGeckoError)
Decode a tickers response from a JSON string.
pub fn get_by_contract(
client: client.Client,
platform_id platform_id: String,
contract_address contract_address: String,
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(CoinDetail, error.CoinGeckoError)
Get coin data by contract address on a specific platform.
pub fn get_by_contract_request(
client: client.Client,
platform_id platform_id: String,
contract_address contract_address: String,
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get coin data by contract address.
pub fn get_by_id(
client: client.Client,
id id: String,
localization localization: option.Option(Bool),
tickers tickers: option.Option(Bool),
market_data market_data: option.Option(Bool),
community_data community_data: option.Option(Bool),
developer_data developer_data: option.Option(Bool),
sparkline sparkline: option.Option(Bool),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(CoinDetail, error.CoinGeckoError)
Get detailed data for a specific coin by ID.
pub fn get_by_id_request(
client: client.Client,
id id: String,
localization localization: option.Option(Bool),
tickers tickers: option.Option(Bool),
market_data market_data: option.Option(Bool),
community_data community_data: option.Option(Bool),
developer_data developer_data: option.Option(Bool),
sparkline sparkline: option.Option(Bool),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get detailed data for a specific coin by ID.
pub fn history(
client: client.Client,
id id: String,
date date: String,
localization localization: option.Option(Bool),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(CoinHistory, error.CoinGeckoError)
Get historical data for a coin at a specific date.
pub fn history_request(
client: client.Client,
id id: String,
date date: String,
localization localization: option.Option(Bool),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get historical data for a coin at a specific date.
pub fn list(
client: client.Client,
include_platform include_platform: option.Option(Bool),
status status: option.Option(String),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(List(CoinListItem), error.CoinGeckoError)
Get list of all supported coins with id, symbol, and name.
pub fn list_request(
client: client.Client,
include_platform include_platform: option.Option(Bool),
status status: option.Option(String),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get list of all supported coins.
pub fn market_chart(
client: client.Client,
id id: String,
vs_currency vs_currency: String,
days days: String,
interval interval: option.Option(String),
precision precision: option.Option(String),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(MarketChartData, error.CoinGeckoError)
Get historical market chart data for a coin.
pub fn market_chart_range(
client: client.Client,
id id: String,
vs_currency vs_currency: String,
from from: String,
to to: String,
interval interval: option.Option(String),
precision precision: option.Option(String),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(MarketChartData, error.CoinGeckoError)
Get historical market chart data for a custom date range.
pub fn market_chart_range_request(
client: client.Client,
id id: String,
vs_currency vs_currency: String,
from from: String,
to to: String,
interval interval: option.Option(String),
precision precision: option.Option(String),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get historical market chart data for a custom date range.
pub fn market_chart_request(
client: client.Client,
id id: String,
vs_currency vs_currency: String,
days days: String,
interval interval: option.Option(String),
precision precision: option.Option(String),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get historical market chart data for a coin.
pub fn markets(
client: client.Client,
vs_currency vs_currency: String,
ids ids: option.Option(List(String)),
category category: option.Option(String),
order order: option.Option(String),
per_page per_page: option.Option(Int),
page page: option.Option(Int),
sparkline sparkline: option.Option(Bool),
price_change_percentage price_change_percentage: option.Option(
String,
),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(List(MarketData), error.CoinGeckoError)
Get coin market data with pagination.
pub fn markets_request(
client: client.Client,
vs_currency vs_currency: String,
ids ids: option.Option(List(String)),
category category: option.Option(String),
order order: option.Option(String),
per_page per_page: option.Option(Int),
page page: option.Option(Int),
sparkline sparkline: option.Option(Bool),
price_change_percentage price_change_percentage: option.Option(
String,
),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get coin market data with pagination.
pub fn ohlc(
client: client.Client,
id id: String,
vs_currency vs_currency: String,
days days: String,
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(List(OhlcData), error.CoinGeckoError)
Get OHLC candlestick data for a coin.
pub fn ohlc_request(
client: client.Client,
id id: String,
vs_currency vs_currency: String,
days days: String,
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get OHLC candlestick data for a coin.
pub fn tickers(
client: client.Client,
id id: String,
exchange_ids exchange_ids: option.Option(String),
page page: option.Option(Int),
order order: option.Option(String),
depth depth: option.Option(Bool),
send sender: fn(request.Request(String)) -> Result(
response.Response(String),
String,
),
) -> Result(TickersResponse, error.CoinGeckoError)
Get exchange tickers for a specific coin.
pub fn tickers_request(
client: client.Client,
id id: String,
exchange_ids exchange_ids: option.Option(String),
page page: option.Option(Int),
order order: option.Option(String),
depth depth: option.Option(Bool),
) -> Result(request.Request(String), error.CoinGeckoError)
Build a request to get exchange tickers for a specific coin.