Yield curve history API reference
Bank of England nominal zero-coupon yields, from one source date to the full available curve. Retrieve one date or a paginated history.
Request
GET /v1/economics/{country}/yield-curve/historycurl --request GET \
--url "https://api.narwhalapi.com/v1/economics/GBR/yield-curve/history?start=2026-09-09&end=2026-09-10&limit=100&maturity=2y%2C10y" \
--header "Authorization: Bearer $NARWHAL_API_KEY"REST and MCP use the same Bearer key, response schema and quota. MCP tool: economics_get_yield_curve_history.
Parameters
| Name | Type | Required | Meaning |
|---|---|---|---|
country | path · ISO alpha-3 | Yes | USA is the only country in the verified yield archive. |
start | YYYY-MM-DD string | No | Inclusive lower bound. Omit for the first available period. |
end | YYYY-MM-DD string | No | Inclusive upper bound; cannot precede start. Omit for the last available period. |
limit | integer · 1–1000 | No | Default 100. Counts dates or years, not individual yield points. |
cursor | opaque string | No | Pass next_cursor unchanged with the same country, filters and limit. Cursors expire after 24 hours. |
maturity | comma-separated string | No | Optional on both routes. Omit for the whole available curve. Allowed: 0.5y, 1y, 1.5y, 2y, 2.5y, 3y, 3.5y, 4y, 4.5y, 5y, 5.5y, 6y, 6.5y, 7y, 7.5y, 8y, 8.5y, 9y, 9.5y, 10y, 10.5y, 11y, 11.5y, 12y, 12.5y, 13y, 13.5y, 14y, 14.5y, 15y, 15.5y, 16y, 16.5y, 17y, 17.5y, 18y, 18.5y, 19y, 19.5y, 20y, 20.5y, 21y, 21.5y, 22y, 22.5y, 23y, 23.5y, 24y, 24.5y, 25y, 25.5y, 26y, 26.5y, 27y, 27.5y, 28y, 28.5y, 29y, 29.5y, 30y, 30.5y, 31y, 31.5y, 32y, 32.5y, 33y, 33.5y, 34y, 34.5y, 35y, 35.5y, 36y, 36.5y, 37y, 37.5y, 38y, 38.5y, 39y, 39.5y, 40y. Duplicates are removed and terms sorted; unsupported labels return 400. |
Keep the country, range, maturity selection where applicable, and limit unchanged when following a cursor. Pagination holds one immutable publication snapshot. The default limit is 100 periods; the maximum is 1,000. An empty valid range returns observations: [] and next_cursor: null.
Response
Example response Saved source sample · not a live request
{
"country": "GBR",
"curve_type": "nominal_zero_coupon",
"observations": [
{
"date": "2026-09-09",
"yields": [
{
"maturity": "2y",
"yield_percent": "4.4821473122101274"
},
{
"maturity": "10y",
"yield_percent": "5.2493002729396405"
}
]
},
{
"date": "2026-09-10",
"yields": [
{
"maturity": "2y",
"yield_percent": "4.6509003413966044"
},
{
"maturity": "10y",
"yield_percent": "5.3572243604351168"
}
]
}
],
"next_cursor": null
}| Field | Type | Meaning |
|---|---|---|
country | ISO alpha-3 string | The requested country or territory. |
curve_type | "nominal_zero_coupon" | Bank of England continuously compounded nominal zero-coupon curve. |
observations | array | Oldest first. Missing periods are omitted; an empty valid range returns an empty array. |
observations[].date | YYYY-MM-DD string | The source date shared by all points in this curve. |
observations[].yields | array | Available maturities, ordered shortest to longest. Even one maturity remains an array. |
observations[].yields[].maturity | string | One of the supported maturity labels. |
observations[].yields[].yield_percent | decimal string | Yield in percent, preserving source decimal precision. |
next_cursor | string or null | Opaque continuation token; null means there is no next page. |
Values retain decimal strings. No source timestamp or publication date is invented. Request and quota metadata are returned in headers.
Errors and quota
| Status | Meaning |
|---|---|
400 | Invalid country syntax, date, year, range, maturity, limit or cursor. |
401 | Missing or rejected API key. |
404 | No available observation matches the exact date, year or selected maturities. |
409 | The publication snapshot expired or was withdrawn. Restart without the cursor. |
429 | Rate limit or monthly quota reached. |
503 | The accepted data cannot be served safely. |
A successful response consumes one request, including an empty history result. Errors consume no quota. Shared errors and headers →
Coverage and freshness
United Kingdom · GBR · 2 Jan 1979 onward. The Bank of England aims to publish by noon Europe/London on the next business day. Weekends and holidays may have no new curve. Source values can be revised; a source check is not a promise of a new observation.
Missing maturities are omitted. Narwhal never fills a missing source point, substitutes an older curve, or invents a value.
Source: Bank of England · Yield curves.
Docs