Skip to main content

CoinAPI

CoinAPI is a comprehensive cryptocurrency market data platform that aggregates real-time and historical data from 400+ spot, derivatives, and options exchanges into a single unified API. It delivers tick-by-tick precision across trades, quotes, OHLCV (Open/High/Low/Close/Volume) candlesticks, order books, and exchange rates for thousands of trading pairs. Organizations use CoinAPI to power algorithmic trading systems, financial analytics applications, portfolio monitoring dashboards, and quantitative research workflows.

CoinAPI icon

Power end-to-end data operations for your CoinAPI API with Nexla. Our bi-directional CoinAPI connector is purpose-built for CoinAPI, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to CoinAPI or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your CoinAPI workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

To connect Nexla to CoinAPI, you will need an active CoinAPI account with an API key. CoinAPI uses API key authentication — all REST API requests are authorized by passing your API key in the X-CoinAPI-Key request header.

Obtain a CoinAPI API Key

CoinAPI manages accounts and API keys through the CoinAPI Customer Portal. Follow the steps below to create an account and generate an API key.

Create a CoinAPI Account

  1. Navigate to console.coinapi.io.

  2. Enter your email address in the login field and click Send OTP to Email. If you do not yet have an account, one will be created automatically.

  3. Check your email inbox for a one-time passcode (OTP) and enter it in the verification field on the portal page.

  4. After successful verification you will land on your CoinAPI Customer Portal dashboard.

Generate an API Key

  1. In the Customer Portal, navigate to the API Keys section in the left sidebar.

  2. Click Create API Key.

  3. Select Standard Key as the key type. Standard Keys are recommended for REST API and WebSocket access and are compatible with all CoinAPI endpoints.

  4. Give your key a descriptive name (for example, nexla-integration) so you can identify it later.

  5. Click Create to generate the key. Copy the API key value immediately and store it in a secure location — the full key value is displayed only once.

CoinAPI API keys grant access to market data based on your subscription plan. Review your plan's rate limits and data entitlements before configuring Nexla data flows. Additional API keys can be created for different integrations or environments (for example, separate keys for development and production).

Add a Payment Method (Required to Activate Free Credits)

  1. To activate the $25 in free credits included with new accounts, navigate to Billing in the Customer Portal and add a valid payment method. No charges are made unless you upgrade your plan or exceed the free credit balance.
Important

Store your CoinAPI API key securely. Anyone with access to the key can make API calls against your CoinAPI account and consume your plan's rate-limit quota. Rotate the key immediately if you suspect it has been compromised by deleting it in the Customer Portal and creating a new one.

Authenticate

Create a credential in Nexla

  1. To create a new CoinAPI credential, after selecting the data source type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your CoinAPI API key in the API Key field. This key authenticates every request Nexla makes to the CoinAPI REST API and should be kept secure. Nexla passes the API key in the X-CoinAPI-Key HTTP request header, which is the method recommended by CoinAPI for production environments. Passing the key as a URL query parameter is also supported by CoinAPI but is less secure and is not recommended.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source creation and can be selected for use with a new data source.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the CoinAPI connector tile, then select the credential that will be used to connect to the CoinAPI instance, and click Next; or, create a new CoinAPI credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common CoinAPI endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

OHLCV Historical Data

Retrieves historical OHLCV (Open, High, Low, Close, Volume) candlestick data for a specific trading symbol and time period. Use this endpoint when you need to analyze price history, build charts, backtest trading strategies, or run quantitative analysis on cryptocurrency market data.

  • Enter the symbol identifier for the trading pair in the Symbol ID field. CoinAPI symbol IDs follow the format EXCHANGE_SPOT_BASE_QUOTE — for example, COINBASE_SPOT_BTC_USD for Bitcoin/USD on Coinbase, or BINANCE_SPOT_ETH_USDT for Ethereum/USDT on Binance. A full list of available symbols can be retrieved using the List Symbols endpoint.

  • Select the candle period from the Period ID field. CoinAPI supports a wide range of periods including:

    • 1SEC, 5SEC, 10SEC, 15SEC, 30SEC — sub-minute intervals
    • 1MIN, 2MIN, 3MIN, 5MIN, 10MIN, 15MIN, 30MIN — minute intervals
    • 1HRS, 2HRS, 3HRS, 4HRS, 6HRS, 8HRS, 12HRS — hourly intervals
    • 1DAY, 2DAY, 3DAY, 5DAY, 7DAY, 10DAY — daily intervals
    • 1MTH, 2MTH, 3MTH, 4MTH, 6MTH — monthly intervals
    • 1YRS, 2YRS, 3YRS, 4YRS, 5YRS — yearly intervals
  • Enter the start of the requested time range in the Time Start field using ISO 8601 format (for example, 2024-01-01T00:00:00). This is a required field.
  • Optionally, enter the end of the requested time range in the Time End field using ISO 8601 format. If left blank, CoinAPI will return data from Time Start up to the current time.
  • Optionally, enter the maximum number of candles to return in the Limit field. CoinAPI's default is 100 candles per request. Increasing this value retrieves more data per call; your plan's rate limits apply.

OHLCV data availability varies by exchange and symbol. Some exchanges may have gaps in historical data for older periods. Consult the CoinAPI documentation at docs.coinapi.io/market-data/rest-api/ohlcv/ for full details on available periods and coverage.

List Trades (Historical)

Retrieves tick-by-tick historical trade executions for a specific symbol over a specified time range. Each trade record includes symbol ID, exchange time, CoinAPI normalized time, price, size (volume), a unique UUID, and the taker side (buy/sell). Use this endpoint for high-precision analysis, transaction-level auditing, or building order flow metrics.

  • Enter the symbol identifier in the Symbol ID field using the CoinAPI format, for example KRAKEN_SPOT_BTC_USD.
  • Enter the start timestamp for the trade history range in the Time Start field using ISO 8601 format (for example, 2024-06-01T00:00:00).
  • Optionally, enter the end timestamp in the Time End field. If omitted, trades through the current time are returned.
  • Optionally, set the Limit field to control the maximum number of trades returned per request. Defaults to 100; maximum is plan-dependent.

Trade-level data produces large volumes of records for active symbols. Consider using a narrower time range or applying a reasonable limit when working with high-frequency pairs.

Get Exchange Rate

Returns the current or historical exchange rate between any two assets (assets can be cryptocurrency or fiat currency). CoinAPI calculates rates by aggregating cross-rates across all available exchanges. Use this endpoint for currency conversion, pricing, or portfolio valuation workflows.

  • Enter the base asset code in the Asset ID Base field, for example BTC, ETH, or USD.
  • Enter the quote asset code in the Asset ID Quote field, for example USD, EUR, or USDT.
  • Optionally, enter a specific timestamp in the Time field using ISO 8601 format to retrieve the historical exchange rate at that point in time. If left blank, the current exchange rate is returned.

Asset codes use the CoinAPI asset ID format. A full list of supported assets is available at docs.coinapi.io/market-data/rest-api/metadata/.

List All Exchange Rates for a Base Asset

Returns the current exchange rates for a given base asset against all available quote assets in a single response. This is the most efficient way to retrieve a complete snapshot of an asset's value across all supported currencies at once, and is particularly useful for portfolio valuation and multi-currency reporting.

  • Enter the base asset code in the Asset ID Base field, for example BTC or ETH.
  • Optionally, enter a specific timestamp in the Time field using ISO 8601 format to retrieve historical rates at that point in time. Omitting this field returns current rates.

List Symbols

Returns metadata for all trading symbols available through CoinAPI, including symbol IDs, exchange IDs, base and quote asset codes, and data availability dates. Use this endpoint to discover available trading pairs and verify which symbols have historical data coverage for the exchanges and assets you need.

  • Optionally, filter results by entering an exchange ID in the Filter Exchange ID field (for example, COINBASE, BINANCE, or KRAKEN). Leaving this field blank returns metadata for all symbols across all exchanges.
  • Optionally, filter by asset by entering an asset ID in the Filter Asset ID field (for example, BTC or ETH). This returns only symbols that include the specified asset as either the base or quote.
  • Optionally, filter by symbol type using the Filter Symbol Type field. Valid values include SPOT, FUTURES, PERPETUAL, and OPTION.

The List Symbols endpoint returns a large dataset. Using filters is recommended to limit the response to the exchanges, assets, or symbol types relevant to your use case. The full symbols list is also available in the CoinAPI documentation at docs.coinapi.io/market-data/rest-api/metadata/.

List Assets

Returns metadata for all assets (cryptocurrencies and fiat currencies) tracked by CoinAPI, including asset IDs, names, and whether each is a cryptocurrency. Use this endpoint to build reference tables, populate dropdowns in downstream applications, or understand the universe of assets available in CoinAPI.

  • Optionally, filter results by entering one or more asset IDs in the Filter Asset ID field (for example, BTC, ETH, or USD) to retrieve metadata for specific assets only.

List Exchanges

Returns metadata for all cryptocurrency exchanges supported by CoinAPI, including exchange IDs, names, website URLs, and the data types available (trades, quotes, order book, OHLCV). Use this endpoint to identify supported exchanges and confirm data availability before configuring other endpoints.

  • Optionally, filter results by entering one or more exchange IDs in the Filter Exchange ID field (for example, BINANCE or COINBASE). Leaving this blank returns all supported exchanges.

CoinAPI supports 400+ exchanges. Refer to the full exchange list in the CoinAPI documentation at docs.coinapi.io/market-data/rest-api/metadata/ for exchange IDs and supported data types.

Get Current Order Book

Returns the current order book snapshot for a specific symbol, including the top bid and ask levels with prices and sizes. Use this endpoint for real-time market depth analysis, liquidity assessments, or monitoring spread and order book imbalance.

  • Enter the symbol identifier in the Symbol ID field using the CoinAPI format, for example COINBASE_SPOT_BTC_USD.
  • Optionally, enter the number of order book levels to return in the Limit Levels field. By default, CoinAPI returns up to 20 levels per side. Higher values provide deeper order book visibility at the cost of larger response payloads.

Order book data availability (L2 vs. L3 depth) depends on the exchange. L3 (full order book with individual order IDs) is available only for selected exchanges including BITSO and COINBASE. For other exchanges, only aggregated L2 order book data is available.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

CoinAPI data sources can also be manually configured to ingest data from any valid CoinAPI REST API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

CoinAPI's Market Data REST API exclusively uses GET for data retrieval, with a base URL of https://rest.coinapi.io/v1/ — for example, https://rest.coinapi.io/v1/ohlcv/COINBASE_SPOT_BTC_USD/history?period_id=1DAY&time_start=2024-01-01 or https://rest.coinapi.io/v1/exchangerate/BTC/USD. Date/time macros are especially useful for endpoints that accept time_start and time_end query parameters, and lookup-based macros can drive record-level endpoints, such as iterating over a list of symbol IDs retrieved from the List Symbols endpoint.

CoinAPI's OHLCV and trade responses return a top-level JSON array, so the path to data is typically entered as $[*]. Some endpoints include top-level fields such as symbol_id or time_period_start alongside the data array, which can be captured using the metadata path. You do not need to add the X-CoinAPI-Key authentication header manually — Nexla adds it automatically from the configured credential — but a custom header such as Accept: text/csv can be added to request CSV output on supported endpoints.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new CoinAPI data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.