# US Equity Market Breadth API
> How broad the US stock market's move really is under the surface, computed live from Yahoo Finance across a large-cap universe (no key, nothing stored). The S&P 500 can be dragged up by a handful of megacaps while most stocks fall; breadth tells you how many stocks are actually participating. The breadth endpoint scans a ~50-name large-cap universe spanning every sector and returns the share trading above their 20-, 50- and 200-day moving averages (the classic participation gauges), the advancers versus decliners on the day, the advance/decline ratio, the average and median daily change and a regime label (broad strength, mixed or broad weakness). The components endpoint returns the per-stock table behind it — each name's price, daily change and whether it is above each moving average — so you can see exactly which stocks are carrying or dragging the market. The constituents endpoint lists the universe. The equity market-internals / breadth cut — distinct from the crypto-breadth API (which scans coins), the single-quote, index-constituent and movers APIs. It answers whether a rally is broad or narrow, not how one stock is doing.

## 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/equitybreadth-api/..."
```

## Pricing
- **Free** (Free) — 850 calls/Mo, 2 req/s
- **Starter** ($10/Mo) — 19,500 calls/Mo, 6 req/s
- **Pro** ($31/Mo) — 98,000 calls/Mo, 16 req/s
- **Business** ($73/Mo) — 520,000 calls/Mo, 40 req/s

## Endpoints

### Breadth

#### `GET /v1/breadth` — Market-wide breadth: % above MAs, advance/decline, regime

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

**Response:**
```json
{
    "data": {
        "note": "Breadth across a ~50-name large-cap US universe spanning all sectors. pct_above_ma200 is the share trading above their 200-day average — high = a broad bull market, low = a broad bear. advance_decline_ratio above 1 means more stocks up than down today. A curated liquid large-cap universe, not all 500 constituents.",
        "regime": "mixed",
        "source": "Yahoo Finance",
        "advancers": 28,
        "decliners": 22,
        "avg_change_pct": 0.95,
        "pct_above_ma20": 52,
        "pct_above_ma50": 50,
        "stocks_scanned": 50,
        "pct_above_ma200": 56,
        "median_change_pct": 0.52,
        "advance_decline_ratio": 1.27
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:24.000Z",
        "request_id": "f3d5cece-8d32-430a-848e-f92ad7adcd8d"
    },
    "status": "ok",
    "message": "Breadth retrieved successfully",
    "success": true
}
```

### Components

#### `GET /v1/components` — Per-stock breadth table (price, daily change, above each MA)

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

**Response:**
```json
{
    "data": {
        "note": "Per-stock breadth table: price, daily change and whether each stock is above its 20/50/200-day moving average. Sorted by daily change.",
        "source": "Yahoo Finance",
        "components": [
            {
                "price": 116.96,
                "symbol": "INTC",
                "above_ma20": true,
                "above_ma50": true,
                "change_pct": 9.27,
                "above_ma200": true
            },
            {
                "price": 488.45,
                "symbol": "AMD",
                "above_ma20": true,
                "above_ma50": true,
                "change_pct": 7.97,
                "above_ma200": true
            },
            {
                "price": 202.96,
                "symbol": "QCOM",
                "above_ma20": false,
                "above_ma50": true,
                "change_pct": 6.15,
                "above_ma200": true
            },
            {
                "price": 221.63,
                "symbol": "BA",
                "above_ma20": true,
                "above_ma50": false,
                "change_pct": 6.04,
                "above_ma200": true
            },
            {
                "price": 297.1,
                "symbol": "TXN",
                "above_ma20": false,
                "above_ma50": true,
                "change_pct": 5.35,
                "above_ma200": true
            },
            {
                "price": 897.63,
                "symbol": 
…(truncated, see openapi.json for full schema)
```

### Constituents

#### `GET /v1/constituents` — The large-cap universe used

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

**Response:**
```json
{
    "data": {
        "note": "The curated large-cap US universe used for the breadth reading — the largest, most-liquid names across all eleven sectors.",
        "count": 50,
        "source": "Yahoo Finance",
        "constituents": [
            "AAPL",
            "MSFT",
            "NVDA",
            "AMZN",
            "GOOGL",
            "META",
            "TSLA",
            "AVGO",
            "ORCL",
            "ADBE",
            "CRM",
            "AMD",
            "CSCO",
            "INTC",
            "TXN",
            "QCOM",
            "IBM",
            "NFLX",
            "JPM",
            "BAC",
            "WFC",
            "GS",
            "V",
            "MA",
            "BRK-B",
            "UNH",
            "LLY",
            "JNJ",
            "ABBV",
            "MRK",
            "PFE",
            "TMO",
            "ABT",
            "DHR",
            "XOM",
            "CVX",
            "PG",
            "KO",
            "PEP",
            "COST",
            "WMT",
            "HD",
            "MCD",
            "NKE",
            "DIS",
            "CAT",
            "GE",
            "BA",
            "ACN",
            "T"
        ]
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:24.316Z",
        "request_id": "d7f63d55-43c8-4aea-b9a0-d96bd2e00490"
    },
    "status": "ok",
    "message": "Constituents retrieved successfully",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "note": "Parameter-less. The universe is a curated set of the largest, most-liquid US stocks across all eleven sectors (a breadth proxy, not all 500 constituents). Moving averages are simple (20/50/200-day). Read fresh per call, nothing cached.",
        "source": "Yahoo Finance daily closes across a curated large-cap US universe, 1y range, live",
        "service": "equitybreadth-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/breadth": "Market-wide breadth: % above MAs, advance/decline, regime.",
            "GET /v1/components": "Per-stock breadth table (price, daily change, above each MA).",
            "GET /v1/constituents": "The large-cap universe used."
        },
        "description": "US equity market breadth — how broad the stock market's move is under the surface, live from Yahoo Finance across a ~50-name large-cap universe (no key, nothing stored). breadth returns the share above their 20/50/200-day moving averages, advancers vs decliners, the advance/decline ratio, the average/median daily change and a regime label. components returns the per-stock table. constituents lists the universe. The equity market-internals / breadth cut — distinct from the crypto-breadth API, the single-quote, index-constituent and movers APIs. It answers whether a rally is broad or narrow.",
        "universe_size": 50,
        "stocks_scanned": 50,
        "upstream_status": "ok"
    },
    "meta": {
        
…(truncated, see openapi.json for full schema)
```


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