Home Documentation Central Bank Rates Tax Authority Rates Playground Pricing API Status Blog About FAQ Contact Us

US Treasury Reporting Rates API: Official Quarterly FX Rates as JSON

Reviewed by Madhushan, Fintech Developer — August 2026

The U.S. Department of the Treasury publishes the Treasury Reporting Rates of Exchange once a quarter through its Bureau of the Fiscal Service. Every federal agency must use them to convert foreign-currency balances into dollars for official reports — and contractors, grant recipients, and auditors follow the same table so their figures reconcile against the agency's. This guide shows how to pull them as JSON, via REST or the zero-dependency ustreasury-exchange-rate npm package, with history back to 2001.

What 1 unit buys in USD — official U.S. Department of the Treasury quarterly reporting rate
US dollars per 1 unit · table published 2026-06-30
GBP1 GBP = 1.323 USD1.323CHF1 CHF = 1.236 USD1.236EUR1 EUR = 1.140 USD1.140SGD1 SGD = 0.7722 USD0.7722CAD1 CAD = 0.7022 USD0.7022AUD1 AUD = 0.6892 USD0.6892NZD1 NZD = 0.5659 USD0.5659CNY1 CNY = 0.1474 USD0.1474
Source: U.S. Department of the Treasury published table for 2026-06-30 · data from the AllRatesToday API (/api/v1/central-bank/ustreasury/latest).

What the Treasury publishes

The amendment problem, and how the API handles it

This is the part that trips up anyone reading the raw feed. Because an amendment covers only the currencies that moved, the most recent publication date is usually not a table — it might carry three currencies. Take the newest date at face value and you get three rates where you expected a hundred and forty-five.

The API returns the table in force instead: the quarter's rates with any later amendments already applied, and each row carrying the date it was actually published. So a currency amended in mid-July shows its July date, while the rest of the table still shows the quarter-end date — the state an agency would be reporting on today, without you reconstructing it.

Get the rates in force (REST)

curl "https://allratestoday.com/api/v1/central-bank/ustreasury/latest" \
  -H "Authorization: Bearer YOUR_API_KEY"

The current table is available on every plan, including the free tier (300 requests/month, no credit card).

The npm SDK

npm install ustreasury-exchange-rate
import { getRate, getLatestRates } from 'ustreasury-exchange-rate';

// One pair at the official Treasury reporting rate
const pair = await getRate('USD', 'EUR', { apiKey: 'art_live_...' });
console.log(pair.rate, pair.rate_date);

// The full table in force
const table = await getLatestRates({ apiKey: 'art_live_...' });
console.log(table.rate_date, table.rates.length);

Zero dependencies, TypeScript types included, and it runs anywhere fetch exists — Node 18+, Bun, Deno, and edge runtimes.

Rates for a reporting date

import { getRatesForDate, getHistory } from 'ustreasury-exchange-rate';

// The table in force on a reporting date, amendments applied
const day = await getRatesForDate('2026-06-30', { apiKey: 'art_live_...' });

// Quarter-by-quarter series for one pair
const series = await getHistory(
  { source: 'USD', target: 'EUR', from: '2001-03-31' },
  { apiKey: 'art_live_...' }
);

Historical dates and series need a paid plan; the current table stays free.

Why quarterly rates beat daily ones here

A quarterly rate looks crude next to a live feed, and for a payment it would be. But federal financial reporting is not pricing a trade — it is producing one number that thousands of separate reports must agree on. A rate fixed for the quarter means an agency, its contractors, and its auditors all convert the same balance the same way, and a discrepancy points at a real error rather than at two systems that sampled the market a few hours apart.

Twenty-five years of reporting history

The series starts at the first quarter of 2001 and runs unbroken since — through the euro's replacement of a dozen national currencies, several redenominations, and the currency collapses that produced some of the sharpest mid-quarter amendments in the record. For restating old grant reports or auditing historical federal spending, it is the authoritative table for the period, not an approximation of it.

Published vs derived pairs

The Treasury quotes everything against the dollar. Pairs it does not print directly are computed from the published table via USD and flagged derived: true with the method used, so an official rate is never confused with a calculated one.

The tax-authority pair

The Treasury's quarterly table is the US answer to a problem every tax authority solves differently. The UK's is HMRC, which publishes monthly and in advance; the same API serves both, alongside the Federal Reserve's weekly H.10 rates when you need the market-facing number instead.

FAQ

Is there an API for the Treasury Reporting Rates of Exchange?

The Bureau of the Fiscal Service publishes the rates through its Fiscal Data platform, and AllRatesToday serves the same published rates as clean JSON — around 145 currencies against the dollar, with history back to 2001 — via REST or the ustreasury-exchange-rate npm package. The current table is free.

How often do Treasury reporting rates change?

Once a quarter, with mid-quarter amendments for currencies that move sharply. The API returns the table in force: the quarter-end rates with any later amendments already applied, each row carrying the date it was published.

Who has to use the Treasury reporting rates?

Every US government agency must use them to convert foreign-currency balances into dollars for official reports, and contractors, grant recipients, and their auditors follow the same table so figures reconcile against the agency's.

Official US Treasury rates, as JSON

The current table is free — 300 requests/month, no credit card.

Get your free API key

Related Articles