Published IRS, Treasury, and New York Fed rate data.
The repository provides JSON and generated protobuf files of source observations and statutory tables.
Start at index.json for a catalog of the available datasets.
Each dataset also has a manifest.json with file paths, sizes, and checksums
for users who want to verify exact file contents.
Live coverage, record counts, first/last dates, schema ids, proto messages, and
artifact hashes are generated into index.json and each dataset
manifest.json.
Audit reliance use immutable commit SHAs or signed release tags. See
AUDIT.md.
For simple on-the-fly lookups, generated static API files live under
api/v1/. They contain the same records arranged as direct lookup
files.
BASE="https://raw.githubusercontent.com/vanderbr/rates/main"
# Discover datasets and latest generated API paths.
curl -fsSL "$BASE/api/v1/index.json"
# Latest generated records.
curl -fsSL "$BASE/api/v1/datasets/sofr/latest.json"
curl -fsSL "$BASE/api/v1/datasets/section-7520-rates/latest.json"
curl -fsSL "$BASE/api/v1/datasets/applicable-federal-rates/latest.json"
curl -fsSL "$BASE/api/v1/datasets/federal-funds/latest.json"
curl -fsSL "$BASE/api/v1/datasets/treasury-yield-curve/latest.json"
# Look up IRS monthly records by YYYY-MM.
curl -fsSL "$BASE/api/v1/datasets/section-7520-rates/by-month/2026-07.json"
curl -fsSL "$BASE/api/v1/datasets/applicable-federal-rates/by-month/2026-07.json"
# Look up annual IRS legal amounts by YYYY.
curl -fsSL "$BASE/api/v1/datasets/annual-gift-exclusion/by-year/2026.json"
curl -fsSL "$BASE/api/v1/datasets/estate-gift-tax-exemption/by-year/2026.json"
curl -fsSL "$BASE/api/v1/datasets/gst-exemption/by-year/1987.json"
curl -fsSL "$BASE/api/v1/datasets/noncitizen-spouse-gift-exclusion/by-year/2026.json"
# Look up market records by YYYY-MM-DD.
curl -fsSL "$BASE/api/v1/datasets/sofr/by-date/2026-06-12.json"
curl -fsSL "$BASE/api/v1/datasets/sofr-index/by-date/2026-06-15.json"
curl -fsSL "$BASE/api/v1/datasets/federal-funds/by-date/2026-06-12.json"
curl -fsSL "$BASE/api/v1/datasets/treasury-yield-curve/by-date/2026-06-15.json"Each static API record includes the record, the dataset path, the manifest path,
and the natural record key. For audit-sensitive use, replace main with a
commit SHA or signed release tag.
Annual by-year files contain a records array because a year can have more
than one statutory period.
| Family | Datasets |
|---|---|
| IRS monthly rates | 7520/, afr/ |
| IRS annual exclusions and exemptions | annual-gift-exclusion/, estate-gift-tax-exemption/, gst-exemption/, noncitizen-spouse-gift-exclusion/ |
| IRS actuarial tables | actuarial/ |
| Market rates | treasury/treasury-yield-curve/, fed-funds/, sofr/ |
Each dataset directory contains a metadata.json file with source attribution
and field semantics.
Monthly IRS rate history is stored in year shards and annual legal amount history is stored as inclusive statutory periods. Coverage is intentionally limited to records whose published fields can be represented by the dataset's schema.
IRS revenue ruling PDFs retained for source review live under
sources/irs-revenue-rulings/, with a
reader-friendly source index.
Primary records are deterministic JSON arrays sorted by their natural key.
Generated protobuf shards are produced from the same records. JSON Schemas live
under schemas/v1/, and proto definitions live under
proto/rates/v1/.
Each dataset family carries its own shape contract through schema_id,
schema_version, its JSON Schema, and its proto definition. Current data paths
are unversioned; consumers should treat the v1 schema/proto references in the
manifest as the authoritative record shape.
Single-file datasets use dataset-named records:
<dataset>/<dataset-id>.json
<dataset>/metadata.json
<dataset>/manifest.json
<dataset>/protobuf/<dataset-id>.pb
Year-sharded datasets use:
<dataset>/metadata.json
<dataset>/manifest.json
<dataset>/by-year/YYYY-<shard-id>.json
<dataset>/protobuf/YYYY-<shard-id>.pb
Use the manifest years[].path values as the source of truth. Examples include
7520/by-year/YYYY-section-7520-rates.json and afr/by-year/YYYY-afr.json.
Actuarial factor datasets are sharded by valuation rate:
<dataset>/metadata.json
<dataset>/manifest.json
<dataset>/by-interest-rate/NNNNN-basis-points.json
<dataset>/protobuf/NNNNN-basis-points.pb
Static table collections, such as the SOA 2015 VBT, are sharded by table id:
<dataset>/metadata.json
<dataset>/manifest.json
<dataset>/by-table/<table-id>.json
<dataset>/protobuf/<table-id>.pb
Conventions:
- Rates are integer basis points.
- Dollar amounts are integer U.S. dollars.
- Business-day datasets include only source-published observations; weekends, holidays, and unpublished dates are not represented by placeholder records.
sofr/contains overnight SOFR observations only. SOFR averages and the SOFR Index are separate datasets undersofr/.- SOFR averages use basis points scaled by
1000. - The SOFR Index is scaled by
100000000. - VBT mortality probabilities are scaled by
100000. - Actuarial decimal quantities use fixed-scale integer fields ending in
_scaled_1e6. - Annual legal amounts use inclusive
period_start_dateandperiod_end_date. - Invariant legal applicability, such as what an annual exclusion applies to,
is stored once in
metadata.json, not repeated in every record.
Licensed under the Apache License 2.0.