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

> Search and filter ETFs by name, market, currency, score, and recommendation.

Search ETFs by symbol or name with typo-tolerant fuzzy matching.

## Query Parameters

| Parameter | Type    | Required | Default | Description                                                            |
| --------- | ------- | -------- | ------- | ---------------------------------------------------------------------- |
| `query`   | string  | Yes      | —       | Search query (typo-tolerant, e.g., `SPY`, `vanguard`, `gold`, `sp500`) |
| `market`  | string  | No       | —       | Filter by market (e.g., `UNITED STATES`, `UNITED KINGDOM`)             |
| `limit`   | integer | No       | `20`    | Max results (1-100)                                                    |

## Response

Returns an array of matching ETFs:

```json theme={null}
[
  {
    "symbol": "VFV.TO",
    "name": "VANGUARD S&P 500 IX.ETF",
    "market": "CANADA",
    "exchange": "Toronto",
    "currency": "CAD"
  },
  {
    "symbol": "VGS.AX",
    "name": "VANGUARD MSCI INDEX INTL.SHARES ETF",
    "market": "AUSTRALIA",
    "exchange": "Australian SE",
    "currency": "AUD"
  }
]
```

## Examples

```bash theme={null}
# Search by name
curl "https://api.chicago.global/v1/etf/search?query=vanguard&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Search by symbol
curl "https://api.chicago.global/v1/etf/search?query=SPY" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Filter by market
curl "https://api.chicago.global/v1/etf/search?query=gold&market=UNITED%20STATES&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
```


## OpenAPI

````yaml GET /v1/etf/search
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/search:
    get:
      tags:
        - ETF
      summary: ETF Search
      description: >-
        Search and filter ETFs by name, market, currency, score, and
        recommendation.
      operationId: searchEtf
      parameters:
        - name: query
          in: query
          required: false
          description: Search ETF name (partial match, e.g., S&P, Vanguard)
          schema:
            type: string
        - name: market
          in: query
          required: false
          description: Filter by market (e.g., UNITED STATES, UNITED KINGDOM)
          schema:
            type: string
        - name: currency
          in: query
          required: false
          description: Filter by currency (e.g., USD, EUR)
          schema:
            type: string
        - name: min_score
          in: query
          required: false
          description: Minimum total Parallax score
          schema:
            type: number
        - name: max_score
          in: query
          required: false
          description: Maximum total Parallax score
          schema:
            type: number
        - name: recommendation
          in: query
          required: false
          description: Filter by recommendation (e.g., BUY, STRONG BUY)
          schema:
            type: string
        - name: activity
          in: query
          required: false
          description: Activity filter
          schema:
            type: string
            default: ACTIVE
        - name: limit
          in: query
          required: false
          description: Max results (1-100)
          schema:
            type: integer
            default: 20
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: ETF search results
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EtfSearchResult'
              example:
                - symbol: ZPDE.F
                  name: STST SPDR S&P U S EN.SEL SECT.UCITS ETF
                  activity: ACTIVE
                  market: GERMANY
                  exchange: XETRA
                  currency: EUR
                  value: 6
                  quality: 7
                  momentum: 9
                  defensive: 8
                  tactical: 10
                  total: 8.8
                  recommendation: STRONG BUY
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    EtfSearchResult:
      type: object
      properties:
        symbol:
          type: string
          description: ETF symbol
        name:
          type: string
          description: ETF name
        activity:
          type: string
          description: Activity status
        market:
          type: string
          description: Market
        exchange:
          type: string
          description: Exchange
        currency:
          type: string
          description: Trading currency
        value:
          type: number
          description: Value score (0-10)
        quality:
          type: number
          description: Quality score (0-10)
        momentum:
          type: number
          description: Momentum score (0-10)
        defensive:
          type: number
          description: Defensive score (0-10)
        tactical:
          type: number
          description: Tactical score (0-10)
        total:
          type: number
          description: Composite score (0-10)
        recommendation:
          type: string
          description: Overall recommendation
    Error:
      type: object
      properties:
        detail:
          type: string
          description: Error message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key passed as Bearer token

````