# US Treasury Auction Tracker — Bid-to-Cover & Yield Results (`gochujang/treasury-auction-tracker`) Actor

Track US Treasury auction results: bid-to-cover ratios, high yields, stop-through, indirect/direct/dealer breakdown for Bills, Notes, Bonds, TIPS, and FRN. Official TreasuryDirect data. No API key required.

- **URL**: https://apify.com/gochujang/treasury-auction-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 1,000 security type fetcheds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### US Treasury Auction Tracker — Bid-to-Cover, Yield & Demand Breakdown

Track **US Treasury auction results** directly from TreasuryDirect.gov — the official source for all US government debt issuance. Monitor bid-to-cover ratios, high yields, investor category breakdowns (indirect/direct/primary dealers), and auction sizes for Treasury Bills, Notes, Bonds, TIPS, and Floating Rate Notes. No API key required.

Treasury auctions are among the most significant events in global fixed income markets. Weak demand (low bid-to-cover, high stop-through) signals bond market stress, rising yields, and potential spillover into equities and crypto. Strong auctions, particularly with high indirect bidder participation, confirm robust global demand for US debt.

### What You Get

Each record represents one Treasury auction:

- **cusip** — unique security identifier
- **security_type** — Bill, Note, Bond, TIPS, FRN, or CMB
- **security_term** — maturity (e.g., "4-Week", "2-Year", "10-Year", "30-Year")
- **auction_date** — date the auction took place
- **issue_date** / **maturity_date** — when bonds settle and mature

#### Demand Metrics (Primary Trading Signals)

- **bid_to_cover_ratio** — total bids submitted divided by total accepted. Above 2.5 = strong; below 2.0 = weak demand
- **pct_allotted_at_high** — percentage of awards made at the highest accepted yield (stop). Higher % = worse tail

#### Pricing

- **high_yield** — the highest accepted yield (stop price). This IS the new benchmark rate
- **high_discount_rate** — for T-Bills (quoted on discount basis)
- **interest_rate** — coupon rate for Notes, Bonds, TIPS
- **high_investment_rate** — bond-equivalent yield for Bills

#### Supply & Demand Volumes

- **offering_amount_mm** — offered supply (millions USD)
- **total_tendered_mm** — total bids submitted
- **total_accepted_mm** — total accepted = offering amount
- **competitive_tendered_mm** / **noncompetitive_tendered_mm** — institutional vs. retail

#### Investor Category Breakdown

- **indirect_pct** — share awarded to indirect bidders (foreign central banks, international institutions)
- **direct_pct** — share awarded to direct bidders (hedge funds, proprietary traders)
- **primary_dealers_pct** — residual absorbed by primary dealers (usually means weak demand)

### Input Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `securityTypes` | array | `["Bill","Note","Bond","TIPS"]` | Security types to fetch |
| `startDate` | string | `"2024-01-01"` | Auction start date |
| `endDate` | string | `"2025-12-31"` | Auction end date |
| `pageSize` | integer | `250` | Max results per security type |

### Sample Output

```json
{
  "cusip": "91282CJM2",
  "security_type": "Note",
  "security_term": "10-Year",
  "auction_date": "2025-01-08",
  "issue_date": "2025-01-15",
  "maturity_date": "2035-01-15",
  "bid_to_cover_ratio": 2.53,
  "high_yield": 4.680,
  "interest_rate": 4.625,
  "pct_allotted_at_high": 53.2,
  "offering_amount_mm": 39000.0,
  "total_tendered_mm": 98670.0,
  "indirect_pct": 65.4,
  "direct_pct": 19.2,
  "primary_dealers_pct": 15.4
}
```

### How to Read Auction Results

**Bid-to-Cover Ratio**: The single most watched auction metric. At 2.53, for every $1 of bonds offered, $2.53 was bid. Historical averages: 10-Year Notes average ~2.4x, 30-Year Bonds ~2.3x, 2-Year Notes ~2.6x. Significantly below average = market stress.

**Indirect Bidders**: Foreign central banks, sovereign wealth funds, and international institutions. High indirect bid (65%+) = global confidence in US debt. Declining indirect participation is a structural warning sign.

**Primary Dealers**: The residual. When indirect + direct bidders are weak, dealers absorb the slack — but this means less organic demand. Dealer-heavy auctions often lead to short-term rate sell-offs as dealers hedge their inventory.

**Stop-Through vs. Tail**: If the auction clears BELOW the pre-auction yield (WI rate), it's a "stop-through" — bullish (more demand than supply pushed price up). If it clears ABOVE, it "tailed" — bearish (weak demand).

### Use Cases

- **Bond market stress indicators** — watch for declining bid-to-cover trends, especially in the 10Y and 30Y
- **Rate direction forecasting** — auction results confirm or deny near-term yield moves
- **Fed impact analysis** — monitor how QT and rising supply affect auction demand
- **Foreign demand tracking** — declining indirect bidder share signals FX reserve diversification away from USD
- **TIPS breakeven analysis** — compare TIPS auction demand vs nominal bond demand for inflation expectations
- **Macro dashboard automation** — alert when bid-to-cover falls below historical averages

### Data Update Schedule

TreasuryDirect publishes results within 15 minutes of each auction's close (usually 1:00 PM ET). Schedule the actor to run after each major auction for real-time monitoring. The US Treasury issues new debt nearly every week.

### Pricing

Pay-per-event: **$0.002 per security type fetched** — default 4 types = $0.008 per run.

### FAQ

**What is the difference between Bills and Notes?**
Treasury Bills mature in 4 weeks to 52 weeks and are quoted on a discount basis (no coupon). Notes mature in 2 to 10 years and pay semi-annual coupons. Bonds mature in 20-30 years. TIPS (Treasury Inflation-Protected Securities) are indexed to CPI — the principal adjusts with inflation.

**What is the "when-issued" (WI) rate?**
Before each auction, the security trades in the when-issued market at an expected yield. The difference between the auction stop and the WI rate determines whether it stopped-through (bullish) or tailed (bearish). The TreasuryDirect API does not include WI data.

**How often does the Treasury auction securities?**
The US Treasury auctions securities nearly every business day. T-Bills are auctioned weekly (4-week, 8-week, 13-week, 26-week, 52-week). Notes are auctioned monthly (2-year, 3-year, 5-year, 7-year, 10-year). Bonds quarterly. TIPS roughly monthly.

***

### Related actors

- [US Treasury Financial Data Tracker](https://apify.com/gochujang/us-treasury-tracker) — TGA balance and national debt data to complement auction supply/demand analysis
- [Federal Reserve Rate Probability](https://apify.com/gochujang/fed-rate-probability) — SOFR/EFFR and yield curve data that contextualize auction yields
- [CBOE Volatility Tracker](https://apify.com/gochujang/cboe-volatility-tracker) — VIX and bond vol to understand equity market reaction to auction results

### Feedback

If this actor powers your bond market research, a review helps others find it: [Leave a review on Apify Store](https://apify.com/gochujang/treasury-auction-tracker#reviews)

***

**Keywords:** Treasury auction, bid-to-cover, Treasury yield, TreasuryDirect, T-bill, T-note, T-bond, TIPS, FRN, stop-through, indirect bidder, fixed income, government bonds, bond market

# Actor input Schema

## `securityTypes` (type: `array`):

Treasury security types to fetch. Options: 'Bill', 'Note', 'Bond', 'TIPS', 'FRN', 'CMB'.

## `startDate` (type: `string`):

Auction start date (YYYY-MM-DD).

## `endDate` (type: `string`):

Auction end date (YYYY-MM-DD).

## `pageSize` (type: `integer`):

Maximum number of auctions to return per security type (max 500).

## Actor input object example

```json
{
  "securityTypes": [
    "Bill",
    "Note",
    "Bond",
    "TIPS"
  ],
  "startDate": "2024-01-01",
  "endDate": "2025-12-31",
  "pageSize": 250
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/treasury-auction-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("gochujang/treasury-auction-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call gochujang/treasury-auction-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,gochujang/treasury-auction-tracker"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Nd9qxE1AP1wvk06c2/builds/7DYFD1ZsYFVJbVvf8/openapi.json
