openapi: 3.2.0 info: title: Tiingo Small Exchange 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: Small Exchange paths: /smallx/meta: get: operationId: getSmallXMeta summary: Get Small Exchange contract metadata tags: - Small Exchange externalDocs: url: https://www.tiingo.com/documentation/small-exchange parameters: - name: tickers in: query required: false description: Specific tickers to return meta data for. If no string passed, will return meta data for all available tickers. Can either be a single ticker, a comma-separated list of tickers, or an array of strings (string[]). schema: type: string responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/SmallXMeta' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /smallx/tops: get: operationId: getSmallXTopOfBook summary: Get Small Exchange top-of-book quotes tags: - Small Exchange externalDocs: url: https://www.tiingo.com/documentation/small-exchange 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/SmallXTopOfBook' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /smallx/{ticker}/prices: get: operationId: getSmallXIntradayPrices summary: Get Small Exchange intraday price history tags: - Small Exchange externalDocs: url: https://www.tiingo.com/documentation/small-exchange 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/SmallXPriceBar' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /smallx/{ticker}/eod: get: operationId: getSmallXEodPrices summary: Get Small Exchange end-of-day price history tags: - Small Exchange externalDocs: url: https://www.tiingo.com/documentation/small-exchange 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: 'Allows resampled values that allow you to choose the values returned as daily, weekly, monthly, or annually values. Note: ONLY DAILY takes into account holidays. All others use standard business days Acceptable values: daily : Values returned as daily periods, with a holiday calendar. weekly : Values returned as weekly data, with days ending on Friday. monthly : Values returned as monthly data, with days ending on the last standard business day (Mon-Fri) of each month. annually : Values returned as annual data, with days ending on the last standard business day (Mon-Fri) of each year. Note, that if you choose a value in-between the resample period for weekly, monthly, and daily, the start date rolls back to consider the entire period. For example, if you choose to resample weekly, but your "startDate" parameter is set to Wednesday of that week, the startDate will be adjusted to Monday, so the entire week is captured. Another example is if you send a startDate mid-month, we roll back the startDate to the beginning of the month. Similarly, if you provide an endDate, and it''s midway through the period, we roll-forward the date to capture the whole period. In the above example, if the end date is set to a wednesday with a weekly resample, the end date is rolled forward to the Friday of that week.' schema: type: string responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/SmallXEodBar' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' components: schemas: SmallXMeta: type: object properties: permaTicker: type: string description: Permanent Tiingo Ticker mapping to the security. Can be used as a primary key. ticker: type: string description: Ticker related to the asset. name: type: string description: Full-length name of the asset. baseTicker: type: string description: The base ticker for the given contract. This is the base tickers that the calendar and year identifier are appended to in order to create the Small Exchange ticker. E.g. "SMO" baseCurrency: type: string description: The currency the contract is denominated in. cfiCode: type: string description: The standardized CFI code for the given contract. firstTradingDate: type: string format: date description: The first date the contract was able to be traded. lastTradingDate: type: string format: date description: The last date the contract is tradeable. expirationDate: type: string format: date description: The date the contract expires. maturityDate: type: string format: date description: The date the contract reaches maturity. tickSize: type: number description: The smallest amount the contract can increment or decrement by. tickMulitplier: type: number description: The amount you need to multiple the contract price by to get the notional (in baseCurrency) of the value of the contract. E.g. a price of 35.0 with a baseCurrency of USD and multiplier of 100, means each contract is worth $3500.00 (35 * 100). SmallXEodBar: 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. settlementPrice: type: number description: The settlement price of the contract as determined by the Small Exchange. volume: type: integer description: The number of shares traded on the Small Exchange. openInterest: type: integer description: The open interest of the contract. SmallXTopOfBook: 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 the Small Exchange. lastSaleTimestamp: type: string format: date-time description: The timestamp the last time the trade (last/lastSize) data was received from Small Exchange. last: type: number description: Last is the last trade that was executed on Small Exchange. lastSize: type: integer description: The amount of shares traded (volume) at the last price on Small Exchange. 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 the Small Exchange . prevClose: type: number description: Previous day's closing price of the security. open: type: number description: The opening price of the asset on the current day as set by "tngoLast" in the docs. This value is calculated by Tiingo and not provided by the Small Exchange. high: type: number description: The high price of the asset on the current day as set by "tngoLast" in the docs. This value is calculated by Tiingo and not provided by the Small Exchange. low: type: number description: The close price of the asset on the current day as set by "tngoLast" in the docs. This value is calculated by Tiingo and not provided by the Small Exchange. 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 the Small Exchange.' volume: type: integer description: Total volume traded on the Small Exchange for the given instrument. bidSize: type: number description: The amount of shares at the bid price. bidPrice: type: number description: The current bid price. askSize: type: number description: The amount of shares at the ask price. askPrice: type: number description: The current ask price. openInterest: type: integer description: The current Open Interest for the given instrument. SmallXPriceBar: 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 the Small Exchange. 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