@varve/agency-sdks

BoC Valet

TypeScript client for the Bank of Canada Valet API.

BoC Valet

@varve/boc-valet is an isomorphic, Zod-validated TypeScript client for the Bank of Canada Valet API.

Install

npm install @varve/boc-valet zod

Query Observations

import { BocValetClient } from '@varve/boc-valet';
 
const client = new BocValetClient();
 
const data = await client.getObservations(['FXUSDCAD', 'FXEURCAD'], {
  startDate: '2024-01-01',
  endDate: '2024-01-31',
});
 
console.log(data.observations);

Observation rows keep Valet's native shape:

{
  d: '2024-01-02',
  FXUSDCAD: { v: '1.3312' }
}

Discover Series and Groups

const series = await client.listSeries();
const groups = await client.listGroups();
 
const usdCad = await client.getSeries('FXUSDCAD');
const dailyFx = await client.getGroup('FX_RATES_DAILY');

Query Groups

const latestDailyFx = await client.getGroupObservations('FX_RATES_DAILY', {
  recent: 1,
});

Build Graph Metadata

const graph = await client.getObservationGraphMetadata(['FXUSDCAD', 'FXEURCAD'], {
  recent: 10,
});
 
console.log(graph.series);
console.log(graph.periods);
console.log(graph.observations);

Values remain strings because Valet returns numeric observations as strings and some series may use non-numeric values.

FX RSS

const xml = await client.getFxRss('FXUSDCAD');

The RSS/RDF feed is returned as raw XML text.

Official References

On this page