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

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

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),
    )

Tickers response wrapping a list of tickers.

pub type TickersResponse {
  TickersResponse(name: String, tickers: List(Ticker))
}

Constructors

  • TickersResponse(name: String, tickers: List(Ticker))

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.

Search Document