openapi: 3.2.0 info: title: Tiingo BOATS 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: BOATS paths: /boats: get: operationId: getBoatsTopOfBook summary: Get BOATS overnight top-of-book and last-sale quotes (beta) tags: - BOATS externalDocs: url: https://www.tiingo.com/documentation/boats parameters: - name: tickers in: query required: false description: Ticker related to the asset. Pass a comma-separated list for multiple tickers (for example aapl,spy). schema: type: string responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/BoatsTopOfBook' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /boats/{ticker}/prices: get: operationId: getBoatsHistoricalPrices summary: Get BOATS overnight historical intraday prices for a ticker (beta) tags: - BOATS externalDocs: url: https://www.tiingo.com/documentation/boats 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. When both dates are omitted, Tiingo returns the latest overnight BOATS session window (8:00 PM-3:59 AM ET). 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. Date-only endDate values are normalized to the BOATS overnight session end (3:59 AM ET). schema: type: string format: date - 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". 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: Accepted for request compatibility with other equity intraday endpoints, but it does not widen the BOATS historical window. BOATS history is limited to the overnight session (8:00 PM-3:59 AM ET) regardless of this flag. 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/BoatsPriceBar' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' components: schemas: BoatsPriceBar: 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 BOATS only. This value will only be exposed if explicitly passed to the "columns" request parameter. E.g. ?columns=open,high,low,close, volume BoatsTopOfBook: 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 refreshed on. quoteTimestamp: type: string format: date-time description: The timestamp of the last quote (bid/ask) update from BOATS. lastSaleTimestamp: type: string format: date-time description: The timestamp of the last trade (last/lastSize) update from BOATS. last: type: number description: Last is the last trade that was executed on BOATS. lastSize: type: integer description: The amount of shares traded (volume) at the last price on BOATS. 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 BOATS . 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 BOATS. high: type: number description: The high price of the asset on the current day. This value is calculated by Tiingo and not provided by BOATS. low: type: number description: The low price of the asset on the current day. This value is calculated by Tiingo and not provided by BOATS. 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 BOATS.' volume: type: integer description: Live BOATS session volume for the ticker. Volume is never delayed on the BOATS REST endpoint. bidSize: type: number description: The amount of shares at the bid price on BOATS. bidPrice: type: number description: The current bid price on BOATS. askSize: type: number description: The amount of shares at the ask price on BOATS. askPrice: type: number description: The current ask price on BOATS. responses: 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. Unauthorized: description: Missing or invalid API token. 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