Argentina 10 Year Bond Yield

Argentina 10 Year Bond Yield

You need reliable, machine-readable data for the Argentina 10-year sovereign bond yield, including point-in-time values, time series, intraday snapshots, and spreads against benchmarks. By the end of this guide, you’ll be able to query Argentina’s 10Y yield from Bonds API, build a yield curve, compute spreads, and integrate this data into dashboards, research notebooks, or trading tools.

What you get from Bonds API for Argentina’s 10-year

Bonds API delivers sovereign bond yields as JSON over a REST interface. For Argentina (ISO2: AR), the 10-year (10Y) yield is available as a percentage (for example, 4.52 means 4.52%). You can retrieve:

Illustration: Argentina 10 Year Bond Yield
  • Latest yields for specific maturities or the full curve
  • Historical daily closes by date
  • Time series between two dates
  • Intraday snapshots (UTC timestamps)
  • Spreads in basis points (bps) versus a benchmark such as US Treasuries

Dates in responses use the Y-m-d format (for example, 2026-10-11). Intraday timestamps are in ISO 8601 with a Z or offset (for example, 2026-10-11T12:00:00Z) and are UTC. Visit https://bonds-api.com for product details and coverage.

Base URL, authentication, and request method

All endpoints are GET and use the base URL https://bonds-api.com/api/v1/. Authenticate by sending your API key in the X-API-Key header. Never use POST for data retrieval.

  • Base URL: https://bonds-api.com/api/v1/
  • Authentication: X-API-Key: YOUR_API_KEY
  • HTTP method: GET

You can explore endpoints interactively in the MCP, or go straight to integration with the examples below.

Latest: current Argentina yields by maturity (/latest)

Use this endpoint to fetch the most recent yields for Argentina’s 10Y, or multiple maturities at once if you want to approximate a same-day curve. Yields are percentages (%) and the date is the market date for which the value is reported.

cURL (GET)

curl -s "https://bonds-api.com/api/v1/latest?countries=US&maturities=10Y&api_key=YOUR_API_KEY"

Sample JSON response

{
"success": true,
"date": "2026-10-09",
"rates": {
"US_10Y": 5.24
},
"dates": {
"US_10Y": "2026-10-09"
},
"currencies": {
"US_10Y": "USD"
},
"meta": {
"request_id": "3d429e94-1953-4b0c-a58d-a5b7f8e93b99",
"timestamp": "2026-10-11T00:04:04+00:00"
}
}

Field notes:

  • data.AR.10Y.yield: The 10Y yield in percent (4.52 means 4.52%).
  • data.AR.10Y.date: Market date (Y-m-d) for that yield.
  • source: Origin of the figure, e.g., “official”.

Python (requests)

import requests

resp = requests.get(
'https://bonds-api.com/api/v1/latest',
headers={'X-API-Key': 'YOUR_API_KEY'},
params={'countries': 'AR', 'maturities': '2Y,10Y'}
)
data = resp.json()
ar_10y = data['data']['AR']['10Y']['yield']
ar_10y_date = data['data']['AR']['10Y']['date']
print('AR 10Y:', ar_10y, 'on', ar_10y_date)

JavaScript (fetch)

const url = new URL('https://bonds-api.com/api/v1/latest');
url.searchParams.set('countries', 'AR');
url.searchParams.set('maturities', '2Y,10Y');

fetch(url.toString(), {
method: 'GET',
headers: { 'X-API-Key': 'YOUR_API_KEY' }
})
.then(r => r.json())
.then(json => {
const y = json.data.AR['10Y'].yield;
const d = json.data.AR['10Y'].date;
console.log('AR 10Y', y, 'on', d);
});

PHP (file_get_contents)

<?php
$context = stream_context_create([
'http' => [
'method' => 'GET',
'header' => "X-API-Key: YOUR_API_KEY\r\n"
]
]);
$url = 'https://bonds-api.com/api/v1/latest?countries=AR&maturities=2Y,10Y';
$json = file_get_contents($url, false, $context);
$data = json_decode($json, true);
$yield = $data['data']['AR']['10Y']['yield'];
$date = $data['data']['AR']['10Y']['date'];
echo "AR 10Y: $yield on $date";

Live sample block (copy as-is)

The following live-source sample is provided verbatim. It demonstrates a basic request format and a different response schema. Keep using the authenticated header pattern shown above for your production integration.

Historical: yield on a specific date (/historical)

Use this endpoint to retrieve the 10Y yield for Argentina on a given calendar date (Y-m-d). If the date is a non-trading day, the API may not return a value for that date.

cURL (GET)

Sample JSON response

Field notes:

  • yield: Percentage value for AR 10Y on the requested date.
  • date: The exact Y-m-d you asked for.

Python (requests)

import requests

params = {'country': 'AR', 'maturity': '10Y', 'date': '2025-06-15'}
r = requests.get('https://bonds-api.com/api/v1/historical',
headers={'X-API-Key': 'YOUR_API_KEY'},
params=params)
j = r.json()
print(j['country'], j['maturity'], j['yield'], 'on', j['date'])

JavaScript (fetch)

const u = new URL('https://bonds-api.com/api/v1/historical');
u.searchParams.set('country', 'AR');
u.searchParams.set('maturity', '10Y');
u.searchParams.set('date', '2025-06-15');

fetch(u.toString(), { headers: { 'X-API-Key': 'YOUR_API_KEY' } })
.then(res => res.json())
.then(j => console.log(`${j.country} ${j.maturity}: ${j.yield}% on ${j.date}`));

PHP (file_get_contents)

<?php
$ctx = stream_context_create([
'http' => ['method' => 'GET', 'header' => "X-API-Key: YOUR_API_KEY\r\n"]
]);
$u = 'https://bonds-api.com/api/v1/historical?country=AR&maturity=10Y&date=2025-06-15';
$out = file_get_contents($u, false, $ctx);
$j = json_decode($out, true);
echo $j['country'].' '.$j['maturity'].' '.$j['yield'].'% on '.$j['date'];

Time series: Argentina 10Y between two dates (/timeseries)

Pull a continuous daily series for AR 10Y to chart or compute returns and vol. The series array contains Y-m-d dates with yields as percentages.

cURL (GET)

Sample JSON response

Field notes:

  • series[].date: Market dates (business days).
  • series[].yield: Daily close yields in percent.

Python (requests)

import requests

p = {'country': 'AR', 'maturity': '10Y', 'start': '2025-10-11', 'end': '2026-10-11'}
r = requests.get('https://bonds-api.com/api/v1/timeseries',
headers={'X-API-Key': 'YOUR_API_KEY'},
params=p)
ts = r.json()['series']
print('Observations:', len(ts))
print('First:', ts[0])

JavaScript (fetch)

const tsUrl = new URL('https://bonds-api.com/api/v1/timeseries');
tsUrl.searchParams.set('country', 'AR');
tsUrl.searchParams.set('maturity', '10Y');
tsUrl.searchParams.set('start', '2025-10-11');
tsUrl.searchParams.set('end', '2026-10-11');

fetch(tsUrl.toString(), { headers: { 'X-API-Key': 'YOUR_API_KEY' } })
.then(r => r.json())
.then(j => console.log('Series length:', j.series.length));

PHP (file_get_contents)

<?php
$ctx = stream_context_create([
'http' => ['method' => 'GET', 'header' => "X-API-Key: YOUR_API_KEY\r\n"]
]);
$u = 'https://bonds-api.com/api/v1/timeseries?country=AR&maturity=10Y&start=2025-10-11&end=2026-10-11';
$j = json_decode(file_get_contents($u, false, $ctx), true);
echo 'Count: '.count($j['series']);

Spread: Argentina vs benchmark in basis points (/spread)

Compute the spread of Argentina’s 10Y versus a benchmark country, e.g., US Treasuries. The spread_bps field is in basis points (1 bp = 0.01%).

cURL (GET)

Sample JSON response

Field notes:

  • spread_bps: Difference AR 10Y – US 10Y in basis points (215 bps = 2.15%).
  • country_yield, benchmark_yield: Both in percent.

Python (requests)

import requests

params = {'country': 'AR', 'benchmark': 'US', 'maturity': '10Y'}
r = requests.get('https://bonds-api.com/api/v1/spread',
headers={'X-API-Key': 'YOUR_API_KEY'}, params=params)
j = r.json()
print('Spread (bps):', j['spread_bps'])

JavaScript (fetch)

const sUrl = new URL('https://bonds-api.com/api/v1/spread');
sUrl.searchParams.set('country', 'AR');
sUrl.searchParams.set('benchmark', 'US');
sUrl.searchParams.set('maturity', '10Y');

fetch(sUrl.toString(), { headers: { 'X-API-Key': 'YOUR_API_KEY' } })
.then(r => r.json())
.then(j => console.log('AR vs US 10Y spread (bps):', j.spread_bps));

PHP (file_get_contents)

<?php
$ctx = stream_context_create([
'http' => ['method' => 'GET', 'header' => "X-API-Key: YOUR_API_KEY\r\n"]
]);
$u = 'https://bonds-api.com/api/v1/spread?country=AR&benchmark=US&maturity=10Y';
$j = json_decode(file_get_contents($u, false, $ctx), true);
echo 'Spread bps: '.$j['spread_bps'];

Curve: build Argentina’s full yield curve (/curve)

Request the entire Argentina curve for the latest available date (or a specified date). The inverted flag indicates whether the curve is inverted at that date.

cURL (GET)

Sample JSON response

Field notes:

  • curve: Maturity-to-yield map, all yields in percent.
  • inverted: True if shorter maturities yield more than longer ones overall.

Python (requests)

import requests

r = requests.get('https://bonds-api.com/api/v1/curve',
headers={'X-API-Key': 'YOUR_API_KEY'},
params={'country': 'AR'})
j = r.json()
ar10 = j['curve']['10Y']
print('Curve date:', j['date'], 'AR 10Y:', ar10)

JavaScript (fetch)

const cUrl = new URL('https://bonds-api.com/api/v1/curve');
cUrl.searchParams.set('country', 'AR');

fetch(cUrl.toString(), { headers: { 'X-API-Key': 'YOUR_API_KEY' } })
.then(r => r.json())
.then(j => console.log('Inverted?', j.inverted, '10Y:', j.curve['10Y']));

PHP (file_get_contents)

<?php
$ctx = stream_context_create([
'http' => ['method' => 'GET', 'header' => "X-API-Key: YOUR_API_KEY\r\n"]
]);
$u = 'https://bonds-api.com/api/v1/curve?country=AR';
$j = json_decode(file_get_contents($u, false, $ctx), true);
echo 'Date: '.$j['date'].' 10Y: '.$j['curve']['10Y'];

Intraday: UTC snapshots for AR 10Y (/intraday)

Use intraday to capture multiple snapshots throughout a specific date (UTC). Helpful for tracking session moves or building live tiles.

cURL (GET)

Sample JSON response

Field notes:

  • snapshots[].yield: Percent.
  • snapshots[].fetched_at: ISO 8601 UTC timestamp of the snapshot.
  • meta.timezone: Always UTC for intraday.

Python (requests)

import requests

r = requests.get('https://bonds-api.com/api/v1/intraday',
headers={'X-API-Key': 'YOUR_API_KEY'},
params={'country': 'AR', 'maturity': '10Y', 'date': '2026-10-11'})
j = r.json()
for s in j['snapshots']:
print(s['fetched_at'], s['yield'])

JavaScript (fetch)

const iUrl = new URL('https://bonds-api.com/api/v1/intraday');
iUrl.searchParams.set('country', 'AR');
iUrl.searchParams.set('maturity', '10Y');
iUrl.searchParams.set('date', '2026-10-11');

fetch(iUrl.toString(), { headers: { 'X-API-Key': 'YOUR_API_KEY' } })
.then(r => r.json())
.then(j => console.table(j.snapshots));

PHP (file_get_contents)

<?php
$ctx = stream_context_create([
'http' => ['method' => 'GET', 'header' => "X-API-Key: YOUR_API_KEY\r\n"]
]);
$u = 'https://bonds-api.com/api/v1/intraday?country=AR&maturity=10Y&date=2026-10-11';
$j = json_decode(file_get_contents($u, false, $ctx), true);
foreach ($j['snapshots'] as $s) {
echo $s['fetched_at'].' '.$s['yield']."\n";
}

Fluctuation: change, min, max over a period (/fluctuation)

Summarize how the AR 10Y moved over a period in a single call: start, end, absolute change, min, and max.

cURL (GET)

Sample JSON response

Field notes:

  • start_yield, end_yield: Percent values at the boundaries.
  • change: Absolute percent change (end_yield − start_yield).
  • min, max: Period extremes, in percent.

Python (requests)

import requests

p = {'countries': 'AR', 'maturity': '10Y', 'start': '2025-10-11', 'end': '2026-10-11'}
r = requests.get('https://bonds-api.com/api/v1/fluctuation',
headers={'X-API-Key': 'YOUR_API_KEY'}, params=p)
j = r.json()
f = j['data']['AR']
print('Δ (pct):', f['change'], 'min:', f['min'], 'max:', f['max'])

JavaScript (fetch)

const fUrl = new URL('https://bonds-api.com/api/v1/fluctuation');
fUrl.searchParams.set('countries', 'AR');
fUrl.searchParams.set('maturity', '10Y');
fUrl.searchParams.set('start', '2025-10-11');
fUrl.searchParams.set('end', '2026-10-11');

fetch(fUrl.toString(), { headers: { 'X-API-Key': 'YOUR_API_KEY' } })
.then(r => r.json())
.then(j => {
const s = j.data.AR;
console.log('Start', s.start_yield, 'End', s.end_yield, 'Δ', s.change);
});

PHP (file_get_contents)

<?php
$ctx = stream_context_create([
'http' => ['method' => 'GET', 'header' => "X-API-Key: YOUR_API_KEY\r\n"]
]);
$u = 'https://bonds-api.com/api/v1/fluctuation?countries=AR&maturity=10Y&start=2025-10-11&end=2026-10-11';
$j = json_decode(file_get_contents($u, false, $ctx), true);
$s = $j['data']['AR'];
echo 'Change: '.$s['change'].' Min: '.$s['min'].' Max: '.$s['max'];

Data shape, units, dates, and timestamps

  • Yields: All yields are returned as percentages (e.g., 4.52 = 4.52%).
  • Spreads: Returned in basis points (bps). 100 bps = 1.00%.
  • Dates: Historical and daily endpoints use Y-m-d (e.g., 2026-10-11).
  • Timestamps: Intraday fetched_at is UTC ISO 8601 (e.g., 2026-10-11T12:00:00Z).

When plotting or calculating changes, convert to decimals if needed (e.g., 4.52% = 0.0452) in your application logic.

Business days, market holidays, update frequency, and caching

  • Business days: Daily values reflect market business days. Expect gaps on weekends and local holidays.
  • Holidays: If you query a non-trading date via /historical, you may get a 404 (no data for that date). Use /timeseries and handle missing dates gracefully.
  • Update frequency: Latest endpoints reflect the most recent available day. Intraday provides multiple snapshots within a UTC date, returned with fetched_at timestamps.
  • Caching: Cache daily endpoints (latest, historical, curve, spread) per market date to reduce repeat calls. For intraday, cache for short intervals (e.g., 1–5 minutes) if building dashboards.

Building an Argentina curve and related analytics

Two ways to construct a curve for Argentina:

  • Use /curve to fetch the entire curve in one request. This is best when you need many maturities and the inverted flag.
  • Use /latest with maturities=1M,3M,6M,1Y,2Y,5Y,10Y,30Y to retrieve the same-day yields. This is handy when combining with other countries in a single call.

Once you have the curve, you can compute:

  • Curve slopes (e.g., 10Y − 2Y) to monitor steepening or flattening
  • Interpolate missing tenors for portfolio risk models
  • Spreads vs US using /spread for cross-market context

For a deeper understanding of endpoints and parameters, see bonds-api.com. To begin integration, use the registration link below.

Error handling and reliability tips

Common error responses share a uniform shape: success=false and an error message string. Typical HTTP statuses include:

  • 401: Missing or invalid X-API-Key
  • 403: Account quota exceeded
  • 404: No data for requested country/maturity/date
  • 422: Invalid parameter (wrong date format, unknown ISO2 code)
  • 429: Rate limit exceeded
  • 500: Server error

Implementation tips:

  • Validate ISO2 codes (AR) and maturities (e.g., 10Y) before sending requests.
  • Use retries with backoff for 429/500, respecting retry-after if present.
  • Normalize units once (percent vs bps) at the boundary of your data layer.
  • Persist daily snapshots keyed by country, maturity, and date to simplify year-over-year or month-to-date analyses.

Real-world use cases

  • Financial dashboards: Tile AR 10Y next to US 10Y and display the /spread in bps with color-coded moves from /fluctuation.
  • Portfolio risk tools: Use /curve to reprice fixed-income exposures and compute duration/convexity buckets, updating daily with /latest.
  • Economic research: Pull a /timeseries for AR 10Y and regress against macro variables; compare pre/post policy events using /historical and /fluctuation.
  • Trading apps: Stream near-real-time viewpoint from /intraday, updating tiles with UTC timestamps for session tracking.

FAQ

Q: What units are yields and spreads returned in?
A: Yields are percentages (e.g., 4.52 = 4.52%). Spreads are in basis points (bps), where 100 bps = 1.00%.

Q: How should I handle non-trading days and missing data?
A: Use /timeseries for continuous ranges and handle gaps on weekends/holidays. If /historical for a specific date returns 404, select the previous business day in your application.

Q: What timezone are intraday snapshots in?
A: Intraday fetched_at timestamps are UTC (e.g., 2026-10-11T12:00:00Z). The meta.timezone field confirms UTC.

Q: Can I request multiple maturities at once?
A: Yes. Use /latest with maturities=2Y,5Y,10Y,... or call /curve for the full set on the latest date (or a specified date).

Q: How do I compute a yield spread between Argentina and the US?
A: Use /spread with country=AR, benchmark=US, and maturity=10Y to get spread_bps along with both country_yield and benchmark_yield.

Ready to integrate Argentina’s 10Y yield into your tools? Get your key and start calling the endpoints above: Register. You can also explore requests interactively in the MCP.

Start building with bond data today

Get your API key and access sovereign bond yields across 60+ countries. 7-day free trial, no credit card required.