openapi: 3.2.0 info: title: Tiingo End Of Day 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: End-of-Day paths: /tiingo/daily/{ticker}: get: operationId: getDailyMeta summary: Get end-of-day metadata for a ticker tags: - End-of-Day externalDocs: url: https://www.tiingo.com/documentation/end-of-day parameters: - name: ticker in: path required: true description: Ticker related to the asset. schema: type: string responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/DailyMeta' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' /tiingo/daily/{ticker}/prices: get: operationId: getDailyPrices summary: Get end-of-day price history for a ticker tags: - End-of-Day externalDocs: url: https://www.tiingo.com/documentation/end-of-day 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 - name: sort in: query required: false description: This field allows you to specify the sort direct and which column to sort by. Prepend "-" if you want descending order, otherwise it will be ascending. E.g. sort=date will sort by date in ascending order. sort=-date will sort by date in descending order. schema: type: string - name: format in: query required: false description: Response format. Supports "json" (default) and "csv". CSV is a bare-bones return type that is often 4-5x faster than JSON. schema: type: string enum: - json - csv responses: '200': description: Successful response content: application/json: schema: type: array items: $ref: '#/components/schemas/DailyPriceBar' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/TooManyRequests' components: schemas: DailyPriceBar: type: object properties: date: type: string format: date 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 for the asset. adjOpen: type: number description: The adjusted opening price for the asset on the given date. adjHigh: type: number description: The adjusted high price for the asset on the given date. adjLow: type: number description: The adjusted low price for the asset on the given date. adjClose: type: number description: The adjusted closing price for the asset on the given date. adjVolume: type: integer description: The number of shares traded for the asset. divCash: type: number description: The dividend paid out on "date" (note that "date" will be the "exDate" for the dividend). splitFactor: type: number description: The factor used to adjust prices when a company splits, reverse splits, or pays a distribution. DailyMeta: type: object properties: ticker: type: string description: Ticker related to the asset. name: type: string description: Full-length name of the asset. exchangeCode: type: string description: An identifier that maps which Exchange this asset is listed on. description: type: string description: Long-form descripton of the asset. startDate: type: string format: date description: The earliest date we have price data available for the asset. When null it means no price data available for the given asset. endDate: type: string format: date description: The latest date we have price data available for the asset. When null it means no price data available for the given asset. 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