# 52-Week High/Low Range Screener API
> Where every major asset sits in its one-year range — across stocks, indices, bonds, commodities, FX and crypto — computed live from Yahoo Finance (no key, nothing stored). The 52-week high/low is the single most-watched level in markets: assets breaking to new 52-week highs are in confirmed uptrends and chased by momentum, while new 52-week lows mark capitulation, and the "new highs / new lows" list is a classic breadth and momentum read. This places each instrument in its range as a 0-100 position (0 = sitting on its 52-week low, 100 = at its 52-week high), with how far it is below the high and above the low, and flags fresh new highs and new lows. The screener endpoint returns the whole multi-asset universe ranked by range position — what is breaking out at the top and breaking down at the bottom — plus the new-high and new-low lists. The asset endpoint drills into one instrument. The universe endpoint lists what is covered. The 52-week-range / new-highs-new-lows momentum cut across asset classes — distinct from the crypto Donchian-breakout screener (crypto only) and the single-quote, index, commodity and stock price feeds, which carry the 52-week high/low as a field but do not rank it across a multi-asset book.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/fiftytwoweek-api/..."
```

## Pricing
- **Free** (Free) — 780 calls/Mo, 2 req/s
- **Starter** ($11/Mo) — 17,800 calls/Mo, 6 req/s
- **Pro** ($34/Mo) — 91,500 calls/Mo, 16 req/s
- **Business** ($79/Mo) — 498,000 calls/Mo, 40 req/s

## Endpoints

### Screener

#### `GET /v1/screener` — Multi-asset universe ranked by 52-week range position with new-high/low lists

**Parameters:**
- `class` (query, optional, string) — Filter by class: equities, bonds, commodities, fx, crypto, stocks Example: `commodities`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/fiftytwoweek-api/v1/screener?class=commodities"
```

**Response:**
```json
{
    "data": {
        "note": "Every instrument placed in its 52-week range as a 0-100 position (0 = on its low, 100 = at its high), ranked high to low. near_highs are breaking out / momentum leaders; near_lows are breaking down. new_highs/new_lows list fresh 52-week extremes. class filters to equities, bonds, commodities, fx, crypto or stocks.",
        "class": "commodities",
        "assets": [
            {
                "key": "copper",
                "class": "commodities",
                "label": "Copper",
                "price": 38.94,
                "status": "upper range",
                "symbol": "CPER",
                "week52_low": 27.21,
                "week52_high": 40.6,
                "pct_from_low": 43.11,
                "pct_from_high": -4.09,
                "range_position": 87.6
            },
            {
                "key": "oil",
                "class": "commodities",
                "label": "Crude Oil",
                "price": 128.83,
                "status": "upper range",
                "symbol": "USO",
                "week52_low": 66.17,
                "week52_high": 152.96,
                "pct_from_low": 94.7,
                "pct_from_high": -15.78,
                "range_position": 72.2
            },
            {
                "key": "broad_commodities",
                "class": "commodities",
                "label": "Broad Commodities",
                "price": 28.85,
                "status": "upper range",
      
…(truncated, see openapi.json for full schema)
```

### Asset

#### `GET /v1/asset` — One instrument 52-week range detail

**Parameters:**
- `asset` (query, required, string) — Asset key (see /v1/universe) Example: `gold`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/fiftytwoweek-api/v1/asset?asset=gold"
```

**Response:**
```json
{
    "data": {
        "key": "gold",
        "note": "range_position is where the current price sits between the 52-week low (0) and high (100). pct_from_high is how far below the high; pct_from_low how far above the low. Computed from one year of daily closes.",
        "class": "commodities",
        "label": "Gold",
        "price": 386.32,
        "source": "Yahoo Finance",
        "status": "mid range",
        "symbol": "GLD",
        "week52_low": 300.96,
        "week52_high": 495.9,
        "pct_from_low": 28.36,
        "pct_from_high": -22.1,
        "range_position": 43.8
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:17.728Z",
        "request_id": "a16157ec-8e7d-4bf8-a337-b19ad04d4961"
    },
    "status": "ok",
    "message": "Asset retrieved successfully",
    "success": true
}
```

### Universe

#### `GET /v1/universe` — Supported instruments

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/fiftytwoweek-api/v1/universe"
```

**Response:**
```json
{
    "data": {
        "note": "Supported cross-asset instruments. Pass key as asset= to /v1/asset, or class= to /v1/screener.",
        "count": 30,
        "assets": [
            {
                "key": "sp500",
                "class": "equities",
                "label": "S&P 500",
                "symbol": "SPY"
            },
            {
                "key": "nasdaq100",
                "class": "equities",
                "label": "Nasdaq 100",
                "symbol": "QQQ"
            },
            {
                "key": "dow",
                "class": "equities",
                "label": "Dow Jones",
                "symbol": "DIA"
            },
            {
                "key": "russell2000",
                "class": "equities",
                "label": "Russell 2000",
                "symbol": "IWM"
            },
            {
                "key": "developed_intl",
                "class": "equities",
                "label": "Developed ex-US",
                "symbol": "EFA"
            },
            {
                "key": "emerging",
                "class": "equities",
                "label": "Emerging Markets",
                "symbol": "EEM"
            },
            {
                "key": "long_treasuries",
                "class": "bonds",
                "label": "Long US Treasuries",
                "symbol": "TLT"
            },
            {
                "key": "ig_credit",
                "class": "bonds",
                "l
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/fiftytwoweek-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "screener class= filters by asset class. asset= is a supported key (see /v1/universe). The 52-week high/low are the max/min daily close over the year. Read fresh per call, nothing cached.",
        "source": "Yahoo Finance daily closes (1y range) across a multi-asset universe, live",
        "classes": [
            "equities",
            "bonds",
            "commodities",
            "fx",
            "crypto",
            "stocks"
        ],
        "service": "fiftytwoweek-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/asset": "One instrument's 52-week range detail (asset=gold).",
            "GET /v1/screener": "Multi-asset universe ranked by 52-week range position, with new-high/low lists (class=commodities optional).",
            "GET /v1/universe": "The supported instruments."
        },
        "description": "52-week high/low range screener — where every major asset sits in its one-year range, across stocks, indices, bonds, commodities, FX and crypto, live from Yahoo Finance (no key, nothing stored). screener ranks the whole multi-asset universe by range position (0-100) with the near-highs, near-lows and fresh new-high/new-low lists. asset drills into one instrument. universe lists what is covered. The 52-week-range / new-highs-new-lows momentum cut across asset classes — distinct from the crypto Donchian-breakout screener and the single-quote, index, commodity and stock price fe
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/fiftytwoweek-api
OpenAPI spec: https://www.oanor.com/api/fiftytwoweek-api/openapi.json
