Bowmark AIdocs

FRED

US economic data releases and their publication calendar, the agencies FRED republishes data from, series metadata, and FRED's own category tree, off the…

US economic data releases and their publication calendar, the agencies FRED republishes data from, series metadata, and FRED's own category tree, off the St. Louis Fed's FRED.

Domain: fred.stlouisfed.org

Also known as: FRED, Federal Reserve Economic Data, Federal Reserve Bank of St. Louis, St. Louis Fed

Call it directly

bowmark.providers.fred.listReleases(args?: { releaseId?: number; from?: string; to?: string }): Promise<fredRelease[]>
bowmark.providers.fred.listSources(args?: { sourceId?: number }): Promise<fredSource[]>
bowmark.providers.fred.getSeriesInfo(seriesId: string): Promise<fredSeries>
bowmark.providers.fred.getSeriesObservations(args: string | { seriesId: string; from?: string; to?: string; units?: string; frequency?: string; aggregationMethod?: string }): Promise<fredObservations>
bowmark.providers.fred.browseCategory(categoryId?: number): Promise<fredCategory>

Functions

FunctionWhat it does
listReleasesLists FRED's economic data releases — the named publications its series arrive in (Employment Situation, Consumer Price Index, Gross Domestic Product, …). Called bare it returns the whole…
listSourcesLists the agencies and individuals FRED republishes data from (Bureau of Labor Statistics, Bureau of Economic Analysis, Federal Reserve Board, and ~120 others) — distinct from FRED itself,…
getSeriesInfoReads the metadata for one FRED series id — its full title, what the numbers actually ARE (units, e.g. "Billions of Chained 2017 Dollars"), how often it updates (frequency), whether it…
getSeriesObservationsReads the actual numbers for a FRED series — the dated observations themselves, oldest first, with a missing period returned as value: null rather than as a NaN or a silently dropped…
browseCategoryBrowses FRED's category tree the way fred.stlouisfed.org/categories does — the category itself (id/name/parent), its immediate child categories, and the series filed directly under it, each…

Types

interface fredReleaseDate {
  date: string;
  time: string | null;
  released: boolean;
}

interface fredRelease {
  id: number;
  name: string;
  url: string;
  dates: fredReleaseDate[] | null;
}

interface fredSource {
  id: number;
  name: string;
  url: string;
  releases: { id: number; name: string; url: string }[] | null;
}

interface fredSeries {
  id: string;
  title: string;
  units: string;
  unitsShort: string;
  frequency: string;
  frequencyShort: string;
  seasonalAdjustment: string;
  seasonalAdjustmentShort: string;
  observationStart: string;
  observationEnd: string;
  lastUpdated: string;
  popularity: number | null;
  notes: string | null;
}

interface fredCategoryRow {
  id: number;
  name: string;
  parentId: number;
}

interface fredCategory {
  id: number;
  name: string;
  parentId: number;
  children: fredCategoryRow[];
  series: fredSeries[];
}

interface fredObservation {
  date: string;
  /** null where FRED holds no observation for that period — a market holiday in a
   * daily series, or the first year of a year-over-year transform. */
  value: number | null;
}

interface fredObservations {
  seriesId: string;
  /** The transform FRED reports having applied: "lin" (none), "pc1", "pch", … */
  units: string;
  observationStart: string | null;
  observationEnd: string | null;
  /** null: the public CSV has no vintage envelope. */
  realtimeStart: string | null;
  realtimeEnd: string | null;
  count: number;
  observations: fredObservation[];
}