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

# Get Financial Metrics Screener Time Range

> [OpenAPI JSON Spec](/docs/output/v1_stocks_screener_financial-metrics_timerange_get.json)
Retrieve stocks filtered by financial metrics over a time range. Returns stocks matching the specified metric type and value range, grouped by date.

**Overview:**
This endpoint filters stocks based on financial metrics from the `stock_financial_metrics` table over a specified time range. Results are grouped by date (YYYY-MM-DD format).

**Financial Metrics:** Same as the snapshot endpoint - supports all financial metric types (CURRENT_RATIO_MRQ, PE_RATIO, MARKET_CAP, etc.)

**Data Limitation:**
- The underlying data table for financial metrics has a limit of 1000 records per day
- This means each date in the response can contain at most 1000 stock records

**Filtering:**
- Use `range_min` to filter for stocks where the metric value is greater than or equal to the minimum
- Use `range_max` to filter for stocks where the metric value is less than or equal to the maximum
- Both filters can be used together to create a range
- If neither filter is provided, all stocks matching the metric type will be returned (up to 1000 per day)

**Limit Parameter:**
- Use `limit` to further limit the maximum number of results returned per day (optional, defaults to no limit)
- This is useful for pagination or when you only need the top N results per day

**Response Format:**
Returns an array of date-grouped data items. Each item contains a date (YYYY-MM-DD format) and an array of stocks with their symbol, snapshot time (Unix timestamp seconds, UTC), metric type, and metric value for that date.
**ETF behavior**: financial-metrics returns NO ETFs. The 7 valuation metrics (MARKET_CAP, PE_RATIO, PS_RATIO, PB_RATIO, DIVIDEND_YIELD, ENTERPRISE_VALUE, EV_EBITDA_RATIO) are skipped for ETFs — they require shares-outstanding / SEC fundamentals an ETF does not have (ETF MARKET_CAP via AUM is a follow-up). The 28 fundamental metrics (REVENUE_TTM, ROE_TTM, etc.) likewise return no ETFs. Query ETFs via the technical-metrics endpoint.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/stocks/screener/financial-metrics/timerange
openapi: 3.0.0
info:
  contact: {}
  description: >-
    Welcome to Arrays!


    Arrays is a unified financial data layer for both financial institutions and
    retail users, delivering comprehensive market data across crypto and equity
    markets. Our datasets cover fundamentals, ETFs, options, crypto, and more.


    Visit [arrays.org](https://arrays.org) to request an API key and start your
    free trial. You can explore our full API offerings in the documentation
    below.


    For any questions regarding APIs or pricing, please contact
    support@arrays.org.
  title: Arrays API
  version: '1.0'
servers:
  - url: https://data-tools.prd.arrays.org/api
security: []
paths:
  /v1/stocks/screener/financial-metrics/timerange:
    get:
      tags:
        - Stock
      summary: Get Financial Metrics Screener Time Range
      description: >-
        [OpenAPI JSON
        Spec](/docs/output/v1_stocks_screener_financial-metrics_timerange_get.json)

        Retrieve stocks filtered by financial metrics over a time range. Returns
        stocks matching the specified metric type and value range, grouped by
        date.


        **Overview:**

        This endpoint filters stocks based on financial metrics from the
        `stock_financial_metrics` table over a specified time range. Results are
        grouped by date (YYYY-MM-DD format).


        **Financial Metrics:** Same as the snapshot endpoint - supports all
        financial metric types (CURRENT_RATIO_MRQ, PE_RATIO, MARKET_CAP, etc.)


        **Data Limitation:**

        - The underlying data table for financial metrics has a limit of 1000
        records per day

        - This means each date in the response can contain at most 1000 stock
        records


        **Filtering:**

        - Use `range_min` to filter for stocks where the metric value is greater
        than or equal to the minimum

        - Use `range_max` to filter for stocks where the metric value is less
        than or equal to the maximum

        - Both filters can be used together to create a range

        - If neither filter is provided, all stocks matching the metric type
        will be returned (up to 1000 per day)


        **Limit Parameter:**

        - Use `limit` to further limit the maximum number of results returned
        per day (optional, defaults to no limit)

        - This is useful for pagination or when you only need the top N results
        per day


        **Response Format:**

        Returns an array of date-grouped data items. Each item contains a date
        (YYYY-MM-DD format) and an array of stocks with their symbol, snapshot
        time (Unix timestamp seconds, UTC), metric type, and metric value for
        that date.

        **ETF behavior**: financial-metrics returns NO ETFs. The 7 valuation
        metrics (MARKET_CAP, PE_RATIO, PS_RATIO, PB_RATIO, DIVIDEND_YIELD,
        ENTERPRISE_VALUE, EV_EBITDA_RATIO) are skipped for ETFs — they require
        shares-outstanding / SEC fundamentals an ETF does not have (ETF
        MARKET_CAP via AUM is a follow-up). The 28 fundamental metrics
        (REVENUE_TTM, ROE_TTM, etc.) likewise return no ETFs. Query ETFs via the
        technical-metrics endpoint.
      parameters:
        - description: Start time (Unix timestamp in seconds, UTC)
          in: query
          name: start_time
          required: true
          schema:
            type: integer
        - description: End time (Unix timestamp in seconds, UTC)
          in: query
          name: end_time
          required: true
          schema:
            type: integer
        - description: >-
            Metric type. Valid values: CURRENT_RATIO_MRQ, DEBT_TO_ASSETS_MRQ,
            DEBT_TO_EQUITY_MRQ, EPS_GROWTH_QOQ, EPS_GROWTH_YOY_ANNUAL,
            EPS_GROWTH_YOY_QUARTERLY, EPS_GROWTH_YOY_TTM, EPS_TTM,
            FCF_GROWTH_QOQ, FCF_GROWTH_YOY_ANNUAL, FCF_GROWTH_YOY_QUARTERLY,
            FCF_GROWTH_YOY_TTM, FCF_MARGIN_MRQ, GROSS_MARGIN_MRQ,
            NET_INCOME_TTM, NET_MARGIN_MRQ, NET_WORKING_CAPITAL_MRQ,
            OPERATING_MARGIN_MRQ, QUICK_RATIO_MRQ, RD_TO_SALES_TTM,
            REVENUE_GROWTH_QOQ, REVENUE_GROWTH_YOY_ANNUAL,
            REVENUE_GROWTH_YOY_QUARTERLY, REVENUE_GROWTH_YOY_TTM, REVENUE_TTM,
            ROA_TTM, ROE_TTM, ROIC_TTM, MARKET_CAP, PE_RATIO, PS_RATIO,
            PB_RATIO, DIVIDEND_YIELD, ENTERPRISE_VALUE, EV_EBITDA_RATIO
          in: query
          name: metric_type
          required: true
          schema:
            type: string
        - description: >-
            Minimum value filter (optional). Returns only stocks where metric
            value >= range_min
          in: query
          name: range_min
          schema:
            type: number
            format: float64
        - description: >-
            Maximum value filter (optional). Returns only stocks where metric
            value <= range_max
          in: query
          name: range_max
          schema:
            type: number
            format: float64
        - description: >-
            Sort order (optional). Valid values: ASC (ascending), DESC
            (descending). Defaults to DESC
          in: query
          name: order_by
          schema:
            type: string
        - description: Maximum number of results per day (optional, defaults to no limit)
          in: query
          name: limit
          schema:
            type: integer
      responses:
        '200':
          description: Successfully retrieved financial metrics screener time range data
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      data:
                        items:
                          $ref: >-
                            #/components/schemas/model.MetricScreenerTimeRangeDataItem
                        type: array
                    type: object
        '400':
          description: >-
            Invalid parameters (missing start_time/end_time, invalid
            metric_type, start_time >= end_time, etc.)
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/model.APIResponse'
                  - properties:
                      error:
                        $ref: '#/components/schemas/model.APIError'
                    type: object
      security:
        - ApiKeyAuth: []
components:
  schemas:
    model.APIResponse:
      properties:
        data: {}
        error:
          $ref: '#/components/schemas/model.APIError'
        metadata: {}
        pagination: {}
        request_id:
          type: string
        success:
          type: boolean
      type: object
    model.MetricScreenerTimeRangeDataItem:
      properties:
        date:
          description: Date in ISO 8601 format (YYYY-MM-DD)
          example: '2024-01-01'
          type: string
        items:
          description: All stock data for this date
          items:
            $ref: '#/components/schemas/model.MetricScreenerTimeRangeData'
          type: array
      type: object
    model.APIError:
      properties:
        code:
          example: RESOURCE_NOT_FOUND
          type: string
        details:
          items:
            $ref: '#/components/schemas/model.APIErrorDetail'
          type: array
        docs_url:
          type: string
        examples:
          items:
            type: string
          type: array
        hint:
          type: string
        message:
          example: The requested resource was not found.
          type: string
        suggestions:
          items:
            type: string
          type: array
      type: object
    model.MetricScreenerTimeRangeData:
      properties:
        metric:
          description: Metric type
          example: PE_RATIO
          type: string
        snapshot_time:
          description: Snapshot time (Unix timestamp seconds, UTC)
          example: 1705276800
          type: integer
        symbol:
          description: Stock symbol
          example: AAPL
          type: string
        value:
          description: Metric value
          example: 28.5
          type: number
      type: object
    model.APIErrorDetail:
      properties:
        field:
          type: string
        got:
          type: string
        reason:
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: 'API Key authentication. Example: "your-api-key-here"'
      in: header
      name: X-API-Key
      type: apiKey

````