Government Bonds API

Government Bonds API: Real-Time & Historical Yields for 54 Countries

Query sovereign bond yields (spot rates, historical time series and daily OHLC candles) across 54 countries and every major maturity from 1-month bills to 30-year bonds. One consistent JSON API for U.S. Treasuries, UK Gilts, German Bunds and more.

Get Your API Key Discover Docs

← All financial data endpoints

Why Use FinanceFlowAPI’s Government Bonds API?

Tracking sovereign bond yields usually means integrating a different central bank, treasury or exchange feed for every country you cover, each with its own maturities and format. The Government Bonds API normalizes 54 countries and every maturity they publish into one schema and one authentication method, so you can add a new market to your product without a new integration.

  • One JSON schema for every country and maturity, so there’s no per-source parsing to maintain.
  • 54 countries verified live against production, from the U.S. and UK to emerging markets.
  • Spot yields, historical time series and daily OHLC candles all under one API.
  • Same account, API key and billing as the rest of FinanceFlowAPI (Commodities, Currency, Economic Calendar and Economic Indicators data).

Key Capabilities

  • Spot yield by country or region: bonds-spot returns the current yield plus daily, weekly, monthly and yearly change for one country, or every country in a region in one call.
  • Multiple maturities per country: from short-term bills (1m, 3m, 6m) to long bonds (20y, 30y); exact availability varies by country.
  • Historical time series: bonds-history returns date/yield pairs over a range, with daily or monthly granularity.
  • Daily OHLC candles: bonds-history-candles returns open/high/low/close yield data per day, for charting libraries.
  • Built-in discovery: bonds-catalog lists every country and the exact maturities available for it.

Data Coverage & Trust

MetricValue
Countries covered54 (verified live via bonds-catalog, 2026-08-23)
MaturitiesVary by country: observed values include 1m, 3m, 6m, 52w, 2y, 3y, 5y, 7y, 10y, 15y, 20y, 30y; use bonds-catalog to see exactly which apply to a given country
Response formatJSON
Historical range per requestUp to 100 days between date_from and date_to, for both bonds-history and bonds-history-candles. Future dates are rejected
AuthenticationAPI key, passed as an api_key query parameter
Rate limitPer-minute request limit, varies by subscription plan (see Pricing & Access below)
Response cachebonds-history and bonds-history-candles results are cached for 12 hours per unique query; bonds-spot and bonds-catalog are not cached by FinanceFlowAPI

Data Methodology

Government Bonds API data is aggregated from market data sources and normalized, for every supported country, into one consistent schema: country, maturity type, yield, and (for spot) period-over-period change. Sourced from aggregated third-party market and statistical data providers; the specific vendor and full per-country methodology are not published.

Live API Playground Coming Soon

An interactive API Playground for this endpoint is planned. Until it ships, use the request and response examples below, or your own HTTP client, to try the API live with your key.

Request Example

GET https://financeflowapi.com/api/v1/bonds-spot?api_key=YOUR_API_KEY&country=United_States&type=10y

Response Example

{
  "success": true,
  "code": 200,
  "message": "OK",
  "meta": {
    "timestamp": 1787481854,
    "request_id": "6a8acefe7bf4e"
  },
  "data": [
    {
      "bond_country": "united states",
      "bond_yield": 4.736,
      "bond_type": "10Y",
      "daily_bond_change": "0.0300",
      "weekly_bond_change_percent": "0.04%",
      "monthly_bond_change_percent": "0.07%",
      "yearly_bond_change_percent": "0.47%",
      "last_updated": "2026-08-21"
    }
  ]
}

API Parameters

bonds-spot: current yield for a country or region.

ParameterRequiredDescription
api_keyYesYour FinanceFlowAPI key
countryOne of country/regionCountry name as returned by bonds-catalog, e.g. United_States. Cannot be combined with region
regionOne of country/regionRegion name, e.g. Europe (returns every country in that region). Cannot be combined with country
typeNoMaturity, e.g. 10y, 2y. Defaults to 10y if omitted

bonds-history: historical yield time series.

ParameterRequiredDescription
api_keyYesYour FinanceFlowAPI key
countryYesCountry name as returned by bonds-catalog
typeNoMaturity, e.g. 10y
intervalNoday or month
date_from / date_toNo*YYYY-MM-DD. *Must be provided together: one without the other returns a 400. Range capped at 100 days; future dates rejected

bonds-history-candles: historical daily OHLC candles.

ParameterRequiredDescription
api_keyYesYour FinanceFlowAPI key
countryYesCountry name as returned by bonds-catalog
typeNoMaturity, e.g. 10y
date_from / date_toNo*Same rules as bonds-history above

bonds-catalog: discover available countries and maturities.

ParameterRequiredDescription
api_keyYesYour FinanceFlowAPI key

Response Schema

bonds-spot: each item in data.

FieldTypeDescription
bond_countrystringCountry name, lowercase
bond_yieldnumberCurrent yield, percent
bond_typestringMaturity, e.g. 10Y
daily_bond_changestring (numeric)Absolute yield change vs. the previous day
weekly_bond_change_percentstringPercent change vs. one week ago
monthly_bond_change_percentstringPercent change vs. one month ago
yearly_bond_change_percentstringPercent change vs. one year ago
last_updatedstringDate the yield was last updated, YYYY-MM-DD

bonds-history: each item in data.

FieldTypeDescription
datestringDate, YYYY-MM-DD
bond_typestringMaturity
yieldnumberYield on that date, percent

bonds-history-candles: each item in data.

FieldTypeDescription
bond_namestringHuman-readable bond name, e.g. US 10 Year Note Bond Yield
bond_typestringMaturity
yield, open, high, low, closestring (numeric)OHLC yield values for the day
datestringDate, YYYY-MM-DD

bonds-catalog: each item in data.

FieldTypeDescription
countrystringCountry name, e.g. United_States, United_Kingdom
supported_typesarray of stringsEvery maturity available for that country

HTTP Status & Errors

HTTP codeMeaningWhen it happens
200OKRequest succeeded, data returned
400Bad requestMissing country/region; both country and region given together; only one of date_from/date_to provided; invalid date format; range over 100 days; future dates on history endpoints
403Invalid API key or subscription expiredapi_key missing, invalid, or your subscription has expired
404Data not foundUnknown or misspelled country
429Rate limit exceededYou exceeded the per-minute request limit for your subscription plan (live-confirmed during this page’s own research)
500Internal errorUnexpected server-side failure (rare)

Code Examples

curl "https://financeflowapi.com/api/v1/bonds-spot?api_key=YOUR_API_KEY&country=United_States&type=10y"
import requests

url = "https://financeflowapi.com/api/v1/bonds-spot"
params = {
    "api_key": "YOUR_API_KEY",
    "country": "United_States",
    "type": "10y"
}

response = requests.get(url, params=params)
data = response.json()
print(data)
const params = new URLSearchParams({
  api_key: "YOUR_API_KEY",
  country: "United_States",
  type: "10y"
});

fetch(`https://financeflowapi.com/api/v1/bonds-spot?${params}`)
  .then(res => res.json())
  .then(data => console.log(data));
<?php
$params = http_build_query([
    'api_key' => 'YOUR_API_KEY',
    'country' => 'United_States',
    'type'    => '10y',
]);

$response = file_get_contents("https://financeflowapi.com/api/v1/bonds-spot?{$params}");
$data = json_decode($response, true);

print_r($data);
package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    params := url.Values{}
    params.Add("api_key", "YOUR_API_KEY")
    params.Add("country", "United_States")
    params.Add("type", "10y")

    resp, err := http.Get("https://financeflowapi.com/api/v1/bonds-spot?" + params.Encode())
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)

    var data map[string]interface{}
    json.Unmarshal(body, &data)

    fmt.Println(data)
}

Use Cases

  • Portfolio & risk dashboards. Track yields across countries and maturities alongside Commodity Price API and equities data.
  • Yield curve & charting tools. Build yield curve visualizations from bonds-spot across maturities, or candlestick charts from bonds-history-candles.
  • Economic research. Correlate bond yields with Economic Indicators API data and Economic Calendar API releases.
  • Trading platforms. Integrate live sovereign yield data into fixed-income trading applications.

Who Is This API For?

  • Fixed-income traders and analysts tracking sovereign yields across markets
  • Fintech dashboards blending bond yields with equity or FX data through the same api_key, without needing a second integration for a second data type
  • Economic researchers studying how yields react around scheduled macro events
  • Developers building yield curve or candlestick charting tools

Market Data API

Test Plan

$5.00/month

Historical data, days: 60

Requests limit: 200

Requests Speed limit(per minute): 20

Standard Subscription

$25.00/month

Historical data, years: 5

Requests limit: 10000

Requests Speed limit(per minute): 60

Premium Subscription

$50.00/month

Historical data, years: 20+

Requests limit: 100000

Requests Speed limit(per minute): 120

Limitations

  • Historical range is capped at 100 days between date_from and date_to, on both bonds-history and bonds-history-candles; future dates are rejected on both.
  • date_from and date_to must be provided together on the history endpoints. Passing only one returns a 400 error.
  • Available maturities vary by country; not every country publishes every maturity from 1-month to 30-year. Check bonds-catalog before querying.
  • Endpoint access and your per-minute rate limit depend on your subscription plan.

FAQ

What is the FinanceFlowAPI Government Bonds API?

It’s a REST API that provides real-time and historical sovereign bond yield data (spot yields, historical time series and daily OHLC candles) for 54 countries, including U.S. Treasuries, UK Gilts and German Bunds.

Which countries are supported?

54 countries, verified live against our production API. Use bonds-catalog to get the exact list and the maturities available for each country.

Which bond maturities can I query?

It varies by country, from short-term bills (1m, 3m, 6m) to long bonds (20y, 30y). If you omit type on bonds-spot, it defaults to 10-year. Check bonds-catalog for the exact maturities available per country.

Can I get bond yields for a whole region at once?

Yes, pass region instead of country on bonds-spot (e.g. region=Europe) to get every country in that region in one response. You cannot combine country and region in the same request.

How much historical data can I query at once?

Up to 100 days between date_from and date_to on both bonds-history and bonds-history-candles. Both parameters must be provided together, and future dates are not allowed.

How do I get started?

Create a FinanceFlowAPI account and choose a plan. See Pricing & Access above for current plans and limits.

Full API documentation →