Historical Bond Yields API – Government Bonds Time-Series Data

Historical Bond Yields API provides more than 10 years of government bond yield history for over 50 countries in a structured JSON format. It returns historical time-series data across multiple maturities, from short-term government rates to long-term bond yields.

For the United States, the API provides historical Treasury yield series, including the 10-Year Treasury, 20-Year Treasury, and other supported maturities. Available maturities vary by country and depend on the underlying government bond market.

You can query historical government bond yields by country and maturity type, and retrieve data for a specific period using custom date parameters. Supported maturity types include 3m, 6m, 2y, 5y, 10y, 20y, and other country-specific series.

Use historical bond yield data for yield curve analysis, backtesting, macroeconomic research, fixed income dashboards, and automated financial applications.

TL;DR: A REST API that returns more than 10 years of historical government bond yield time-series data for over 50 countries, including US Treasury yield history and country-specific maturities in JSON format.

Historical Bond Yields API

Access time-series government bond yields for any country — including full 10-year treasury yield history — with daily or monthly intervals and custom date ranges.

Get Your API Key →

What is the Historical Bond Yields API?

Historical Bond Yields API by Fin2Dev returns historical yield data for government bonds worldwide, including 10-year treasury rate history for the US and other major economies. You can filter by country, type (maturity), set a frequency (day/month), and define a date_from / date_to range.

Key parameters

  • country * – bond country (e.g., germany, united_states)
  • type – maturity: 2y, 10y, 10_tips, 20y, etc.
  • frequencyday (default) or month
  • date_from / date_to – ISO date range

Why historical?

Perfect for backtesting, yield curve analysis, econometric models, and dashboards that need historic treasury yields or any government bond history in a clean JSON format — a lightweight bond history API for developers.

10-Year Treasury Yield History

Looking specifically for 10 year treasury yield history? Set country=united_states and type=10y to pull daily or monthly data for any date range — the same call also works for Germany, the UK, Japan and other markets.

Data Structure & Fields

Every API response returns a standardized JSON object containing metadata and an array of historical closing yields. No complex parsing required.

Field Type Description
region / country string Geographic classification (e.g., europe, Germany).
bond_type string Bond maturity or type requested (e.g., 10y, 10_tips).
date_time string (YYYY-MM-DD) The specific trading day or month-end date.
price string (decimal) The historical government bond yield value (percentage).

API Integration Examples

import requests

url = "https://apidata.fin2dev.com/v1/bondshistorical"
params = {
    "key": "YOUR_API_KEY",
    "country": "germany",
    "type": "2y",
    "date_from": "2010-01-01",
    "date_to": "2010-01-10"
}

response = requests.get(url, params=params)
data = response.json()

for item in data["result"]["output"]["prices"]:
    print(item["date_time"], item["price"])
<?php
$key = "YOUR_API_KEY";
$url = "https://apidata.fin2dev.com/v1/bondshistorical?key=$key&country=germany&type=2y&date_from=2010-01-01&date_to=2010-01-10";

$json = file_get_contents($url);
$data = json_decode($json, true);

foreach ($data['result']['output']['prices'] as $row) {
    echo $row['date_time'] . " " . $row['price'] . "\n";
}
?>

Example JSON Response

{
  "status": { "code": 200, "message": "OK", "details": "" },
  "result": {
    "basics": { "frequency": "1d" },
    "output": {
      "region": "europe",
      "country": "Germany",
      "bond_type": "2y",
      "prices": [
        { "price": "1.251", "date_time": "2010-01-08" },
        { "price": "1.293", "date_time": "2010-01-07" },
        { "price": "1.321", "date_time": "2010-01-06" },
        { "price": "1.311", "date_time": "2010-01-05" },
        { "price": "1.366", "date_time": "2010-01-04" },
        { "price": "1.323", "date_time": "2010-01-01" }
      ]
    }
  }
}

Common Historical Queries

Daily history

Use frequency=day (default) for daily closing yields.

Monthly aggregation

frequency=month returns month-end values.

10-Year Treasury Yield History

country=united_states&type=10y – full 10 year US treasury yield history in one call.

Date range

Filter with date_from and date_to to trim history.

Germany 2y

country=germany&type=2y – short-term bunds.

TIPS

type=10_tips for inflation-protected bonds.

Frequently Asked Questions

How do I get historical bond yields?

Send a GET to /v1/bondshistorical with your API key and at least country.

What maturities are supported?

All standard types: 3m, 6m, 1y, 2y, 5y, 10y, 20y, 10_tips, and more.

Can I get monthly data?

Yes, set frequency=month to receive month-end observations.

Does this treasury rates API cover more than the US 10-year note?

Yes — beyond historical 10 year US treasury rates, the same bond history API returns historic treasury yields for 3m, 2y, 5y, 20y and other maturities across dozens of countries.

Pricing

Start small and scale. Simple plans with transparent call limits.

Basic

Entry plan for testing
Intro
$9
  • 500 calls
  • 10/min rate

Premium

Scale
High volume
$49
  • 10,000 calls
  • 30/min rate
Note: Full details on the pricing page. All plans include historical endpoint access.