npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

treasury-fiscaldata

v1.0.0

Published

Typed, zero-dependency client for the US Treasury FiscalData API — Debt to the Penny, average interest rates, exchange rates, and any endpoint with typed pagination, sorting, and filtering. No API key required.

Readme

treasury-fiscaldata

Typed, zero-dependency client for the US Treasury FiscalData API — Debt to the Penny, average interest rates on Treasury securities, exchange rates, and every other endpoint, with typed pagination, sorting, and filtering. No API key required.

npm install treasury-fiscaldata

Why

FiscalData is the Treasury's clean, documented API for federal financial data — the national debt to the penny, what the government pays on its securities, official exchange rates, daily Treasury statements, and much more. It's free and keyless, but its filter/pagination syntax (filter=record_date:gte:2020-01-01, page[size]=…) is fiddly to hand-build. This wraps it with a typed query, convenience methods for the popular endpoints, and an async paginator.

This is the sibling of treasurydirect — a different Treasury API. TreasuryDirect is auctions and securities; FiscalData is accounting and debt.

import { latestDebt, debtToPenny, avgInterestRates, query } from "treasury-fiscaldata";

const debt = await latestDebt();
Number(debt.tot_pub_debt_out_amt);  // 39_414_179_016_130.09

// A date range, with the two-condition filter handled for you:
const history = await debtToPenny({ startDate: "2026-07-01", endDate: "2026-07-08" });

// Any endpoint, fully typed pagination/sort/filter:
const rates = await query("v2/accounting/od/avg_interest_rates", {
  filter: { security_type_desc: "Marketable", record_date: ">=2026-01-01" },
  sort: ["-record_date"],
  pageSize: 100,
});

API

Every function takes an optional final options: { fetch?, baseUrl? } (inject fetch for tests/proxies).

  • query(endpoint, params?) — any endpoint (path after /services/api/fiscal_service/). params: fields, filter, sort, pageNumber, pageSize. Returns { data, meta, links }.
  • queryAll(endpoint, params?) — async generator that follows pagination and yields every row. Narrow with filter first — some endpoints have millions of rows.
  • latestDebt() / debtToPenny({ startDate, endDate }) — Debt to the Penny.
  • avgInterestRates() — average interest rates on Treasury securities.
  • exchangeRates(params?) — Treasury reporting rates of exchange.

Filters come in two forms: a record { field: ">=value" } (leading operators >= <= > < = are translated; bare value means equality — one condition per field), or a raw string array ["record_date:gte:2020-01-01", "record_date:lte:2020-12-31"] when you need two conditions on one field. Failures throw FiscalDataError with status and url.

The mocked test suite runs offline; npm run smoke exercises the live API.

Related

Sibling to treasurydirect. Part of a fixed-income toolkit: newyorkfed · tbill · tips-index-ratio · compounded-sofr · day-count · accrued-interest · 32nds · sifma-holidays · instrument-identifiers.

Author

Built by Moshe Malka — engineering leader in New York City. Studio work at Quentin.Code.

MIT © Moshe Malka