EOD Historical Data Indices API

S&P/Dow Jones indices data and components

OpenAPI Specification

eod-historical-indices-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: EODHD Financial Data Calendar Indices API
  description: Comprehensive API for retrieving financial data including stock prices, fundamentals, calendar events, news, and more from EOD Historical Data (eodhd.com)
  version: 2.0.0
  contact:
    name: EODHD Support
    url: https://eodhd.com
    email: supportlevel1@eodhistoricaldata.com
  termsOfService: https://eodhd.com/financial-apis/terms-conditions
  license:
    name: Proprietary
    url: https://eodhd.com/financial-apis/terms-conditions
servers:
- url: https://eodhd.com/api
  description: Primary API path
- url: https://eodhistoricaldata.com/api
  description: Alternative API path
security:
- EODHDQueryKey: []
tags:
- name: Indices
  description: S&P/Dow Jones indices data and components
paths:
  /mp/unicornbay/spglobal/comp/{symbol}:
    get:
      summary: Index components (current + historical)
      description: Returns the current components and historical changes for an index symbol.
      operationId: getIndexComponents
      parameters:
      - name: symbol
        in: path
        required: true
        description: Index symbol, e.g., GSPC.INDX
        schema:
          type: string
      - name: fmt
        in: query
        required: false
        description: Response format.
        schema:
          type: string
          enum:
          - json
          - xml
          default: json
      - name: api_token
        in: query
        required: true
        description: API token for authentication.
        schema:
          type: string
      responses:
        '200':
          description: Successful response with index general info, components, and historical membership.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexComponentsResponse'
              examples:
                sample:
                  summary: GSPC.INDX (truncated)
                  value:
                    General:
                      Code: GSPC
                      Type: INDEX
                      Name: S&P 500 Index
                      Exchange: INDX
                      MarketCap: 54158326748416.56
                      CurrencyCode: USD
                      CurrencyName: US Dollar
                      CurrencySymbol: $
                      CountryName: USA
                      CountryISO: US
                      OpenFigi: BBG000H4FSM0
                    Components:
                      '0':
                        Code: AAPL
                        Exchange: US
                        Name: Apple Inc
                        Sector: Technology
                        Industry: Consumer Electronics
                        Weight: 0.0628
                    HistoricalTickerComponents:
                      '0':
                        Code: AAPL
                        Name: Apple Inc
                        StartDate: '1982-11-30'
                        EndDate: ''
                        IsActiveNow: 1
                        IsDelisted: 0
        '401':
          description: Unauthorized
          content:
            text/html:
              schema:
                type: string
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            text/html:
              schema:
                type: string
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            text/html:
              schema:
                type: string
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            text/html:
              schema:
                type: string
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Indices
  /mp/unicornbay/spglobal/list:
    get:
      summary: List of indices with details
      description: Returns essential EOD details for 100+ S&P & Dow Jones indices.
      operationId: listIndicesWithDetails
      parameters:
      - name: fmt
        in: query
        required: false
        description: Response format.
        schema:
          type: string
          enum:
          - json
          - xml
          default: json
      - name: api_token
        in: query
        required: true
        description: API token for authentication.
        schema:
          type: string
      responses:
        '200':
          description: Successful response with an array of indices.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndexListResponse'
              examples:
                sample:
                  summary: Truncated list
                  value:
                  - ID: SP1000.INDX
                    Code: SP1000
                    Name: S&P 1000
                    Constituents: 1003
                    Value: 17205.7704
                    MarketCap: 4276250432997.9194
                    Divisor: 248535830.1502
                    DailyReturn: 0.0007
                    Dividend: ''
                    AdjustedMarketCap: 4276250432997.9194
                    AdjustedDivisor: 248535830.1502
                    AdjustedConstituents: 1003
                    CurrencyCode: USD
                    CurrencyName: US Dollar
                    CurrencySymbol: $
                    LastUpdate: '2025-08-08'
        '401':
          description: Unauthorized
          content:
            text/html:
              schema:
                type: string
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            text/html:
              schema:
                type: string
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests
          content:
            text/html:
              schema:
                type: string
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Indices
components:
  schemas:
    IndexListItem:
      type: object
      required:
      - ID
      - Code
      - Name
      - Constituents
      - LastUpdate
      properties:
        ID:
          type: string
        Code:
          type: string
        Name:
          type: string
        Constituents:
          type: integer
        LastUpdate:
          type: string
          description: YYYY-MM-DD
        Value:
          type:
          - number
          - 'null'
        MarketCap:
          type:
          - number
          - 'null'
        Divisor:
          type:
          - number
          - 'null'
        DailyReturn:
          type:
          - number
          - string
          - 'null'
        Dividend:
          type:
          - number
          - 'null'
        AdjustedMarketCap:
          type:
          - number
          - 'null'
        AdjustedDivisor:
          type:
          - number
          - 'null'
        AdjustedConstituents:
          type:
          - integer
          - 'null'
        CurrencyCode:
          type:
          - string
          - 'null'
        CurrencyName:
          type:
          - string
          - 'null'
        CurrencySymbol:
          type:
          - string
          - 'null'
      additionalProperties: false
    IndexGeneral:
      type: object
      required:
      - Code
      - Type
      - Name
      - Exchange
      properties:
        Code:
          type: string
        Type:
          type: string
        Name:
          type: string
        Exchange:
          type: string
        MarketCap:
          type:
          - number
          - 'null'
        CurrencyCode:
          type:
          - string
          - 'null'
        CurrencyName:
          type:
          - string
          - 'null'
        CurrencySymbol:
          type:
          - string
          - 'null'
        CountryName:
          type:
          - string
          - 'null'
        CountryISO:
          type:
          - string
          - 'null'
        OpenFigi:
          type:
          - string
          - 'null'
      additionalProperties: false
    IndexComponentsMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/IndexComponentItem'
      properties: {}
    HistoricalComponentItem:
      type: object
      required:
      - Code
      - Name
      - StartDate
      - IsActiveNow
      - IsDelisted
      properties:
        Code:
          type: string
        Name:
          type: string
        StartDate:
          type: string
          description: YYYY-MM-DD
        EndDate:
          type:
          - string
          - 'null'
          description: YYYY-MM-DD or null
        IsActiveNow:
          type: integer
          enum:
          - 0
          - 1
        IsDelisted:
          type: integer
          enum:
          - 0
          - 1
      additionalProperties: false
    IndexComponentsResponse:
      type: object
      required:
      - General
      - Components
      - HistoricalTickerComponents
      properties:
        General:
          $ref: '#/components/schemas/IndexGeneral'
        Components:
          $ref: '#/components/schemas/IndexComponentsMap'
        HistoricalTickerComponents:
          $ref: '#/components/schemas/HistoricalComponentsMap'
      additionalProperties: false
    Error:
      type: object
      properties:
        status:
          type: integer
        error:
          type: string
        message:
          type: string
    HistoricalComponentsMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/HistoricalComponentItem'
      properties: {}
    IndexComponentItem:
      type: object
      required:
      - Code
      - Exchange
      - Name
      properties:
        Code:
          type: string
        Exchange:
          type: string
        Name:
          type: string
        Sector:
          type:
          - string
          - 'null'
        Industry:
          type:
          - string
          - 'null'
        Weight:
          type:
          - number
          - 'null'
      additionalProperties: false
    IndexListResponse:
      type: array
      items:
        $ref: '#/components/schemas/IndexListItem'
  securitySchemes:
    EODHDQueryKey:
      type: apiKey
      in: query
      name: api_token
      description: EODHD API key (stored as a secret in ChatGPT).