ipu
DEVELOPERS / API

Working with IPU data.

Retrieve daily reference values and the source information needed to check them.

01 / Make your first request

The public, read-only API requires no key. All dates use YYYY-MM-DD and UTC. Decimal values are strings so consumers can preserve precision.

curl https://ipu.money/api/v1/index

// Local / preview deployments use their own origin.
fetch("/api/v1/index?date=2025-06-15")
  .then(response => response.json())

02 / Endpoints

GET /api/v1/index — latest calculable index; optional date parameter for an exact date.

GET /api/v1/history — daily history; optional start and end dates, and format=json or format=csv. Maximum interval: 3,660 days. Without date parameters, JSON omits unavailable values and enumerates unavailableDates in metadata; CSV includes these dates with empty values and data-unavailable status. Explicit intervals requiring a missing observation return 422.

GET /api/v1/metadata — source, data hash, base date, method version and data freshness.

GET /api/v1/source — the exact versioned monthly source snapshot used by the engine.

GET /api/v1/history?start=2025-01-01&end=2025-01-31&format=csv

03 / Response contract

Successful index responses contain data and meta. Index data includes date, index, referenceCpi, inputMonths, baseReferenceCpi, baseDate, baseValue and cumulativeAdjustment. Cumulative adjustment is a percentage-point difference from the base value of 100.

Metadata explicitly labels research-preview status and the unapproved illustrative base date. Always read asOf, requestedDate, stale and retrievedAt before using a default result.

400 indicates invalid parameters or calendar dates; 422 indicates unavailable inputs or dates outside the supported period. Errors return { error: { code, message } }. Responses are cached for at most 300 seconds. No settlement use or availability guarantee is offered.

04 / Data publication architecture

Monthly BLS observations are stored in the repository with retrieval metadata. The update command fetches the official series, validates positive numeric values or explicit BLS missing markers, unique months and chronology, rejects changed historical observations, and produces a versioned snapshot.

A scheduled CI workflow checks for data each day, runs engine tests and builds the application. It publishes the validated artifact to Vercel only when the deployment secrets have been configured. The deployed application never writes to an ephemeral filesystem.

A deployment refreshes the source snapshot; date-specific interpolation is performed at request time. Failed source validation stops that update. Existing deployments retain their previous snapshot and expose its retrieval date. Institutional publication archives and external monitoring remain future operational work.

05 / Try the current endpoint

Run an actual request against this deployment. The full metadata remains visible with the returned value.

Explore IPU Index →