Tiingo Crypto API

The Crypto API from Tiingo — 3 operation(s) for crypto.

Operations 3

GET /tiingo/crypto Get metadata for crypto tickers #
GET /tiingo/crypto/top Get top-of-book quotes for crypto tickers #
GET /tiingo/crypto/prices Get historical crypto price data #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tiingo-crypto-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tiingo-crypto-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tiingo Crypto API
  version: 1.0.0
  description: 'Tiingo''s REST API for financial market data: end-of-day equity prices, IEX intraday, BOATS overnight equity data, consolidated equity realtime snapshots, crypto, crypto yield, forex, fundamentals, mutual fund and ETF fees, corporate actions, curated news, and asset search. Most endpoints return JSON by default and support CSV via the format parameter. Generated by API Evangelist from Tiingo''s published documentation (https://www.tiingo.com/documentation/) - Tiingo does not publish an OpenAPI itself.'
  termsOfService: https://www.tiingo.com/about/terms
  contact:
    name: Tiingo Support
    url: https://www.tiingo.com/support
    email: support@tiingo.com
  x-apievangelist:
    generated: '2026-07-22'
    method: generated
    source: https://apimedia.tiingo.com/dist/src_app_api_documentation_documentation_module_ts-es2015.f5eea3d64917e26bb724.js
servers:
- url: https://api.tiingo.com
security:
- apiTokenHeader: []
- apiTokenQuery: []
tags:
- name: Crypto
paths:
  /tiingo/crypto:
    get:
      operationId: listCryptoMeta
      summary: Get metadata for crypto tickers
      tags:
      - Crypto
      externalDocs:
        url: https://www.tiingo.com/documentation/crypto
      parameters:
      - name: tickers
        in: query
        required: false
        description: 'The ticker(s) associated with the crypto pair(s). Can either be a single string or an array of strings (string[]). Please note: no more than 100 tickers may be requested at this time. If no ticker(s) are passed, returns data for all supported crypto pairs.'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CryptoMeta'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /tiingo/crypto/top:
    get:
      operationId: getCryptoTopOfBook
      summary: Get top-of-book quotes for crypto tickers
      tags:
      - Crypto
      externalDocs:
        url: https://www.tiingo.com/documentation/crypto
      parameters:
      - name: tickers
        in: query
        required: true
        description: 'The ticker(s) associated with the crypto pair(s). Can either be a single string or an array of strings (string[]). Please note: no more than 100 tickers may be requested at this time.'
        schema:
          type: string
      - name: exchanges
        in: query
        required: false
        description: If you would like to limit the query to a subset of exchanes, pass a comma-separated list of exchanged to select. E.g. "POLONIEX, GDAX".
        schema:
          type: array
          items:
            type: string
      - name: includeRawExchangeData
        in: query
        required: false
        description: If True, the endpoint will return all of the underlying exchange data used in the calculation. If this is set to true, there will be a new field called exchangeData for each crypto. This will contain the exchange-level OHLC for each asset.
        schema:
          type: boolean
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CryptoTopOfBook'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /tiingo/crypto/prices:
    get:
      operationId: getCryptoPrices
      summary: Get historical crypto price data
      tags:
      - Crypto
      externalDocs:
        url: https://www.tiingo.com/documentation/crypto
      parameters:
      - name: tickers
        in: query
        required: true
        description: 'The ticker(s) associated with the crypto pair(s). Can either be a single string or an array of strings (string[]). Please note: no more than 100 tickers may be requested at this time.'
        schema:
          type: string
      - name: exchanges
        in: query
        required: false
        description: If you would like to limit the query to a subset of exchanes, pass a comma-separated list of exchanged to select. E.g. "POLONIEX, GDAX".
        schema:
          type: array
          items:
            type: string
      - name: startDate
        in: query
        required: false
        description: If startDate or endDate is not null, historical data will be queried. This filter limits metrics to on or later than the startDate (>=). Parameter must be in YYYY-MM-DD format.
        schema:
          type: string
          format: date-time
      - name: endDate
        in: query
        required: false
        description: f startDate or endDate is not null, historical data will be queried. This filter limits metrics to on or less than the endDate (<=). Parameter must be in YYYY-MM-DD format.
        schema:
          type: string
          format: date-time
      - name: resampleFreq
        in: query
        required: false
        description: 'This allows you to set the frequency in which you want data resampled. For example "1hour" would return the data where OHLC is calculated on an hourly schedule. The minimum value is "1min". Units in minutes (min), hours (hour), and days (day) are accepted. Format is # + (min/hour/dau); e.g. "15min", "4hour" or "1day". If no value is provided, defaults to 5min.'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CryptoPrices'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    CryptoTopOfBook:
      type: object
      properties:
        ticker:
          type: string
          description: Ticker related to the asset.
        baseCurrency:
          type: string
          description: The base pair of the cryptocurrency, e.g. "btc" for "btcusd".
        quoteCurrency:
          type: string
          description: The quote pair of the cryptocurrency, e.g. "usd" for "btcusd".
        topOfBookData:
          allOf:
          - $ref: '#/components/schemas/CryptoTopOfBookData'
          description: Stores the top-of-book data being returned. See the table below for the fields in this object.
        exchangeData:
          type: object
          description: The underlying data for each exchange. This will only be returned if the includeRawExchangeData flag is set to "true".
    CryptoPriceBar:
      type: object
      properties:
        date:
          type: string
          format: date-time
          description: The datetime this data pertains to. It will be a timestamp dependent upon the resampleFreq parameter. For example, if resampleFreq=5min, it will be in 5 min increments.
        open:
          type: number
          description: The opening price for the asset on the given date.
        high:
          type: number
          description: The high price for the asset on the given date.
        low:
          type: number
          description: The low price for the asset on the given date.
        close:
          type: number
          description: The closing price for the asset on the given date.
        tradesDone:
          type: integer
          description: The number of trades done on the given date.
        volume:
          type: number
          description: The volume done for the asset on the specific date in the base currency.
        volumeNotional:
          type: number
          description: 'The last size done for the asset on the specific date in the quote currency. The volume done for the asset on the specific date in the quote currency. In mathematical terms: volumeNotional = close * volume'
    CryptoMeta:
      type: object
      properties:
        ticker:
          type: string
          description: Ticker related to the asset.
        baseCurrency:
          type: string
          description: The base pair of the cryptocurrency, e.g. "btc" for "btcusd".
        quoteCurrency:
          type: string
          description: The quote pair of the cryptocurrency, e.g. "usd" for "btcusd".
        name:
          type: string
          description: Full-length name of the asset.
        description:
          type: string
          description: Long-form descripton of the asset.
    CryptoPrices:
      type: object
      properties:
        ticker:
          type: string
          description: Ticker related to the asset.
        baseCurrency:
          type: string
          description: The base pair of the cryptocurrency, e.g. "btc" for "btcusd".
        quoteCurrency:
          type: string
          description: The quote pair of the cryptocurrency, e.g. "usd" for "btcusd".
        priceData:
          allOf:
          - $ref: '#/components/schemas/CryptoPriceBar'
          description: Stores the top-of-book data being returned. See the table below for the fields in this object.
        exchangeData:
          type: object
          description: The underlying data for each exchange. This will only be returned if the includeRawExchangeData flag is set to "true".
    CryptoTopOfBookData:
      type: object
      properties:
        quoteTimestamp:
          type: string
          format: date-time
          description: The timestamp the last time the quote (bid/ask) data was received from any crypto exchange.
        lastSaleTimestamp:
          type: string
          format: date-time
          description: The timestamp the last time the trade (last/lastSize) data was received from any crypto exchange.
        lastPrice:
          type: number
          description: Last price is the last price that was executed on any crypto exchange.
        lastSize:
          type: number
          description: The amount of crypto volume done at the last price in the base currency.
        lastSizeNotional:
          type: number
          description: 'The last size done for the asset on the specific date in the quote currency. The notional of the volume traded. In mathematical terms: lastSizeNotional = lastPrice * lastSize'
        lastExchange:
          type: string
          description: The full name of the exchange the "lastPrice" and "lastSize" were executed on.
        bidSize:
          type: number
          description: The amount of shares at the bid price.
        bidPrice:
          type: number
          description: The current bid price.
        bidExchange:
          type: string
          description: The full name of the exchange the "bidPrice" and "bidSize" are located on.
        askSize:
          type: number
          description: The amount of shares at the ask price.
        askPrice:
          type: number
          description: The current ask price.
        askExchange:
          type: string
          description: The full name of the exchange the "askPrice" and "askSize" are located on.
  responses:
    Unauthorized:
      description: Missing or invalid API token.
    TooManyRequests:
      description: Usage limit exceeded. Tiingo limits by hourly requests (reset every hour), daily requests (reset at midnight EST), and monthly bandwidth (reset the first of every month at midnight EST); there is no per-minute or per-second rate limit.
  securitySchemes:
    apiTokenHeader:
      type: apiKey
      in: header
      name: Authorization
      description: 'Pass your API token in the Authorization header as: Authorization: Token <your-token>.'
    apiTokenQuery:
      type: apiKey
      in: query
      name: token
      description: Pass your API token directly in the request URL via the token query parameter.
externalDocs:
  description: Tiingo API documentation
  url: https://www.tiingo.com/documentation/general/overview