> ## 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 Holdings

> Get the top holdings of an ETF with their weights and Parallax factor scores.

Get the top holdings of an ETF with their weights and Parallax factor scores.

## Query Parameters

| Parameter | Type    | Required | Description                                                    |
| --------- | ------- | -------- | -------------------------------------------------------------- |
| `symbol`  | string  | Yes      | ETF symbol (e.g., `SPY`, `QQQ`). Comma-separated for multiple. |
| `limit`   | integer | No       | Maximum number of holdings to return (default: `50`)           |

## Response

Returns an array of holdings sorted by weight (descending):

```json theme={null}
[
  {
    "symbol": "NVDA.O",
    "weight": 7.31,
    "reweight": 7.43,
    "value": 2.5,
    "quality": 10.0,
    "momentum": 10.0,
    "defensive": 7.0,
    "tactical": 7.0,
    "total": 7.9,
    "recommendation": "BUY"
  },
  {
    "symbol": "AAPL.O",
    "weight": 6.63,
    "reweight": 6.74,
    "value": 2.0,
    "quality": 10.0,
    "momentum": 7.5,
    "defensive": 9.5,
    "tactical": 7.0,
    "total": 6.0,
    "recommendation": "HOLD"
  },
  {
    "symbol": "MSFT.O",
    "weight": 4.96,
    "reweight": 5.04,
    "value": 2.0,
    "quality": 10.0,
    "momentum": 5.0,
    "defensive": 9.0,
    "tactical": 5.0,
    "total": 5.2,
    "recommendation": "HOLD"
  }
]
```

## Key Fields

| Field                                                       | Description                                        |
| ----------------------------------------------------------- | -------------------------------------------------- |
| `symbol`                                                    | Holding RIC                                        |
| `weight`                                                    | Holding weight in the ETF (%)                      |
| `reweight`                                                  | Normalized weight across scored holdings only (%)  |
| `value` / `quality` / `momentum` / `defensive` / `tactical` | Parallax factor scores (0-10)                      |
| `total`                                                     | Composite Parallax score                           |
| `recommendation`                                            | `STRONG BUY`, `BUY`, `HOLD`, `SELL`, `STRONG SELL` |

## Example

```bash theme={null}
curl "https://api.chicago.global/v1/etf/holdings?symbol=SPY&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
```


## OpenAPI

````yaml GET /v1/etf/holdings
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/holdings:
    get:
      tags:
        - ETF
      summary: ETF Holdings
      description: >-
        Get the top holdings of an ETF with their weights and Parallax factor
        scores.
      operationId: getEtfHoldings
      parameters:
        - name: symbol
          in: query
          required: true
          description: ETF symbol (e.g., SPY, QQQ). Comma-separated for multiple.
          schema:
            type: string
          example: SPY
        - name: limit
          in: query
          required: false
          description: Maximum number of holdings to return
          schema:
            type: integer
            default: 50
          example: 50
      responses:
        '200':
          description: ETF holdings retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EtfHolding'
              example:
                - symbol: NVDA.O
                  weight: 7.31
                  reweight: 7.43
                  value: 2.5
                  quality: 10
                  momentum: 10
                  defensive: 7
                  tactical: 7
                  total: 7.9
                  recommendation: BUY
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    EtfHolding:
      type: object
      properties:
        symbol:
          type: string
          description: Holding RIC
        weight:
          type: number
          description: Holding weight in the ETF (%)
        reweight:
          type: number
          description: Normalized weight across scored holdings only (%)
        value:
          type: number
          description: Parallax value score (0-10)
        quality:
          type: number
          description: Parallax quality score (0-10)
        momentum:
          type: number
          description: Parallax momentum score (0-10)
        defensive:
          type: number
          description: Parallax defensive score (0-10)
        tactical:
          type: number
          description: Parallax tactical score (0-10)
        total:
          type: number
          description: Composite Parallax score
        recommendation:
          type: string
          description: STRONG BUY, BUY, HOLD, SELL, STRONG SELL
    Error:
      type: object
      properties:
        detail:
          type: string
          description: Error message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key passed as Bearer token

````