---
title: CoinAPI API Integration on Truto
slug: coinapi
category: Trading
canonical: "https://truto.one/integrations/detail/coinapi/"
---

# CoinAPI API Integration on Truto



**Category:** Trading  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 50 tools for CoinAPI that AI agents can call directly.

- **list_all_coin_api_exchange_rates** — Get all current exchange rates between a requested base asset and all other assets in CoinAPI. Returns: asset_id_base, rates. Optional filters: filter_asset_id, invert, time. Required: asset_id_base.
- **get_single_coin_api_exchange_rate_by_id** — Get a specific exchange rate between a base asset and a quote asset in CoinAPI, optionally at a historical time. Returns: time, asset_id_base, asset_id_quote, rate. Required: asset_id_base, id.
- **list_all_coin_api_ohlcv** — List historical OHLCV timeseries for a CoinAPI symbol in time ascending order. Returns: time_period_start, time_period_end, time_open, time_close, price_open, price_high, price_low, price_close, volume_traded, trades_count. Required: symbol_id, period_id.
- **list_all_coin_api_options** — List current CoinAPI options data for a specific exchange, grouped by underlying asset, quote currency, and expiration time with call and put quotes at each strike price. Returns: asset_id_base, asset_id_quote, underlying_price, time_expiration, strikes. Required: exchange_id.
- **list_all_coin_api_order_book** — Get the current order book for a specified symbol in CoinAPI. Returns the order book snapshot including symbol_id, time_exchange, time_coinapi, asks (each with id, price, size), and bids (each with id, price, size). Required: symbol_id.
- **list_all_coin_api_order_book_l_3** — List current L3 order books from CoinAPI across all symbols. Returns: symbol_id, time_exchange, time_coinapi, asks, bids, ask_levels, bid_levels, ask_depth, bid_depth.
- **get_single_coin_api_order_book_l_3_by_id** — Get the current L3 order book for a specific symbol from CoinAPI. L3 order books include individual order IDs for each price level. Returns: symbol_id, time_exchange, time_coinapi, asks, bids, ask_levels, bid_levels, ask_depth, bid_depth. Required: symbol_id.
- **list_all_coin_api_quotes** — List current CoinAPI quotes for all symbols, optionally filtered by symbol identifier or exchange. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size, last_trade.
- **get_single_coin_api_quote_by_id** — Get current CoinAPI quotes for a specific symbol by symbol_id. When requesting a specific symbol the output is returned as a single object rather than an array. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size, last_trade. Required: symbol_id.
- **list_all_coin_api_trades** — List the latest CoinAPI trades executed up to 1 minute ago, returned in time descending order. Returns: symbol_id, time_exchange, time_coinapi, uuid, price, size, taker_side, id_trade. Optional: filter_symbol_id to narrow results by symbol identifier.
- **list_all_coin_api_metrics_v_1** — List all data metrics supported by CoinAPI. Returns: metric_id, description. No required parameters.
- **list_all_coin_api_metrics_v_2** — List all metrics available in the CoinAPI system. Returns: metric_id, description.
- **list_all_coin_api_exchanges** — List all exchanges in CoinAPI with aggregated metadata across all symbols. Returns: exchange_id, website, name, data_quote_start, data_quote_end, data_orderbook_start, data_orderbook_end, data_trade_start, data_trade_end, data_symbols_count, volume_1hrs_usd, volume_1day_usd, volume_1mth_usd, rank. Optional: filter_exchange_id.
- **get_single_coin_api_exchange_by_id** — Get a single CoinAPI exchange by id. Returns: exchange_id, website, name, data_quote_start, data_quote_end, data_orderbook_start, data_orderbook_end, data_trade_start, data_trade_end, data_symbols_count, volume_1hrs_usd, volume_1day_usd, volume_1mth_usd, rank. Required: id.
- **list_all_coin_api_assets** — List all CoinAPI assets with aggregated market information across all related symbols. Returns: asset_id, name, type_is_crypto, data_quote_start, data_quote_end, data_orderbook_start, data_orderbook_end, data_trade_start, data_trade_end, data_symbols_count, volume_1hrs_usd, volume_1day_usd, volume_1mth_usd, price_usd, chain_addresses, data_start, data_end.
- **get_single_coin_api_asset_by_id** — Get a single CoinAPI asset by its asset ID. Returns: time, asset_id_base, asset_id_quote, rate. Required: id.
- **list_all_coin_api_chains** — List all blockchain chains supported by CoinAPI. Output properties provide aggregated information from across all symbols related to each chain. Returns: chain_id, name. Optional: filter_chain_id to narrow results.
- **get_single_coin_api_chain_by_id** — Get a specific blockchain chain by its chain ID in CoinAPI. Returns: chain_id, name. Required: id.
- **list_all_coin_api_symbols** — List all currently active (listed) symbols for a specific exchange in CoinAPI, with optional filtering by symbol ID or asset ID. Returns: symbol_id, exchange_id, symbol_type, asset_id_base, asset_id_quote, asset_id_unit, future_contract_unit, future_contract_unit_asset, future_delivery_time, option_type_is_call, option_strike_price, option_contract_unit, option_exercise_style,…
- **list_all_coin_api_exchange_rate_history** — Get historical exchange rate timeseries between two assets in CoinAPI. Returns: time_period_start, time_period_end, time_open, time_close, rate_open, rate_high, rate_low, rate_close. Required: asset_id_base, asset_id_quote, period_id, time_start, time_end. Maximum 100000 items per request.
- **list_all_coin_api_exchange_rate_periods** — List all supported time periods available for requesting CoinAPI exchange rate historical timeseries data. Returns: period_id, length_seconds, length_months, unit_count, unit_name, display_name.
- **list_all_coin_api_exchange_icons** — List icon image URLs for all exchanges in CoinAPI at a given pixel size. Each record in the returned array contains the exchange identifier and a direct URL to its PNG icon hosted on CoinAPI's CDN. Returns: exchange_id, url. Required: size.
- **list_all_coin_api_asset_icons** — List all asset icons of a given size in CoinAPI. Returns: asset_id, url. Required: size.
- **list_all_coin_api_historical_symbols** — List all historical (no longer actively traded) symbols for a given exchange in CoinAPI. Returns: symbol_id, exchange_id, symbol_type, asset_id_base, asset_id_quote, asset_id_unit, future_contract_unit, future_contract_unit_asset, data_start, data_end, data_quote_start, data_quote_end, data_orderbook_start, data_orderbook_end, data_trade_start, data_trade_end, volume_1hrs, volume_1hrs_usd,…
- **get_single_coin_api_symbol_map_by_id** — Get active symbol mappings for a specific exchange in CoinAPI. Returns an array of mapping records including symbol_id, symbol_id_exchange, coinapi_datainfo_id, asset_id_base_exchange, asset_id_quote_exchange, asset_id_base, asset_id_quote, price_precision, and size_precision. Required: id (the exchange ID).
- **list_all_coin_api_ohlcv_latest** — Get OHLCV latest timeseries data from CoinAPI in time descending order. Returns: time_period_start, time_period_end, time_open, time_close, price_open, price_high, price_low, price_close, volume_traded, trades_count. Required: symbol_id, period_id. Data may be delayed a few seconds.
- **list_all_coin_api_ohlcv_periods** — List all supported time periods available for requesting OHLCV timeseries data from CoinAPI. Returns: period_id, length_seconds, length_months, unit_count, unit_name, display_name. Additional periods may be added over time but existing ones will not be removed.
- **list_all_coin_api_ohlcv_exchange_history** — List OHLCV historical timeseries data for a specific exchange in CoinAPI, returned in time ascending order. Returns: time_period_start, time_period_end, time_open, time_close, price_open, price_high, price_low, price_close, volume_traded, trades_count, symbol_id_exchange, symbol_id_coinapi. Required: exchange_id, period_id, time_start, time_end. The time_end–time_start span cannot exceed 1 day…
- **list_all_coin_api_order_book_depth** — Get the current depth of the CoinAPI order book for a specified symbol. Returns: symbol_id, time_exchange, time_coinapi, ask_levels, bid_levels, ask_depth, bid_depth. Required: symbol_id.
- **list_all_coin_api_order_book_history** — List historical CoinAPI order book snapshots for a symbol within a time range, returned in time ascending order. Returns: symbol_id, time_exchange, time_coinapi, asks, bids, ask_levels, bid_levels, ask_depth, bid_depth. Required: symbol_id. Use 'date' for full-day queries or 'time_start' and 'time_end' for specific ranges; maximum 50 levels per side of the book.
- **list_all_coin_api_quote_latest** — Get the latest quote updates from CoinAPI, up to 1 minute ago, returned in time descending order. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size, last_trade.
- **list_all_coin_api_quote_latest_by_symbol** — List the latest quote updates for a specific symbol in CoinAPI. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size. Required: symbol_id.
- **list_all_coin_api_quote_history** — Get historical quote updates for a CoinAPI symbol within a requested time range, returned in time ascending order. Returns: symbol_id, time_exchange, time_coinapi, ask_price, ask_size, bid_price, bid_size. Required: symbol_id. The date parameter is required if time_start is not provided.
- **list_all_coin_api_trade_latest_by_symbol** — List latest CoinAPI trades for a specific symbol, executed up to 1 minute ago and returned in time descending order. Returns: symbol_id, time_exchange, time_coinapi, uuid, price, size, taker_side, id_trade. Required: symbol_id.
- **list_all_coin_api_trade_history** — List historical trades for a specific CoinAPI symbol, returned in time ascending order. Returns: symbol_id, time_exchange, time_coinapi, uuid, price, size, taker_side, id_trade. Required: symbol_id. Either date or time_start must be provided to define the time range.
- **list_all_coin_api_metrics_v_1_exchange** — List all supported exchange metrics in CoinAPI. Returns both exchange-level and symbol-level metrics; for exchange-level metrics symbol_id is null, while for symbol-level metrics it contains the CoinAPI symbol identifier. Returns: metric_id, exchange_id, symbol_id. Required: exchange_id.
- **get_single_coin_api_metrics_v_1_exchange_by_id** — Get current exchange metric values from CoinAPI. Returns the latest values for each metric on the specified exchange. Returns: entry_time, recv_time, exchange_id, metric_id, value_decimal. Required: exchange_id.
- **list_all_coin_api_metrics_v_1_exchange_history** — List historical exchange metrics from CoinAPI. Returns: time_period_start, time_period_end, time_open, time_close, first, last, min, max, count, sum. Required: metric_id, exchange_id. The period_id parameter defaults to 1SEC and time_format can convert returned timestamps to unix format.
- **list_all_coin_api_metrics_v_1_symbol** — List all supported symbol-level metrics in CoinAPI. Returns only symbol-level metrics where a symbol is associated, with symbol_id always populated using the CoinAPI symbol identifier. Returns: metric_id, symbol_id, exchange_id.
- **get_single_coin_api_metrics_v_1_symbol_by_id** — Get current symbol metrics from CoinAPI. Returns the latest metric values for a given symbol with timestamps and decimal values. Returns: entry_time, recv_time, exchange_id, symbol_id, metric_id, value_decimal.
- **list_all_coin_api_metrics_v_1_symbol_history** — List historical metrics for a symbol in CoinAPI. Returns: time_period_start, time_period_end, time_open, time_close, first, last, min, max, count, sum. Required: metric_id, symbol_id.
- **list_all_coin_api_metrics_v_1_asset** — List all supported asset metrics in CoinAPI, optionally filtered by metric, exchange, chain, network, or asset. Returns: metric_id, symbol_id, exchange_id.
- **get_single_coin_api_metrics_v_1_asset_by_id** — Get current asset metrics from CoinAPI, optionally filtered by metric, asset, or exchange. Returns: entry_time, recv_time, exchange_id, metric_id, value_decimal.
- **list_all_coin_api_metrics_v_1_asset_history** — List historical metrics for an asset on CoinAPI. Returns: symbol_id, time, value. Required: metric_id, exchange_id. period_id defaults to 1SEC; time_format can convert returned time values to unix timestamps.
- **list_all_coin_api_metrics_v_2_exchange** — List all metrics available for a specific exchange in CoinAPI. Returns: metric_id, description. Required: exchange_id.
- **list_all_coin_api_metrics_v_2_exchange_history** — List historical exchange metrics from CoinAPI by metric and exchange. Returns time series entries with time_period_start, time_period_end, time_open, time_close, first_value, last_value, min_value, max_value, count_values, and sum_values. Required: metric_id, exchange_id. Maximum 100000 items per request; period_id defaults to 1MIN.
- **list_all_coin_api_metrics_v_2_asset** — List all metrics available for a specific asset in CoinAPI, returning each metric's identifier and human-readable description. Returns: metric_id, description. Required: asset_id.
- **list_all_coin_api_metrics_v_2_asset_history** — List historical asset metrics in CoinAPI by metric and asset. Returns: time_period_start, time_period_end, time_open, time_close, first_value, last_value, min_value, max_value, count_values, sum_values. Required: metric_id, asset_id. Max 100000 items per request.
- **list_all_coin_api_metrics_v_2_chain** — List all metrics available for a specified blockchain chain in CoinAPI. Returns: metric_id, description. Required: chain_id.
- **list_all_coin_api_metrics_v_2_chain_history** — List historical chain metrics timeseries from CoinAPI. Returns: time_period_start, time_period_end, time_open, time_close, first_value, last_value, min_value, max_value, count_values, sum_values. Required: metric_id, chain_id. Period defaults to 1MIN.

## How it works

1. **Link your customer's CoinAPI account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach CoinAPI.** The Proxy API is a 1-to-1 mapping of the CoinAPI API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Point-in-time valuation for crypto tax software** — Tax and accounting platforms can price every historical trade in their users' portfolios by pulling exchange rates at exact transaction timestamps, enabling accurate cost basis and capital gains reporting.
- **Multi-exchange portfolio dashboards for wealth platforms** — Wealth and portfolio management SaaS can aggregate a client's crypto holdings across dozens of exchanges into a unified NAV view using standardized asset IDs and latest quotes.
- **Backtesting engines for algorithmic trading tools** — Trading bot builders and quant research platforms can offer their users years of clean OHLCV and tick-level trade history to simulate strategies without maintaining exchange-specific ingestion pipelines.
- **Liquidity analytics for execution platforms** — OEMS and smart order routing SaaS can surface consolidated L2/L3 order book depth across exchanges so their users can minimize slippage on large block trades.
- **On-chain plus market metrics for crypto intelligence tools** — Analytics platforms can correlate blockchain network metrics with exchange price and volume data to give their users unified signals for research and risk models.

## What you can build

- **Historical rate lookup at transaction time** — Use exchange rate history endpoints to resolve the fiat value of any crypto asset at a specific timestamp for tax, audit, or reporting workflows.
- **Cross-exchange candlestick charting** — Pull standardized OHLCV data across multiple timeframes and exchanges to power charting UIs and technical indicators inside your product.
- **Consolidated order book viewer** — Aggregate L2 depth and L3 order-level data from multiple venues to display real-time market microstructure and slippage estimates.
- **Unified asset and symbol mapping** — Leverage assets, symbols, and symbol-map endpoints to normalize tickers across exchanges into a single master asset ID your product can reason about.
- **Options chain and derivatives dashboards** — Surface unified options data with strikes, expirations, and quotes across venues like Deribit and OKX to power volatility and risk tooling.
- **On-chain and exchange metrics blending** — Combine Metrics V1 and V2 endpoints to correlate chain-level activity (addresses, transactions) with exchange-level volume and price data.

## FAQs

### How do end users authenticate their CoinAPI account through Truto?

CoinAPI uses API key authentication. Your users provide their CoinAPI key during the Truto connection flow, and Truto securely stores and injects it on every request — you never handle the credential directly.

### Which CoinAPI data resources are available through this integration?

The integration exposes exchanges, assets, chains, symbols, exchange rates (current and historical), quotes, trades, OHLCV, order books (including L3 and depth), options, and Metrics V1/V2 for exchanges, symbols, assets, and chains.

### Does Truto handle pagination and rate limiting for CoinAPI?

Yes. Truto normalizes CoinAPI's pagination across list endpoints and manages retries and backoff so you can request large historical ranges (like OHLCV or trade history) without writing that logic yourself.

### Can I fetch historical data for backtesting or tax use cases?

Yes. Dedicated history endpoints are available for exchange rates, OHLCV, order books, quotes, trades, symbols, and metrics — supporting both point-in-time lookups and bulk historical loads.

### How fresh is the market data returned through Truto?

Truto proxies requests to CoinAPI in real time, so latest quote, trade, and OHLCV endpoints return the same freshness CoinAPI provides directly. There is no intermediate caching layer that would delay pricing data.

### Can I request additional CoinAPI endpoints that aren't listed?

Yes. Truto builds integration coverage on request, so if you need endpoints or fields beyond the current tool set, they can be added to the unified integration for your workspace.

## Related reading

- [Connect CoinAPI to Claude: Analyze Historical Trends & Trade Data](https://truto.one/blog/connect-coinapi-to-claude-analyze-historical-trends-trade-data/) — A complete engineering guide to securely connecting CoinAPI to Claude via a managed MCP server to automate cryptocurrency trading analysis and OHLCV data extraction.
- [Connect CoinAPI to ChatGPT: Access Real-Time Market Data & Rates](https://truto.one/blog/connect-coinapi-to-chatgpt-access-real-time-market-data-rates/) — Learn how to connect ChatGPT to CoinAPI using a managed MCP server. Execute complex market data workflows, pull OHLCV timeseries, and analyze order books.
- [Connect CoinAPI to AI Agents: Monitor Order Books & Asset Metrics](https://truto.one/blog/connect-coinapi-to-ai-agents-monitor-order-books-asset-metrics/) — Learn how to connect CoinAPI to AI agents using Truto. Fetch real-time market data tools, handle rate limits, and build autonomous financial workflows.
