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-spotreturns 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-historyreturns date/yield pairs over a range, with daily or monthly granularity. - Daily OHLC candles:
bonds-history-candlesreturns open/high/low/close yield data per day, for charting libraries. - Built-in discovery:
bonds-cataloglists every country and the exact maturities available for it.
Data Coverage & Trust
| Metric | Value |
|---|---|
| Countries covered | 54 (verified live via bonds-catalog, 2026-08-23) |
| Maturities | Vary 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 format | JSON |
| Historical range per request | Up to 100 days between date_from and date_to, for both bonds-history and bonds-history-candles. Future dates are rejected |
| Authentication | API key, passed as an api_key query parameter |
| Rate limit | Per-minute request limit, varies by subscription plan (see Pricing & Access below) |
| Response cache | bonds-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.
| Parameter | Required | Description |
|---|---|---|
api_key | Yes | Your FinanceFlowAPI key |
country | One of country/region | Country name as returned by bonds-catalog, e.g. United_States. Cannot be combined with region |
region | One of country/region | Region name, e.g. Europe (returns every country in that region). Cannot be combined with country |
type | No | Maturity, e.g. 10y, 2y. Defaults to 10y if omitted |
bonds-history: historical yield time series.
| Parameter | Required | Description |
|---|---|---|
api_key | Yes | Your FinanceFlowAPI key |
country | Yes | Country name as returned by bonds-catalog |
type | No | Maturity, e.g. 10y |
interval | No | day or month |
date_from / date_to | No* | 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.
| Parameter | Required | Description |
|---|---|---|
api_key | Yes | Your FinanceFlowAPI key |
country | Yes | Country name as returned by bonds-catalog |
type | No | Maturity, e.g. 10y |
date_from / date_to | No* | Same rules as bonds-history above |
bonds-catalog: discover available countries and maturities.
| Parameter | Required | Description |
|---|---|---|
api_key | Yes | Your FinanceFlowAPI key |
Response Schema
bonds-spot: each item in data.
| Field | Type | Description |
|---|---|---|
bond_country | string | Country name, lowercase |
bond_yield | number | Current yield, percent |
bond_type | string | Maturity, e.g. 10Y |
daily_bond_change | string (numeric) | Absolute yield change vs. the previous day |
weekly_bond_change_percent | string | Percent change vs. one week ago |
monthly_bond_change_percent | string | Percent change vs. one month ago |
yearly_bond_change_percent | string | Percent change vs. one year ago |
last_updated | string | Date the yield was last updated, YYYY-MM-DD |
bonds-history: each item in data.
| Field | Type | Description |
|---|---|---|
date | string | Date, YYYY-MM-DD |
bond_type | string | Maturity |
yield | number | Yield on that date, percent |
bonds-history-candles: each item in data.
| Field | Type | Description |
|---|---|---|
bond_name | string | Human-readable bond name, e.g. US 10 Year Note Bond Yield |
bond_type | string | Maturity |
yield, open, high, low, close | string (numeric) | OHLC yield values for the day |
date | string | Date, YYYY-MM-DD |
bonds-catalog: each item in data.
| Field | Type | Description |
|---|---|---|
country | string | Country name, e.g. United_States, United_Kingdom |
supported_types | array of strings | Every maturity available for that country |
HTTP Status & Errors
| HTTP code | Meaning | When it happens |
|---|---|---|
200 | OK | Request succeeded, data returned |
400 | Bad request | Missing 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 |
403 | Invalid API key or subscription expired | api_key missing, invalid, or your subscription has expired |
404 | Data not found | Unknown or misspelled country |
429 | Rate limit exceeded | You exceeded the per-minute request limit for your subscription plan (live-confirmed during this page’s own research) |
500 | Internal error | Unexpected 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-spotacross maturities, or candlestick charts frombonds-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_fromanddate_to, on bothbonds-historyandbonds-history-candles; future dates are rejected on both. date_fromanddate_tomust 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-catalogbefore 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.
Related APIs
- Economic Calendar API: see how bond yields react around scheduled economic events.
- Economic Indicators API: see how bond yields relate to GDP, inflation and interest rate data.