# Bond / Fixed-Income Performance API
> What is moving across the bond market, by duration and credit, computed live from Yahoo Finance via the major fixed-income ETFs (no key, nothing stored). Bonds are the other half of every portfolio, and their moves are the cleanest read on interest rates and credit: when long Treasuries (TLT) fall, the market is pricing higher long rates; when high-yield (HYG) lags investment-grade (LQD), credit risk is being repriced. For every fixed-income ETF — Treasuries from ultra-short to 20-year-plus, investment-grade and high-yield credit, TIPS, munis, emerging-market and aggregate bonds — this measures the change on the day, the week and the month, the 52-week high and low and where the price sits in that range, tagged by category and rate sensitivity. The board endpoint returns the whole complex ranked by daily change with the gainers and losers and a category breakdown. The bond endpoint returns one ETF's performance card. The bonds endpoint lists what is covered. The fixed-income performance / bond-board cut — distinct from the government-bond-yield, yield-curve, central-bank-rate and bond-pricing-math APIs. Remember: a bond ETF's price moves inverse to its yield.

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

## Pricing
- **Free** (Free) — 1,050 calls/Mo, 2 req/s
- **Starter** ($9/Mo) — 25,500 calls/Mo, 6 req/s
- **Pro** ($29/Mo) — 128,000 calls/Mo, 18 req/s
- **Business** ($68/Mo) — 628,000 calls/Mo, 45 req/s

## Endpoints

### Board

#### `GET /v1/board` — Fixed-income complex ranked by daily change with monthly leaders

**Parameters:**
- `category` (query, optional, string) — Filter: treasury, credit, inflation, emerging, aggregate, municipal Example: `treasury`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/bondperformance-api/v1/board?category=treasury"
```

**Response:**
```json
{
    "data": {
        "note": "Every fixed-income ETF ranked by change on the day (gainers first), with monthly leaders. A bond ETF's price moves INVERSE to its yield, so a falling long-Treasury (TLT) means long rates rose. change_1d/1w/1m_pct are price changes over 1, ~5 and ~21 trading days; rate_sensitivity flags how much each reacts to rate moves. category filters to treasury, credit, inflation, emerging, aggregate or municipal.",
        "bonds": [
            {
                "etf": "TLT",
                "key": "long_treasury",
                "name": "20y+ Treasuries",
                "price": 85.98,
                "category": "treasury",
                "week52_low": 83.02,
                "week52_high": 92.06,
                "change_1d_pct": 1.3,
                "change_1m_pct": 1.16,
                "change_1w_pct": 0.56,
                "rate_sensitivity": "very high",
                "range_position_52w": 32.7
            },
            {
                "etf": "IEF",
                "key": "mid_treasury",
                "name": "7-10y Treasuries",
                "price": 94.34,
                "category": "treasury",
                "week52_low": 93.11,
                "week52_high": 97.99,
                "change_1d_pct": 0.69,
                "change_1m_pct": 0.02,
                "change_1w_pct": 0.23,
                "rate_sensitivity": "medium",
                "range_position_52w": 25.2
            },
            {
                "etf": "GOVT",
   
…(truncated, see openapi.json for full schema)
```

### Bond

#### `GET /v1/bond` — One fixed-income ETF performance card

**Parameters:**
- `bond` (query, required, string) — Key, alias or ETF (see /v1/bonds) Example: `long_treasury`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/bondperformance-api/v1/bond?bond=long_treasury"
```

**Response:**
```json
{
    "data": {
        "etf": "TLT",
        "key": "long_treasury",
        "name": "20y+ Treasuries",
        "note": "One fixed-income ETF's performance card: change on the day, week and month, 52-week high/low and range position, with its category and rate sensitivity. Price moves inverse to yield.",
        "price": 85.98,
        "source": "Yahoo Finance",
        "category": "treasury",
        "week52_low": 83.02,
        "week52_high": 92.06,
        "change_1d_pct": 1.3,
        "change_1m_pct": 1.16,
        "change_1w_pct": 0.56,
        "rate_sensitivity": "very high",
        "range_position_52w": 32.7
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:12.217Z",
        "request_id": "0df8e3bc-0120-49d3-8b49-09bb6d6ea66b"
    },
    "status": "ok",
    "message": "Bond retrieved successfully",
    "success": true
}
```

### Bonds

#### `GET /v1/bonds` — Supported fixed-income ETFs and categories

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

**Response:**
```json
{
    "data": {
        "note": "Supported fixed-income ETFs. Pass key/alias/etf as bond= to /v1/bond, or category= to /v1/board.",
        "bonds": [
            {
                "etf": "SHV",
                "key": "ultrashort_treasury",
                "name": "0-3m T-Bills",
                "category": "treasury",
                "rate_sensitivity": "very low"
            },
            {
                "etf": "SHY",
                "key": "short_treasury",
                "name": "1-3y Treasuries",
                "category": "treasury",
                "rate_sensitivity": "low"
            },
            {
                "etf": "IEF",
                "key": "mid_treasury",
                "name": "7-10y Treasuries",
                "category": "treasury",
                "rate_sensitivity": "medium"
            },
            {
                "etf": "TLT",
                "key": "long_treasury",
                "name": "20y+ Treasuries",
                "category": "treasury",
                "rate_sensitivity": "very high"
            },
            {
                "etf": "GOVT",
                "key": "broad_treasury",
                "name": "Broad Treasuries",
                "category": "treasury",
                "rate_sensitivity": "medium"
            },
            {
                "etf": "LQD",
                "key": "ig_credit",
                "name": "Investment-Grade Corp",
                "category": "credit",
                "rate_sensitivity": "h
…(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/bondperformance-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "board category= filters by category. bond= takes a key/alias/ETF (long_treasury, TLT, high_yield; see /v1/bonds). Changes are over 1, ~5 and ~21 trading days; price moves inverse to yield. Read fresh per call, nothing cached.",
        "source": "Yahoo Finance daily fixed-income ETF closes (1y range), live",
        "service": "bondperformance-api",
        "endpoints": {
            "GET /v1/bond": "One fixed-income ETF's performance card (bond=long_treasury).",
            "GET /v1/meta": "This document.",
            "GET /v1/board": "The fixed-income complex ranked by daily change with monthly leaders (category=treasury optional).",
            "GET /v1/bonds": "The supported fixed-income ETFs and categories."
        },
        "categories": [
            "treasury",
            "credit",
            "inflation",
            "emerging",
            "aggregate",
            "municipal"
        ],
        "description": "Bond / fixed-income performance board — what is moving across the bond market by duration and credit, live from Yahoo Finance via the major fixed-income ETFs (no key, nothing stored). board returns the whole complex ranked by daily change (gainers and losers) with monthly leaders and a category filter. bond returns one ETF's performance card (day/week/month change, 52-week range, category, rate sensitivity). bonds lists what is covered. The fixed-income performance / bond-board cut — distinct from the government-bond-yi
…(truncated, see openapi.json for full schema)
```


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