> ## Documentation Index
> Fetch the complete documentation index at: https://docs.amberdata.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Historical

> Provides historical long/short ratio data for futures instruments, including timestamps, long and short account distributions, and ratio values across exchanges.

<Warning>
  The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
</Warning>

<Note>
  If the startDate and endDate query parameters are not provided, the API will return the data from the previous 24 hours at the tick granularity.
</Note>


## OpenAPI

````yaml get /futures/long-short-ratio/{instrument}
openapi: 3.1.0
info:
  title: market-api
  version: '2'
servers:
  - url: https://api.amberdata.com/markets
security:
  - ApiKeyAuth: []
paths:
  /futures/long-short-ratio/{instrument}:
    get:
      summary: Historical
      description: >-
        Provides historical long/short ratio data for futures instruments,
        including timestamps, long and short account distributions, and ratio
        values across exchanges.
      operationId: futures-long-short-ratio-historical
      parameters:
        - name: instrument
          in: path
          description: The futures instrument for which data will be retrieved.
          schema:
            type: string
            default: BTCUSDT
          required: true
        - name: exchange
          in: query
          description: >-
            The exchange for which data should be retrieved. Only **1** exchange
            is allowed.
          required: true
          schema:
            type: string
            default: binance
        - name: startDate
          in: query
          description: >-
            **[Optional]** Payload only includes data after this date
            (inclusive). **[Formats]** `seconds | milliseconds | iso8601`
            **[Examples]** `1578531600 | 1578531600000 | 2020-09-01T01:00:00`
          schema:
            type: string
            format: date-time
        - name: endDate
          in: query
          description: >-
            **[Optional]** Payload only includes data before this date
            (exclusive). **[Formats]** `seconds | milliseconds | iso8601`
            **[Examples]** `1578531600 | 1578531600000 | 2020-09-01T01:00:00`
          schema:
            type: string
            format: date-time
        - name: timeFormat
          in: query
          description: '**[Optional]** Time format of the timestamps in the return payload.'
          schema:
            type: string
            enum:
              - milliseconds
              - ms*
              - iso
              - iso8601
              - hr
              - human_readable
            default: hr
        - name: timeInterval
          in: query
          description: '**[Optional]** Time interval to aggregate the historical data to.'
          schema:
            type: string
            enum:
              - minutes
              - hours
              - days
            default: hours
        - name: metricType
          in: query
          description: >
            **[Optional]** Specifies the long/short ratio metric to retrieve.


            | Value | Description |

            |---|---|

            | `default` | Long/short ratio across **all** accounts on the
            exchange. Available for all supported exchanges. |

            | `topTraderPositions` | Long/short ratio by **position size**
            (dollar-weighted) among the top 20% of traders by margin balance.
            Reflects where the largest capital is allocated. |

            | `topTraderAccounts` | Long/short ratio by **account count** among
            top traders — each account counted once regardless of position size.
            Reflects how many large traders are bullish vs bearish. |


            **[Supported exchanges]** `topTraderPositions` and
            `topTraderAccounts` are only supported for `binance`. Requests using
            these values with other exchanges will return an empty response.
          schema:
            type: string
            enum:
              - default
              - topTraderPositions
              - topTraderAccounts
            default: default
        - name: sortDirection
          in: query
          description: >-
            **[Optional]** Specifies the direction in which the data is sorted
            (by timestamp).   **[Defaults]** asc (ascending order).   **[Usage
            Conditions]** This parameter can only be used if the `startDate` and
            `endDate` timeframe is within the most recent 24 hours, or if the
            `startDate` and `endDate` parameters are not used at all.  
            **[Examples]** ascending | descending | asc | desc
          schema:
            type: string
        - name: Accept-Encoding
          in: header
          required: true
          description: ''
          schema:
            type: string
            default: gzip, deflate, br
        - name: api-version
          in: header
          schema:
            type: string
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value:
                    status: 200
                    title: OK
                    description: Successful request
                    payload:
                      metadata:
                        next: null
                        api-version: '2023-09-30'
                      data:
                        - instrument: BTCUSDT
                          exchange: binance
                          exchangeTimestamp: 1714928400000
                          exchangeTimestampNanoseconds: 0
                          period: 1
                          longAccount: 0.519
                          shortAccount: 0.481
                          ratio: 1.079
                        - instrument: BTCUSDT
                          exchange: binance
                          exchangeTimestamp: 1714932000000
                          exchangeTimestampNanoseconds: 0
                          period: 1
                          longAccount: 0.5179
                          shortAccount: 0.4821
                          ratio: 1.0743
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  title:
                    type: string
                  description:
                    type: string
                  payload:
                    type: object
                    properties:
                      metadata:
                        type: object
                        properties:
                          next:
                            type: string
                          api-version:
                            type: string
                      data:
                        type: array
                        items:
                          type: object
                          properties:
                            instrument:
                              type: string
                            exchange:
                              type: string
                            exchangeTimestamp:
                              type: integer
                            exchangeTimestampNanoseconds:
                              type: integer
                            period:
                              type: integer
                              description: >
                                The number of `timeInterval` units per data
                                point.


                                **Example:**

                                - `timeInterval=minutes`, `period=5` → 5-minute
                                buckets

                                - `timeInterval=hours`, `period=1` → 1-hour
                                buckets

                                - `timeInterval=days`, `period=1` → 1-day
                                buckets
                            longAccount:
                              type: number
                            shortAccount:
                              type: number
                            ratio:
                              type: number
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: '{}'
              schema:
                type: object
                properties: {}
      deprecated: false
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````