An Italy–Germany 10Y spread API returns the BTP–Bund gap in basis points as JSON so a rates dashboard does not subtract yields in the browser. On Bonds-API that is GET /api/v1/spread with country=IT, benchmark=DE, maturity=10Y, and query api_key (not Bearer).
Starter is $19/mo (1,000 requests) with a 7-day trial. Pro is $49 / 10k. Docs: bonds-api.com/docs. MCP: https://mcp.bonds-api.com (bonds-api.com/mcp 404s).
Request: IT vs DE 10Y
curl "https://bonds-api.com/api/v1/spread?country=IT&benchmark=DE&maturity=10Y&api_key=YOUR_KEY"
Response: official docs sample
{
"success": true,
"data": {
"country": "IT",
"benchmark": "DE",
"maturity": "10Y",
"country_yield": 3.78,
"benchmark_yield": 3.00,
"spread_bps": 78.0,
"unit": "basis_points",
"date": "2026-04-14"
},
"meta": {
"request_id": "3efeeaa7-d4ab-4cde-8104-78fd402052a9",
"timestamp": "2026-04-14T09:00:00Z"
}
}
Italy 10Y is 3.78, Germany 10Y is 3.00, spread is 78.0 basis points on 2026-04-14. That is the documentation fixture — copy the curl for a live print. Keys on latest are {CC}_{TENOR} (for example IT_10Y / DE_10Y) if you pull levels instead of the spread helper.
Related path: US curve
curl "https://bonds-api.com/api/v1/curve?country=US&api_key=YOUR_KEY"
Same api_key. Curve is the tenor stack for one country; spread is a pairwise gap. Historical / timeseries / intraday / fluctuation live on other /api/v1/… paths in the docs.
Go live
1. Register — 7-day trial.
2. Copy api_key.
3. GET the spread URL above.
4. Chart data.spread_bps (unit basis_points).
FAQ
Is this Fed Funds or SOFR?
No. Those H1s belong to Interest Rates API. This post is a sovereign 10Y spread.