US Treasury Yields — Par & Real Yield Curves, T-Bills, Spreads avatar

US Treasury Yields — Par & Real Yield Curves, T-Bills, Spreads

Pricing

from $0.70 / 1,000 result items

Go to Apify Store
US Treasury Yields — Par & Real Yield Curves, T-Bills, Spreads

US Treasury Yields — Par & Real Yield Curves, T-Bills, Spreads

Official US Treasury rates for macro, trading and finance agents: daily par yield curve 1M–30Y with 2s10s/3m10y spreads, inversion flags and breakeven inflation, real (TIPS) curve, T-bill rates with CUSIPs, long-term rates, average interest on the debt and debt-to-the-penny.

Pricing

from $0.70 / 1,000 result items

Rating

0.0

(0)

Developer

Samat Makatov

Samat Makatov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Official US Treasury interest-rate data as clean JSON for macro, trading, treasury and research agents: the daily par yield curve (1 month – 30 years) with 2s10s / 3m10y spreads, inversion flags and curve shape, the real (TIPS) curve and breakeven inflation, T-bill rates with CUSIPs and maturities, long-term rates, plus average interest rates on the federal debt and debt to the penny from the Treasury Fiscal Data API. Any month or date range back to 1990. No API key, no proxy, no browser.

Use cases

  • Recession / curve monitoring — daily run with latestOnly + includeChanges; alert when inverted2s10s flips or the 10Y moves more than 10 bps.
  • Discount rates for valuation models — pull the 10Y/20Y/30Y par yields for a valuation date (startDate/endDate).
  • Cash management — compare 4- to 52-week bill coupon-equivalent yields with your bank's offer; get CUSIPs and maturity dates for orders.
  • Inflation expectations — includeBreakevens gives 5Y/10Y/30Y breakevens (nominal − TIPS) per day.
  • Backtests & research — multi-year daily history in one run (one request per year), oldest-first, only the fields you need.
  • Sovereign-debt dashboards — monthly average interest rate by security type and daily total public debt outstanding.

Input

FieldTypeDefaultAllowed values / notes
seriesstringparYieldparYield, realYield, billRates, longTermRates, realLongTerm, avgInterestRates, debtToPenny
monthsstring[]current monthYYYYMM values from 199001, e.g. ["202608","202609"]; ignored when a date range is set
startDatestring—YYYY-MM-DD; with endDate selects a range (one request per calendar year); a start before 1990 is moved to 1990-01-01
endDatestringtodayYYYY-MM-DD, inclusive
latestOnlybooleanfalseOnly the newest day in the window, whatever sortOrder says (avgInterestRates: every security type of the newest month)
includeSpreadsbooleantrueparYield: spreads, …Bps, inverted2s10s, inverted3m10y, curveShape
includeBreakevensbooleanfalseparYield: adds real curve fetch and breakeven5y/7y/10y/20y/30y
includeChangesbooleanfalse<field>ChangeBps vs the previous business day for the key fields of the series — also on the first day of a month or year (the run reads the month before when needed); not for avgInterestRates/debtToPenny
securitiesstring[]allavgInterestRates filter — names from Reference; case does not matter, short forms T-Bills, T-Notes, T-Bonds, TIPS, FRN, FFB, SLGS, GAS work; an unknown name stops the run before any row is billed, with a "did you mean"
fieldsstring[]allOutput columns in your order; id, series, date, sourceUrl, fetchedAt are always kept and come first unless you list them. Case does not matter; a column the series does not have is skipped with a warning; a list with no usable column stops the run before any row is billed
sortOrderstringdescdesc (newest first) or asc (oldest first); only these two values are accepted
maxItemsinteger5001 – 20 000; keeps the first rows in sortOrder (newest with desc, oldest with asc)

Reference

Series

seriesSourceOne row =Key fieldsHistory from
parYieldtreasury.gov Daily Treasury Par Yield Curve Ratesbusiness daym1 m1_5 m2 m3 m4 m6 y1 y2 y3 y5 y7 y10 y20 y30 (% p.a.)1990 (short tenors added later: 1M 2001, 2M 2018, 4M 2022, 1.5M 2025)
realYieldDaily Treasury Par Real Yield Curve Ratesbusiness dayr5 r7 r10 r20 r302003
billRatesDaily Treasury Bill Ratesbusiness dayw4/w6/w8/w13/w17/w26/w52 × BankDiscount, CouponEquivalent, Maturity, Cusip2001
longTermRatesDaily Treasury Long-Term Ratesbusiness daylt20yConstantMaturity, ltAverageOver10y, ltRealRate, extrapolationFactor2000
realLongTermDaily Treasury Real Long-Term Rate Averagesbusiness dayrealLongTermAverage2000
avgInterestRatesFiscal Data Average Interest Rates on U.S. Treasury Securitiesmonth × security typesecurityType, security, avgInterestRate, fiscalYear, fiscalQuarter2001
debtToPennyFiscal Data Debt to the Pennybusiness daydebtHeldByPublic, intragovernmentalHoldings, totalPublicDebtOutstanding (USD)1993

Computed fields (parYield)

FieldFormula
spread2s10s / spread2s10sBpsy10 − y2 (pp / bps)
spread3m10yy10 − m3
spread5s30s, spread2s30s, spread1y10yy30 − y5, y30 − y2, y10 − y1
inverted2s10s, inverted3m10yspread < 0
curveShapeinverted if either spread < 0, flat if |2s10s| < 0.10 pp, else normal
breakevenNyyN − rN (requires includeBreakevens)
<field>ChangeBps(day − previous business day) × 100 (requires includeChanges); the previous business day may lie before the window

securities values (avgInterestRates)

Marketable: Treasury Bills, Treasury Notes, Treasury Bonds, Treasury Inflation-Protected Securities (TIPS), Treasury Floating Rate Notes (FRN), Federal Financing Bank, Total Marketable. Non-marketable: Domestic Series, Special Purpose Vehicle, State and Local Government Series, United States Savings Securities, United States Savings Inflation Securities, Government Account Series, Government Account Series Inflation Securities, Total Non-marketable. Total: Total Interest-bearing Debt. Used in earlier years (still matched): Treasury Inflation-Indexed Notes and Treasury Inflation-Indexed Bonds (the TIPS lines before 2005), Foreign Series (to 2025), R.E.A. Series (to 2011), Hope Bonds (2009–2016). series and sortOrder are lists: Apify refuses any other value before the run starts.

Examples

Daily curve alert (latest day, changes and breakevens)

{ "series": "parYield", "latestOnly": true, "includeChanges": true, "includeBreakevens": true }

Two years of 2Y/10Y history for a backtest, oldest first

{ "startDate": "2024-06-01", "endDate": "2025-06-30", "fields": ["y2", "y10", "spread2s10s", "inverted2s10s"], "sortOrder": "asc", "maxItems": 1000 }

T-bill ladder shopping list

{ "series": "billRates", "latestOnly": true }

Real yields for August 2026

{ "series": "realYield", "months": ["202608"] }

What does the government pay on its debt? (year to date, bills vs total)

{ "series": "avgInterestRates", "startDate": "2026-01-01", "securities": ["Treasury Bills", "Total Marketable", "Total Interest-bearing Debt"] }

Output

Par-curve row (trimmed):

{
"id": "parYield:2026-09-11",
"series": "parYield",
"date": "2026-09-11",
"m1": 3.93, "m3": 4.07, "m6": 4.12, "y1": 4.35, "y2": 4.63, "y5": 4.78, "y10": 4.96, "y20": 5.38, "y30": 5.35,
"spread2s10s": 0.33, "spread2s10sBps": 33, "spread3m10y": 0.89, "spread5s30s": 0.57,
"inverted2s10s": false, "inverted3m10y": false, "curveShape": "normal",
"breakeven5y": 2.4, "breakeven10y": 2.36, "breakeven30y": 2.28,
"y10ChangeBps": 1, "spread2s10sChangeBps": -6,
"sourceUrl": "https://home.treasury.gov/resource-center/data-chart-center/interest-rates/pages/xml?data=daily_treasury_yield_curve&field_tdr_date_value_month=202609",
"fetchedAt": "2026-09-12T23:37:42.109Z"
}
FieldTypeDescription
idstring<series>:<date> (avgInterestRates: `
seriesstringInput series
datestringBusiness day (YYYY-MM-DD)
tenor fieldsnumber | nullPercent per annum; null when Treasury did not publish that tenor on that day
spreads / flags / breakevens / changesnumber | boolean | nullSee Computed fields
sourceUrlstringThe exact treasury.gov feed or Fiscal Data API request the row was read from
fetchedAtstringISO timestamp

Every column has a title, a description and an example in the dataset schema, so agents can see the shape before a run. The key-value store record SUMMARY holds the window, the row count (items, delivered), every request URL, the newest row, warnings, failed requests and, when a run was cut short, why (stoppedBy) — handy for one-call agents.

Use it from code / agents

curl -X POST "https://api.apify.com/v2/acts/yadroo~us-treasury-yields/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'content-type: application/json' -d '{"latestOnly":true,"includeChanges":true}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('yadroo/us-treasury-yields').call({ startDate: '2025-01-01', fields: ['y2', 'y10', 'spread2s10s'] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("yadroo/us-treasury-yields").call(run_input={"series": "billRates", "latestOnly": True})
items = client.dataset(run["defaultDatasetId"]).list_items().items

MCP: connect your agent to https://mcp.apify.com and call the yadroo/us-treasury-yields tool with the same JSON.

Pricing

Pay per event: $0.001 per run start + $0.001 per row. Latest day ≈ $0.002; one month (~21 rows) ≈ $0.022; a full year of daily curves (~250 rows) ≈ $0.25; ten years ≈ $2.5. Store discounts: Bronze −10 %, Silver −20 %, Gold and above −30 % on the row price; the start event is the same on every plan; platform usage is included. Your maximum cost per run is respected: the run writes only the rows it pays for and ends with "Stopped at your spending limit: N rows delivered".

Limits & FAQ

  • Freshness — treasury.gov posts each day's rates after the close (~4:30–6 pm ET); weekends and federal holidays have no rows. avgInterestRates is monthly (published a few days after month end); debtToPenny daily with a one-day lag.
  • Turn of the month — with the default window (current month) nothing is published yet on the 1st until the close, and avgInterestRates lags by days. Such a run steps back up to two months, so you always get the latest available rows; the window used is in the log, the run status and SUMMARY. A window you set yourself (months, startDate/endDate) is never widened — an empty month stays empty.
  • Speed — treasury.gov XML is slow (5–30 s per request); a month is one request, a date range is one request per calendar year, breakevens double it, and includeChanges may add one month request. Rows are written page by page as they arrive. 1990→today is ~37 year requests: allow 15–35 minutes, or split the range. Retries with back-off on 429/5xx (honouring Retry-After); a 4xx answer is not retried. Malformed dates, reversed ranges, unknown securities or unusable fields stop the run at once with a clear message.
  • Timeout — a run close to its timeout stops starting new requests, keeps every row it has written and ends SUCCEEDED with "Stopped before the run timeout: N rows saved". Raise the run timeout (default 900 s) or split the date range for more.
  • Failures — if a page cannot be read after the retries, the other pages are still written and the status names the page that failed; a run that could read nothing fails with Treasury's error.
  • Missing tenors — older years lack short tenors (m1 before 2001, m2 before 2018, m4 before 2022, m1_5 before 2025): they are null, spreads that need them are null too.
  • Are these "risk-free rates"? — They are Treasury's official constant-maturity par yields (the same numbers as the Daily Treasury Par Yield Curve page); TIPS real yields come from the real curve feed.
  • Roadmap — FRED-style monthly averages and a "curve on date X vs date Y" diff mode on request.

Made by Yadroo — see also fx-rates, world-bank-indicators, sec-company-financials, sec-edgar-filings, kalshi-markets.