DocsBonds

Bonds

Latest sovereign yield curve rates for supported country and tenor pairs.

Open .md
Authx-api-key headerBase path/bondWebSocketbonds.quotesSymbol formatCC:TENOR (e.g. US:10Y)

Rates are percentages, one official observation per business day. A short upstream interruption still returns the last good value.

Symbols

US
Treasury curve
1M3M6M1Y2Y3Y5Y7Y10Y20Y30Y
DE · ES · FR · IT · UK
EU and UK sovereign curves
1Y2Y3Y5Y10Y30Y
GET/bond/last/:symbol
Open .md

Latest yield

Latest available yield curve rate for a supported country and tenor.

symbolstringRequired
Bond yield symbol in CC:TENOR format. US tenors support 1M, 3M, 6M, 1Y, 2Y, 3Y, 5Y, 7Y, 10Y, 20Y, and 30Y. DE, ES, FR, IT, and UK support 1Y, 2Y, 3Y, 5Y, 10Y, and 30Y.
curl -sS "https://api.tickerlayer.com/bond/last/US:30Y" \
  -H "x-api-key: <YOUR_API_KEY>"

Send runs against the live API with your account key (never exposed in the browser).

Response 200 OK

JSON
{
  "symbol": "US:30Y",
  "rate": 4.86,
  "unit": "percent",
  "date": "2026-06-25",
  "timestamp": 1782345600000
}
400 invalid symbol for malformed symbols. 404 symbol not available for unsupported country or tenor pairs. 503 market data temporarily unavailable when no current or cached value is available.
GET/bond/snapshot/:symbol
Open .md

Snapshot

Latest yield plus the previous published observation and the change between them.

symbolstringRequired
Bond yield symbol in CC:TENOR format. US tenors support 1M, 3M, 6M, 1Y, 2Y, 3Y, 5Y, 7Y, 10Y, 20Y, and 30Y. DE, ES, FR, IT, and UK support 1Y, 2Y, 3Y, 5Y, 10Y, and 30Y.
curl -sS "https://api.tickerlayer.com/bond/snapshot/US:30Y" \
  -H "x-api-key: <YOUR_API_KEY>"

Send runs against the live API with your account key (never exposed in the browser).

Response 200 OK

JSON
{
  "symbol": "US:30Y",
  "rate": 4.86,
  "unit": "percent",
  "date": "2026-06-25",
  "timestamp": 1782345600000,
  "prev_rate": 4.83,
  "prev_date": "2026-06-24",
  "prev_timestamp": 1782259200000,
  "change": 0.03,
  "change_bps": 3,
  "change_percent": 0.6211
}
change is the move in percentage points versus the previous observation, change_bps is the same move in basis points, and change_percent is the relative move versus prev_rate. Both observations are dated, so prev_date tells you the interval the change covers: consecutive business days for most curves, and the previous auction for the short-term Italy tenors, which publish monthly. The prev_* and change fields are null when only a single observation is available yet. Errors match the latest rate endpoint.

WebSocket

Subscribe to bonds.quotes with the same CC:TENOR symbols. Bonds access on your account covers the channel as well as the REST endpoints.

Daily, not ticks
Right after the subscribe acknowledgement the latest published rate is replayed with snapshot: true; then one frame per symbol for each new observation, in practice once per business day. Silence in between is normal, not a stalled stream.
Fields
Those of /bond/snapshot except prev_timestamp. ts and timestamp are the observation date, never the send time.
Subscribe
{
  "action": "subscribe",
  "channels": ["bonds.quotes"],
  "symbols": ["US:10Y", "DE:10Y"]
}
rate frame (replayed on subscribe)
{
  "type": "rate",
  "channel": "bonds.quotes",
  "asset": "bonds",
  "symbol": "US:10Y",
  "rate": 4.79,
  "unit": "percent",
  "date": "2026-09-02",
  "prev_rate": 4.76,
  "prev_date": "2026-09-01",
  "change": 0.03,
  "change_bps": 3,
  "change_percent": 0.6303,
  "ts": 1788307200000,
  "timestamp": 1788307200000,
  "snapshot": true
}