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

# ETF Scores

> Get Parallax factor scores for an ETF, calculated as weighted averages across its holdings.

Get Parallax factor scores for an ETF, calculated as weighted averages across its holdings.

## Query Parameters

| Parameter | Type   | Required | Description                                                    |
| --------- | ------ | -------- | -------------------------------------------------------------- |
| `symbol`  | string | Yes      | ETF symbol (e.g., `SPY`, `QQQ`). Comma-separated for multiple. |

## Response

```json theme={null}
{
  "symbol": "SPY.P",
  "value": 4.0,
  "quality": 8.0,
  "momentum": 6.0,
  "defensive": 8.0,
  "tactical": 6.0,
  "total": 5.9,
  "recommendation": "HOLD",
  "holdings_covered": 495,
  "weight_covered": 98.37
}
```

## Key Fields

| Field              | Description                                         |
| ------------------ | --------------------------------------------------- |
| `value`            | Value factor score (0-10)                           |
| `quality`          | Quality factor score (0-10)                         |
| `momentum`         | Momentum factor score (0-10)                        |
| `defensive`        | Defensive factor score (0-10)                       |
| `tactical`         | Tactical factor score (0-10)                        |
| `total`            | Composite score (0-10)                              |
| `recommendation`   | Overall recommendation based on composite score     |
| `holdings_covered` | Number of ETF holdings that have Parallax scores    |
| `weight_covered`   | Percentage of ETF weight covered by scored holdings |

<Note>
  Scores are weighted averages based on each holding's weight in the ETF. ETFs with low `weight_covered` may have less reliable scores.
</Note>

## Example

```bash theme={null}
curl "https://api.chicago.global/v1/etf/scores?symbol=QQQ" \
  -H "Authorization: Bearer YOUR_API_KEY"
```


## OpenAPI

````yaml GET /v1/etf/scores
openapi: 3.1.0
info:
  title: Parallax API
  description: >-
    Financial data and portfolio analytics API. Analyze portfolios with
    multi-currency support, rebalancing, and comprehensive metrics.
  version: 1.0.0
servers:
  - url: https://api.chicago.global
security:
  - bearerAuth: []
paths:
  /v1/etf/scores:
    get:
      tags:
        - ETF
      summary: ETF Scores
      description: >-
        Get Parallax factor scores for an ETF, calculated as weighted averages
        across its holdings.
      operationId: getEtfScores
      parameters:
        - name: symbol
          in: query
          required: true
          description: ETF symbol (e.g., SPY, QQQ). Comma-separated for multiple.
          schema:
            type: string
          example: SPY
      responses:
        '200':
          description: ETF scores retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EtfScoresResponse'
              example:
                symbol: SPY.P
                value: 4
                quality: 8
                momentum: 6
                defensive: 8
                tactical: 6
                total: 5.9
                recommendation: HOLD
                holdings_covered: 495
                weight_covered: 98.37
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    EtfScoresResponse:
      type: object
      properties:
        symbol:
          type: string
          description: Resolved primary RIC
        value:
          type: number
          description: Value factor score (0-10)
        quality:
          type: number
          description: Quality factor score (0-10)
        momentum:
          type: number
          description: Momentum factor score (0-10)
        defensive:
          type: number
          description: Defensive factor score (0-10)
        tactical:
          type: number
          description: Tactical factor score (0-10)
        total:
          type: number
          description: Composite score (0-10)
        recommendation:
          type: string
          description: Overall recommendation
        holdings_covered:
          type: integer
          description: Number of ETF holdings with Parallax scores
        weight_covered:
          type: number
          description: Percentage of ETF weight covered by scored holdings
    Error:
      type: object
      properties:
        detail:
          type: string
          description: Error message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key passed as Bearer token

````