openapi: 3.2.0 info: title: Tiingo IEX 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: IEX paths: /iex: get: operationId: getIexTopOfBook summary: Get IEX top-of-book and last-sale quotes tags: - IEX externalDocs: url: https://www.tiingo.com/documentation/iex 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/IexTopOfBook' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /iex/{ticker}/prices: get: operationId: getIexHistoricalPrices summary: Get IEX historical intraday prices for a ticker tags: - IEX externalDocs: url: https://www.tiingo.com/documentation/iex 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 - name: afterHours in: query required: false description: If set to true, includes pre and post market data if available. schema: type: boolean - name: forceFill in: query required: false description: Some tickers do not have a trade/quote update for a given time period. if forceFill is set to true, then the previous OHLC will be used to fill the current OHLC. schema: type: boolean responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/IexPriceBar' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' components: schemas: IexPriceBar: type: object properties: date: type: string format: date-time description: The date this data pertains to. 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. volume: type: integer description: The number of shares traded on IEX only. This value will only be exposed if explicitly passed to the "columns" request parameter. E.g. ?columns=open,high,low,close, volume IexTopOfBook: type: object properties: ticker: type: string description: Ticker related to the asset. timestamp: type: string format: date-time description: The timestamp the data was last refresh on. quoteTimestamp: type: string format: date-time description: The timestamp the last time the quote (bid/ask) data was received from IEX. IEX entitlement required lastSaleTimestamp: type: string format: date-time description: The timestamp the last time the trade (last/lastSize) data was received from IEX. IEX entitlement required last: type: number description: Last is the last trade that was executed on IEX. IEX entitlement required lastSize: type: integer description: The amount of shares traded (volume) at the last price on IEX. IEX entitlement required tngoLast: type: number description: Tiingo Last is either the last price or mid price. The mid price is only used if our algo determines it is a good proxy for the last price. So if the spread is considered wide by our algo, we do not use it. Also, after the official exchange print comes in, this value changes to that value. This value is calculated by Tiingo and not provided by IEX . prevClose: type: number description: Previous day's closing price of the security.This can be from any of the exchanges, NYSE, NASDAQ, IEX, etc. open: type: number description: The opening price of the asset on the current day This value is calculated by Tiingo and not provided by IEX. high: type: number description: The high price of the asset on the current day This value is calculated by Tiingo and not provided by IEX. low: type: number description: The low price of the asset on the current day This value is calculated by Tiingo and not provided by IEX. mid: type: number description: 'The mid price of the current timestamp when both "bidPrice" and "askPrice" are not-null. In mathematical terms: mid = (bidPrice + askPrice)/2.0 This value is calculated by Tiingo and not provided by IEX.' volume: type: integer description: Volume will be IEX Volume throughout the day, but once the official closing price comes in, volume will reflect the volume done on the entire day across all exchanges. This field is available for convenience. bidSize: type: number description: The amount of shares at the bid price. IEX entitlement required bidPrice: type: number description: The current bid price. IEX entitlement required askSize: type: number description: The amount of shares at the ask price. IEX entitlement required askPrice: type: number description: The current ask price. IEX entitlement required 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 .' 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