XOOMAR

Free Treasury Auction Results API

US Treasury auctions from TreasuryDirect: the announced calendar, then the results the afternoon of the auction. High yield, bid-to-cover, and how much went to indirect bidders (foreign and domestic institutions bidding through dealers), direct bidders and primary dealers. History starts in 2010; the free API returns the last six months. Coupon auctions also appear on the economic calendar with the high yield as the actual.

Endpoints

GET
/api/markets/treasury-auctions?type=Note&term=10-Year&from=YYYY-MM-DD&limit=5000, or ?upcoming=1

Newest first. Default: coupon auctions (notes, bonds, TIPS, FRNs), 100 rows. type selects Bill, CMB, Note, Bond, TIPS, FRN or all; term one maturity (2-Year, 10-Year, 29-Year 11-Month for a reopening); from and to a window; limit up to 5,000. upcoming=1 returns announced auctions that have not run yet, soonest first.

GET
/api/markets/treasury-auctions/csv

Coupon auctions as CSV, newest first; ?type=all includes bills.

Example

import requests

r = requests.get("https://xoomar.com/api/markets/treasury-auctions", params={"term": "10-Year", "limit": 12})
for a in r.json()["data"]:
    print(a["auctionDate"], a["highYield"], "bid-to-cover", a["bidToCover"], "indirect", a["indirectShare"])

Response shape

Every endpoint returns the same JSON envelope: { data, updatedAt, source, docs, license, attribution, meta }. In meta, source names who publishes the data and sourceAttribution is the credit line to show with it. The data field is an array of records with these fields:

FieldTypeDescription
cusipstringSecurity CUSIP; a reopening shares the original's CUSIP
auctionDatestring (date)Auction date
securityTypestringBill, CMB (cash management bill), Note, Bond, TIPS or FRN
securityTermstringTerm as announced: 4-Week, 2-Year, 10-Year, 9-Year 10-Month (reopening)
issueDatestring (date) | nullSettlement date
maturityDatestring (date) | nullMaturity
reopeningboolean | nullTrue when the auction adds to an existing issue
offeringAmountnumber | nullAnnounced size, USD
totalAcceptednumber | nullAccepted, USD (null until results)
totalTenderednumber | nullBids received, USD
highYieldnumber | nullStop-out yield, percent (notes, bonds, TIPS)
highRatenumber | nullHigh discount rate (bills) or high discount margin (FRNs), percent
interestRatenumber | nullCoupon set at auction, percent
bidToCovernumber | nullTendered divided by accepted
indirectAcceptednumber | nullAccepted from indirect bidders, USD
directAcceptednumber | nullAccepted from direct bidders, USD
dealerAcceptednumber | nullAccepted by primary dealers, USD
indirectSharenumber | nullIndirect share of accepted, 0 to 1
directSharenumber | nullDirect share of accepted, 0 to 1
dealerSharenumber | nullDealer share of accepted, 0 to 1

Results appear within the hour of the auction close (about 13:00 ET for coupons, 11:30 ET for bills). Announced auctions carry the size and dates only until then.

Numeric fields typed string in the table carry exact decimals; parse them with your language's decimal type. No key needed to start: 10 requests a minute per IP without a key and 30 a minute with a free account key, with at least six months of history. A 429 response carries a Retry-After header in seconds. Credit XOOMAR with a link to the dataset page when you republish the data; the data terms are on the terms page.

A free account key raises the limit; send it in an X-API-Key header.

Frequently Asked Questions

Where does the data come from?
TreasuryDirect (Bureau of the Fiscal Service). Announced auctions appear the day they're announced; results the afternoon of the auction.
What do indirect, direct and dealer mean?
Primary dealers must bid at every auction. Direct bidders are institutions bidding for their own account; indirect bidders bid through a dealer and are mostly foreign central banks and asset managers. A high indirect share with a strong bid-to-cover is a well-received auction; a large dealer share means the street had to absorb the paper.
What is a tail?
The high yield minus the when-issued yield at the close. TreasuryDirect does not publish the when-issued level, so the tail is not in this dataset; compare the high yield with the same term's previous auction instead.
What are the rate limits?
10 requests a minute per IP without a key and 30 a minute with a free account key, with at least six months of history.

Data on this page is provided for informational purposes only and is not financial advice. See our editorial policy.