openapi: 3.2.0 info: title: Finage Market Data Indices API description: Finage is a real-time and historical market data provider covering US and global stocks, forex, cryptocurrencies, indices, ETFs, bonds, and company fundamentals. This OpenAPI was generated by API Evangelist from Finage's own machine-readable docs database (https://api.finage.co.uk/op/v1/endpoints/list — the same JSON the docs at https://finage.co.uk/docs/api render); every path, parameter, and example comes from that source. All endpoints are read-only GET requests authenticated with an apikey query parameter. Responses must be requested with gzip Accept-Encoding (the API returns 406 "GZip compression required" otherwise). version: 1.0.0 contact: name: Finage Support email: support@finage.co.uk url: https://finage.co.uk x-apievangelist: generated: '2026-07-22' method: generated source: https://api.finage.co.uk/op/v1/endpoints/list servers: - url: https://api.finage.co.uk security: - apiKey: [] tags: - name: Indices paths: /last/index/{symbol}: get: operationId: cfdIndexLastPrice summary: CFD Index Last Price description: You can get the last quote for a symbol with this endpoint. tags: - Indices parameters: - name: symbol in: path required: true description: Index symbol that you want to get prices schema: type: string responses: '200': description: CFD Index Last Price response. content: application/json: schema: type: object properties: symbol: type: string description: Symbol name price: type: number description: Latest price timestamp: type: integer format: int64 description: Timestamp [ms] example: symbol: US2000 price: 2369.2399 timestamp: 1763928807660 '401': $ref: '#/components/responses/Unauthorized' /agg/index/{symbol}/{time}/{from}/{to}: get: operationId: cfdIndexMarketAggregatesApi summary: CFD Index Market Aggregates API description: With the Index Market Aggregates API, you can get the tick bars of the index market. tags: - Indices parameters: - name: symbol in: path required: true description: Symbol Name schema: type: string - name: time in: path required: true description: Size of the time. [1min, 5min, 15min, 30min, 45min, 1h, 2h, 4h, 1day, 1week, 1month] schema: type: string - name: from in: path required: true description: Start date [yyyy-MM-dd] schema: type: string - name: to in: path required: true description: End date [yyyy-MM-dd] schema: type: string - name: limit in: query required: false description: Limit of the results. Default is 100, maximum allowed limit is 5000. Please set a limit if you are using the API in the production. schema: type: string - name: sort in: query required: false description: You can sort the results by timestamp. asc will return ascending results oldest to newest, desc will return descending results newest to oldest. Default is asc. schema: type: string - name: date_format in: query required: false description: 'Choose date format: ''dt'' for datetime or ''ts'' for timestamp. [Default: timestamp]' schema: type: string - name: dbt_filter in: query required: false description: Daily-based time filter. You can allow the time filters to filter daily based. Otherwise, the filter will only trim the start and end of the output. Default is false. schema: type: string - name: st in: query required: false description: Start time in UTC. (Eg. 17:30) schema: type: string - name: et in: query required: true description: End time in UTC. (Eg. 17:45) schema: type: string responses: '200': description: CFD Index Market Aggregates API response. content: application/json: schema: type: object properties: symbol: type: string description: Symbol of the index totalResults: type: integer description: Total result size o: type: number description: Open price h: type: number description: Highest price l: type: number description: Lowest price c: type: number description: Close price v: type: integer description: Volume t: type: integer format: int64 description: Timestamp [ms] example: symbol: US2000 totalResults: 3 results: - o: 2478.74956 h: 2478.74956 l: 2478.74956 c: 2478.74956 v: 1 t: 1761955200000 - o: 2479.0647 h: 2481.97639 l: 2441.67663 c: 2470.5729 v: 9238 t: 1762128000000 - o: 2470.69648 h: 2470.96822 l: 2425.40043 c: 2427.13484 v: 10237 t: 1762214400000 '401': $ref: '#/components/responses/Unauthorized' /agg/index/prev-close/{symbol}: get: operationId: cfdIndexPreviousCloseApi summary: CFD Index Previous Close API description: With the Index Previous Close API, you can get the previous day's last tick bar of the index market. tags: - Indices parameters: - name: symbol in: path required: true description: Symbol of the index schema: type: string responses: '200': description: CFD Index Previous Close API response. content: application/json: schema: type: object properties: symbol: type: string description: Symbol name totalResults: type: integer description: Total result size o: type: number description: Open price h: type: number description: Highest price l: type: number description: Lowest price c: type: number description: Close price v: type: integer description: Volume t: type: integer format: int64 description: Timestamp [ms] example: symbol: US2000 totalResults: 1 results: - o: 2368.88983 h: 2369.23994 l: 2368.88983 c: 2369.23994 v: 2 t: 1763928780000 '401': $ref: '#/components/responses/Unauthorized' components: responses: Unauthorized: description: Missing or invalid API key, or your plan does not include this market. content: application/json: schema: $ref: '#/components/schemas/Error' example: error: Please use your APIKey to make a request. schemas: Error: type: object description: Finage error envelope — a single error string. properties: error: type: string description: Human-readable error message. securitySchemes: apiKey: type: apiKey name: apikey in: query description: Finage API key, passed as the apikey query parameter on every request. Get one at https://moon.finage.co.uk/register. externalDocs: description: Finage API documentation url: https://finage.co.uk/docs/api