Tiingo Forex API

The Forex API from Tiingo — 2 operation(s) for forex.

Operations 2

GET /tiingo/fx/top Get forex top-of-book quotes #
GET /tiingo/fx/{ticker}/prices Get historical forex rates for a currency pair #

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-forex-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-forex-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Tiingo Forex 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: Forex
paths:
  /tiingo/fx/top:
    get:
      operationId: getForexTopOfBook
      summary: Get forex top-of-book quotes
      tags:
      - Forex
      externalDocs:
        url: https://www.tiingo.com/documentation/forex
      parameters:
      - name: tickers
        in: query
        required: false
        description: Ticker related to the asset.
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ForexTopOfBook'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /tiingo/fx/{ticker}/prices:
    get:
      operationId: getForexPrices
      summary: Get historical forex rates for a currency pair
      tags:
      - Forex
      externalDocs:
        url: https://www.tiingo.com/documentation/forex
      parameters:
      - name: ticker
        in: path
        required: true
        description: Ticker related to the asset.
        schema:
          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 after the startDate (>=). Parameter must be in YYYY-MM-DD format.
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        required: false
        description: If startDate or endDate is not null, historical data will be queried. This filter limits metrics to on or before the endDate (<=). Parameter must be in YYYY-MM-DD format.
        schema:
          type: string
          format: date
      - name: resampleFreq
        in: query
        required: false
        description: 'his 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". Both units in minutes (min) and hours (hour) are accepted. Format is # + (min/hour); e.g. "15min" or "4hour". 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/ForexPriceBar'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    ForexPriceBar:
      type: object
      properties:
        date:
          type: string
          format: date-time
          description: The date this data pertains to.
        ticker:
          type: string
          description: Ticker related to the asset.
        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.
    ForexTopOfBook:
      type: object
      properties:
        ticker:
          type: string
          description: Ticker related to the asset.
        quoteTimestamp:
          type: string
          format: date-time
          description: The timestamp the data was last refresh on.
        midPrice:
          type: number
          description: 'The mid price of the current timestamp when both "bidPrice" and "askPrice" are not-null. In mathematical terms: midPrice = (bidPrice + askPrice)/2.0'
        bidSize:
          type: number
          description: The amount of units at the bid price.
        bidPrice:
          type: number
          description: The current bid price.
        askSize:
          type: number
          description: The amount of units at the ask price.
        askPrice:
          type: number
          description: The current ask price.
  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