# Market Heatmap

Machine-readable summary of the LOPJLB market heatmap pages — Finviz-style treemaps of index, desk, and asset-class constituents nested by GICS industry under sector, sized by market cap, colored by period price change.

Canonical URL: https://www.lopjlb.com/market-heatmap

Live API (no auth for public scopes): `GET https://www.lopjlb.com/bff/api/market/heatmap?index=sp500&period=1d`

`period` = `1d` | `1w` | `1m` | `ytd` | `1y` (default `1d`). Multi-day windows use local daily closes.

Watchlist (POST body): `POST https://www.lopjlb.com/bff/api/market/heatmap` with `{"symbols":["AAPL",…],"period":"1w"}` (max 200).

Page UI: period chips, Share on X, Download PNG, fullscreen, click a sector or industry header to zoom (breadcrumb: All › Sector › Industry).

Payload: each sector includes `industries[]` with nested `constituents[]` (plus a flat `constituents` list for older clients).

## Public scopes (SEO)

| Scope | Page | `index` param | Source |
|---|---|---|---|
| S&P 500 | https://www.lopjlb.com/market-heatmap | `sp500` | SPY ETF holdings |
| Nasdaq-100 | https://www.lopjlb.com/market-heatmap/nasdaq | `nasdaq` | QQQ ETF holdings |
| Dow Jones 30 | https://www.lopjlb.com/market-heatmap/dow | `dow` | DIA ETF holdings |
| Russell 2000 | https://www.lopjlb.com/market-heatmap/russell | `russell` | IWM ETF holdings (top by weight) |
| SPY 25 | https://www.lopjlb.com/market-heatmap/spy25 | `spy25` | LOPJLB SPY25 shortlist |
| Closed-End Funds | https://www.lopjlb.com/market-heatmap/cef | `cef` | LOPJLB CEF universe |
| BDCs | https://www.lopjlb.com/market-heatmap/bdc | `bdc` | LOPJLB BDC universe |
| REITs | https://www.lopjlb.com/market-heatmap/reit | `reit` | LOPJLB REIT universe |
| Crypto | https://www.lopjlb.com/market-heatmap/crypto | `crypto` | LOPJLB crypto book (top by mcap) |
| ETFs | https://www.lopjlb.com/market-heatmap/etf | `etf` | LOPJLB ETF book (top by mcap) |
| Preferred QDI | https://www.lopjlb.com/market-heatmap/pref_qdi | `pref_qdi` | Qualified preferred sleeve (top by mcap) |
| Commodities | https://www.lopjlb.com/market-heatmap/commodity | `commodity` | LOPJLB commodity book (top by mcap) |
| Indices | https://www.lopjlb.com/market-heatmap/index | `index` | LOPJLB index symbols (top by mcap) |

## In-app only (not in sitemap)

| Scope | Notes |
|---|---|
| SD50 / SD14 | Pro — live systematic allocation weights |
| Weekly Options | Pro — CBOE weeklies universe (top by mcap) |
| Watchlist | Personal starred symbols via `?view=watchlist` or POST |

## What you get

- Per-constituent `symbol`, `name`, normalized `sector`, `market_cap`, optional `weight`, `price`, and day `change_pct`
- Constituents grouped into `sectors[]`, each with `weight_pct`, aggregate `size`, `avg_change_pct`, and `count`
- Tile `size` is proportional to market cap (weight-implied or equal-weight when market cap is unavailable)
- `as_of` timestamp and `freshness` counts; `partial` when the map is a top-N slice

## Response shape

```json
{
  "index": "spy25",
  "label": "SPY 25",
  "etf": "",
  "as_of": "2026-07-21T17:00:00Z",
  "period": "1d",
  "count": 25,
  "partial": false,
  "sectors": [
    {
      "sector": "Technology",
      "weight_pct": 0,
      "size": 12000000000000,
      "avg_change_pct": 0.83,
      "count": 8,
      "constituents": [
        {
          "symbol": "NVDA",
          "name": "NVIDIA Corp",
          "sector": "Technology",
          "market_cap": 3000000000000,
          "weight": null,
          "price": 120.4,
          "change_pct": 1.2,
          "size": 3000000000000
        }
      ]
    }
  ]
}
```

## Notes

- Public scopes are free — no login or API key required. Safe subset only (no Pro screener score columns).
- Only daily change (`period=1d`) is supported today.
- Large books (ETF, crypto, commodity, index, weekly, Russell) show the largest names by market cap or weight.
- Twin SEO landings: `/cef-screener`, `/bdc-screener`, `/reit-screener`, `/crypto-screener`, `/etf-screener`, `/preferred-stock-screener`, `/sp500-screener`.

## Related

- [Stock Screener](https://www.lopjlb.com/screener)
- [CEF Screener landing](https://www.lopjlb.com/cef-screener)
- [BDC Screener landing](https://www.lopjlb.com/bdc-screener)
- [Crypto Screener landing](https://www.lopjlb.com/crypto-screener)
- [Market pulse API](https://www.lopjlb.com/bff/api/market-pulse)
- [Global Market Hours](https://www.lopjlb.com/market-hours)
