Introduction
Welcome to the Fred Library/Api documentation for those who are using this with the node-fred library. You must obtain an API key through this website
Authentication
To authorize, use this code:
You must have an API to run all requests.
import Fred from 'node-fred'
const fred = new Fred(API_KEY);
Make sure to replace
API_KEY
with your API key.
Categories
Get A Category
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.categories.getCategory(125)
.then((res) => {
console.log('Category', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"categories": [
{
"id": 125,
"name": "Trade Balance",
"parent_id": 13
}
]
}
Gets a category
HTTP Request
GET https://api.stlouisfed.org/fred/category/children
Query Parameters
Parameter | Default | Required | Type | Description |
---|---|---|---|---|
category_id | 0 | true | Integer | The id for a category. |
Get Child Categories
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
// Category ID => U.S. Trade & International Transactions
fred.categories.getChildCategories(13)
.then((res) => {
console.log('Child Categories', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"categories": [
{
"id": 16,
"name": "Exports",
"parent_id": 13
},
{
"id": 17,
"name": "Imports",
"parent_id": 13
},
{
"id": 3000,
"name": "Income Payments & Receipts",
"parent_id": 13
},
{
"id": 125,
"name": "Trade Balance",
"parent_id": 13
},
{
"id": 127,
"name": "U.S. International Finance",
"parent_id": 13
}
]
}
Gets the child categories for a specified parent category.
HTTP Request
GET https://api.stlouisfed.org/fred/category/children
Query Parameters
Parameter | Default | Required | Type | Description |
---|---|---|---|---|
category_id | 0 | true | Integer | The id for a category. |
realtime_start | Today’s Date | false | Date | The start of the real-time period. |
realtime_end | 9999-12-31 (latest available) | false | Date | The end of the real-time period. |
Get Related Categories
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
/*
Category ID 32073 has the parent-child category hierarchy:
Categories > Regional Data > Federal Reserve Districts > St. Louis > States in District
This category uses a related category to link to category ID 154 'Missouri' with hierarchy:
Categories > Regional Data > States > Missouri
*/
fred.categories.getRelatedCategories(32073)
.then((res) => {
console.log('Related Categories', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"categories": [
{
"id": 149,
"name": "Arkansas",
"parent_id": 27281
},
{
"id": 150,
"name": "Illinois",
"parent_id": 27281
},
{
"id": 151,
"name": "Indiana",
"parent_id": 27281
},
{
"id": 152,
"name": "Kentucky",
"parent_id": 27281
},
{
"id": 153,
"name": "Mississippi",
"parent_id": 27281
},
{
"id": 154,
"name": "Missouri",
"parent_id": 27281
},
{
"id": 193,
"name": "Tennessee",
"parent_id": 27281
}
]
}
Get the related categories for a category. A related category is a one-way relation between 2 categories that is not part of a parent-child category hierarchy. Most categories do not have related categories
HTTP Request
GET https://api.stlouisfed.org/fred/category/related
Query Parameters
Parameter | Default | Required | Type | Description |
---|---|---|---|---|
category_id | 0 | true | Integer | The id for a category. |
realtime_start | Today’s Date | false | Date | The start of the real-time period. |
realtime_end | 9999-12-31 (latest available) | false | Date | The end of the real-time period. |
Get Related Tags Within Category
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.categories.getCategoryRelatedTags(125, {
"tag_names": "services;quarterly"
})
.then((res) => {
console.log('Related Tags', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"order_by": "series_count",
"sort_order": "desc",
"count": 7,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "balance",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 65,
"series_count": 4
},
{
"name": "bea",
"group_id": "src",
"notes": "U.S. Department of Commerce: Bureau of Economic Analysis",
"created": "2012-02-27 10:18:19-06",
"popularity": 87,
"series_count": 4
},
{
"name": "nation",
"group_id": "geot",
"notes": "Country Level",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 4
},
{
"name": "usa",
"group_id": "geo",
"notes": "United States of America",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 4
},
{
"name": "goods",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 73,
"series_count": 2
},
{
"name": "nsa",
"group_id": "seas",
"notes": "Not seasonally adjusted",
"created": "2012-02-27 10:18:19-06",
"popularity": 96,
"series_count": 2
},
{
"name": "sa",
"group_id": "seas",
"notes": "Seasonally adjusted",
"created": "2012-02-27 10:18:19-06",
"popularity": 94,
"series_count": 2
}
]
}
Get the related FRED tags for one or more FRED tags within a category. FRED tags are attributes assigned to series. For this request, related FRED tags are the tags assigned to series that match all tags in the tag_names parameter, no tags in the exclude_tag_names parameter, and the category set by the category_id parameter.
HTTP Request
GET https://api.stlouisfed.org/fred/category/related_tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
category_id | 0 | true | Integer | The id for a category. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | 9999-12-31 (latest available) | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
Get Series Within Category
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.categories.getCategorySeries(125)
.then((res) => {
console.log('Series for Category', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"order_by": "series_id",
"sort_order": "asc",
"count": 24,
"offset": 0,
"limit": 1000,
"series": [
{
"id": "BOPBCA",
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"title": "Balance on Current Account",
"observation_start": "1960-01-01",
"observation_end": "2013-01-01",
"frequency": "Quarterly",
"frequency_short": "Q",
"units": "Billions of Dollars",
"units_short": "Bil. of $",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-07-09 08:46:45-05",
"popularity": 64
},
{
"id": "BOPBCAA",
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"title": "Balance on Current Account",
"observation_start": "1960-01-01",
"observation_end": "2012-01-01",
"frequency": "Annual",
"frequency_short": "A",
"units": "Billions of Dollars",
"units_short": "Bil. of $",
"seasonal_adjustment": "Not Seasonally Adjusted",
"seasonal_adjustment_short": "NSA",
"last_updated": "2013-07-09 08:46:21-05",
"popularity": 43
},
{
"id": "BOPBCAN",
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"title": "Balance on Current Account",
"observation_start": "1960-01-01",
"observation_end": "2013-01-01",
"frequency": "Quarterly",
"frequency_short": "Q",
"units": "Billions of Dollars",
"units_short": "Bil. of $",
"seasonal_adjustment": "Not Seasonally Adjusted",
"seasonal_adjustment_short": "NSA",
"last_updated": "2013-07-09 08:46:50-05",
"popularity": 37
},
{
"id": "BOPBGS",
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"title": "Balance on Goods and Services",
"observation_start": "1960-01-01",
"observation_end": "2013-01-01",
"frequency": "Quarterly",
"frequency_short": "Q",
"units": "Billions of Dollars",
"units_short": "Bil. of $",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-07-09 08:46:25-05",
"popularity": 38
}
]
}
Get the series in a category.
HTTP Request
GET https://api.stlouisfed.org/fred/category/series
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
category_id | 0 | true | Integer | The id for a category. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_id’, ‘title’, ‘units’, ‘frequency’, ‘seasonal_adjustment’, ‘realtime_start’, ‘realtime_end’, ‘last_updated’, ‘observation_start’, ‘observation_end’, ‘popularity’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
filter_variable | No filter | false | String | The attribute to filter results by. | On of the following strings: ‘frequency’, ‘units’, ‘seasonal_adjustment’. |
filter_value | No filter | false | String | The value of the filter_variable attribute to filter results by. | None |
tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
exclude_tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match none of. | Parameter exclude_tag_names requires that parameter tag_names also be set to limit the number of matching series. |
Get Tags for a Category
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.categories.getCategoryTags(125)
.then((res) => {
console.log('Tags', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"order_by": "series_count",
"sort_order": "desc",
"count": 21,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "bea",
"group_id": "src",
"notes": "U.S. Department of Commerce: Bureau of Economic Analysis",
"created": "2012-02-27 10:18:19-06",
"popularity": 87,
"series_count": 24
},
{
"name": "nation",
"group_id": "geot",
"notes": "Country Level",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 24
},
{
"name": "usa",
"group_id": "geo",
"notes": "United States of America",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 24
}
]
}
Get the FRED tags for a category. Optionally, filter results by tag name, tag group, or search. Series are assigned tags and categories.
HTTP Request
GET https://api.stlouisfed.org/fred/category/tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
category_id | 0 | true | Integer | The id for a category. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
tag_names | No Filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
tag_group_id | No Filter | false | String | A tag group id to filter tags by type. | One of the following: ‘freq’, ‘gen’, ‘geo’, ‘geot’, ‘rls’, ‘seas’, ‘src’. |
search_text | No Filter | false | String | The words to find matching tags with. | None |
Release
Get Release
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getRelease(53)
.then((res) => {
console.log('Release', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"releases": [
{
"id": 53,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "Gross Domestic Product",
"press_release": true,
"link": "http://www.bea.gov/national/index.htm"
}
]
}
Get a release of economic data.
HTTP Request
GET https://api.stlouisfed.org/fred/release
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
release_id | None | true | Integer | The id for a release. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
Get Release With Dates
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getReleaseWithDates(82)
.then((res) => {
console.log('Release With Dates', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "1776-07-04",
"realtime_end": "9999-12-31",
"order_by": "release_date",
"sort_order": "asc",
"count": 17,
"offset": 0,
"limit": 10000,
"release_dates": [
{
"release_id": 82,
"date": "1997-02-10"
},
{
"release_id": 82,
"date": "1998-02-10"
},
{
"release_id": 82,
"date": "1999-02-04"
},
{
"release_id": 82,
"date": "2000-02-10"
},
{
"release_id": 82,
"date": "2001-01-16"
},
{
"release_id": 82,
"date": "2002-02-06"
},
{
"release_id": 82,
"date": "2003-02-07"
},
{
"release_id": 82,
"date": "2004-02-09"
},
{
"release_id": 82,
"date": "2005-02-17"
},
{
"release_id": 82,
"date": "2006-02-13"
},
{
"release_id": 82,
"date": "2007-02-16"
},
{
"release_id": 82,
"date": "2008-02-11"
},
{
"release_id": 82,
"date": "2009-03-03"
},
{
"release_id": 82,
"date": "2010-02-11"
},
{
"release_id": 82,
"date": "2011-02-23"
},
{
"release_id": 82,
"date": "2012-10-24"
},
{
"release_id": 82,
"date": "2013-04-10"
}
]
}
Get a release of economic data.
HTTP Request
GET https://api.stlouisfed.org/fred/release/dates
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
release_id | None | true | Integer | The id for a release. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
sort_order | asc | false | String | Sort results is ascending or descending release date order. | One of the following strings: ‘asc’, ‘desc’. |
include_release_dates_with_no_data | ‘false’ | false | String | Determines whether release dates with no data available are returned. | One of the following strings: ‘true’, ‘false’. |
Get Series For Release
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getSeriesForRelease(51)
.then((res) => {
console.log('Series for Release', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"order_by": "series_id",
"sort_order": "asc",
"count": 39,
"offset": 0,
"limit": 1000,
"seriess": [
{
"id": "BOMTVLM133S",
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"title": "U.S. Imports of Services - Travel",
"observation_start": "1992-01-01",
"observation_end": "2013-06-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Million of Dollars",
"units_short": "Mil. of $",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-08-06 07:46:06-05",
"popularity": 0
},
{
"id": "BOMVGMM133S",
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"title": "U.S. Imports of Services - U.S. Government Misc. Services",
"observation_start": "1992-01-01",
"observation_end": "2013-06-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Millions of Dollars",
"units_short": "Mil. of $",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-08-06 07:46:06-05",
"popularity": 0
},
{
"id": "BOMVJMM133S",
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"title": "U.S. Imports of Services - Direct Defense Expenditures",
"observation_start": "1992-01-01",
"observation_end": "2013-06-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Millions of Dollars",
"units_short": "Mil. of $",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-08-06 07:46:06-05",
"popularity": 17
}
]
}
Get release dates for a release of economic data.
HTTP Request
GET https://api.stlouisfed.org/fred/release/series
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
release_id | None | true | Integer | The id for a release. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_id | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_id’, ‘title’, ‘units’, ‘frequency’, ‘seasonal_adjustment’, ‘realtime_start’, ‘realtime_end’, ‘last_updated’, ‘observation_start’, ‘observation_end’, ‘popularity’. |
sort_order | asc | false | String | Sort results is ascending or descending release date order. | One of the following strings: ‘asc’, ‘desc’. |
filter_variable | No filter | false | String | The attribute to filter results by. | On of the following strings: ‘frequency’, ‘units’, ‘seasonal_adjustment’. |
filter_value | No filter | false | String | The value of the filter_variable attribute to filter results by. | None |
tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
exclude_tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match none of. | Parameter exclude_tag_names requires that parameter tag_names also be set to limit the number of matching series. |
Get Sources For Release
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getSourcesForRelease(51)
.then((res) => {
console.log('Sources for Release', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"sources": [
{
"id": 18,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "U.S. Department of Commerce: Bureau of Economic Analysis",
"link": "http://www.bea.gov/"
},
{
"id": 19,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "U.S. Department of Commerce: Census Bureau",
"link": "http://www.census.gov/"
}
]
}
Get the sources for a release of economic data.
HTTP Request
GET https://api.stlouisfed.org/fred/release/sources
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
release_id | None | true | Integer | The id for a release. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
Get Tags For Release
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getTagsForRelease(86)
.then((res) => {
console.log('Tags for Release', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "series_count",
"sort_order": "desc",
"count": 13,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "commercial paper",
"group_id": "gen",
"notes": "",
"created": "2012-03-19 10:40:59-05",
"popularity": 55,
"series_count": 18
},
{
"name": "frb",
"group_id": "src",
"notes": "Board of Governors of the Federal Reserve System",
"created": "2012-02-27 10:18:19-06",
"popularity": 90,
"series_count": 18
},
{
"name": "nation",
"group_id": "geot",
"notes": "Country Level",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 18
},
{
"name": "usa",
"group_id": "geo",
"notes": "United States of America",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 18
},
{
"name": "weekly",
"group_id": "freq",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 82,
"series_count": 18
},
{
"name": "nsa",
"group_id": "seas",
"notes": "Not seasonally adjusted",
"created": "2012-02-27 10:18:19-06",
"popularity": 96,
"series_count": 9
},
{
"name": "sa",
"group_id": "seas",
"notes": "Seasonally adjusted",
"created": "2012-02-27 10:18:19-06",
"popularity": 94,
"series_count": 9
},
{
"name": "financial",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 70,
"series_count": 6
},
{
"name": "nonfinancial",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 63,
"series_count": 6
},
{
"name": "domestic",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 69,
"series_count": 4
},
{
"name": "foreign",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 58,
"series_count": 4
},
{
"name": "asset-backed",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 43,
"series_count": 2
},
{
"name": "companies",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 49,
"series_count": 1
}
]
}
Get the FRED tags for a release. Optionally, filter results by tag name, tag group, or search. Series are assigned tags and releases. Indirectly through series, it is possible to get the tags for a release.
HTTP Request
GET https://api.stlouisfed.org/fred/release/tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
release_id | None | true | Integer | The id for a release. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending release date order. | One of the following strings: ‘asc’, ‘desc’. |
tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
tag_group_id | No Filter | false | String | A tag group id to filter tags by type. | One of the following: ‘freq’, ‘gen’, ‘geo’, ‘geot’, ‘rls’, ‘seas’, ‘src’. |
search_text | No Filter | false | String | The words to find matching tags with. | None |
Get Related Tags Within Release
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getRelatedTagsForRelease(86)
.then((res) => {
console.log('Related Tags for Release', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "series_count",
"sort_order": "desc",
"count": 7,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "commercial paper",
"group_id": "gen",
"notes": "",
"created": "2012-03-19 10:40:59-05",
"popularity": 55,
"series_count": 2
},
{
"name": "frb",
"group_id": "src",
"notes": "Board of Governors of the Federal Reserve System",
"created": "2012-02-27 10:18:19-06",
"popularity": 90,
"series_count": 2
},
{
"name": "nation",
"group_id": "geot",
"notes": "Country Level",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 2
},
{
"name": "usa",
"group_id": "geo",
"notes": "United States of America",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 2
},
{
"name": "weekly",
"group_id": "freq",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 82,
"series_count": 2
},
{
"name": "financial",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 70,
"series_count": 1
},
{
"name": "nonfinancial",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 63,
"series_count": 1
}
]
}
Get the related FRED tags for one or more FRED tags within a release. Optionally, filter results by tag group or search.
HTTP Request
GET https://api.stlouisfed.org/fred/release/related_tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
release_id | None | true | Integer | The id for a release. | None |
tag_names | No filter | true | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending release date order. | One of the following strings: ‘asc’, ‘desc’. |
exclude_tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match none of. | Parameter exclude_tag_names requires that parameter tag_names also be set to limit the number of matching series. |
tag_group_id | No Filter | false | String | A tag group id to filter tags by type. | One of the following: ‘freq’, ‘gen’, ‘geo’, ‘geot’, ‘rls’, ‘seas’, ‘src’. |
search_text | No Filter | false | String | The words to find matching tags with. | None |
Get Tables Trees For Release
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getTableTreesForRelease(86)
.then((res) => {
console.log('Table Trees for Release', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
{
"name": "Personal consumption expenditures",
"element_id": 12886,
"release_id": "53",
"elements": {
"12887": {
"element_id": 12887,
"release_id": 53,
"series_id": "DGDSRL1A225NBEA",
"parent_id": 12886,
"line": "3",
"type": "series",
"name": "Goods",
"level": "1",
"children": [
{
"element_id": 12888,
"release_id": 53,
"series_id": "DDURRL1A225NBEA",
"parent_id": 12887,
"line": "4",
"type": "series",
"name": "Durable goods",
"level": "2",
"children": [
]
},
{
"element_id": 12889,
"release_id": 53,
"series_id": "DNDGRL1A225NBEA",
"parent_id": 12887,
"line": "5",
"type": "series",
"name": "Nondurable goods",
"level": "2",
"children": [
]
}
]
},
"12888": {
"element_id": 12888,
"release_id": 53,
"series_id": "DDURRL1A225NBEA",
"parent_id": 12887,
"line": "4",
"type": "series",
"name": "Durable goods",
"level": "2",
"children": [
]
},
"12889": {
"element_id": 12889,
"release_id": 53,
"series_id": "DNDGRL1A225NBEA",
"parent_id": 12887,
"line": "5",
"type": "series",
"name": "Nondurable goods",
"level": "2",
"children": [
]
},
"12890": {
"element_id": 12890,
"release_id": 53,
"series_id": "DSERRL1A225NBEA",
"parent_id": 12886,
"line": "6",
"type": "series",
"name": "Services",
"level": "1",
"children": [
]
}
}
}
Get release table trees for a given release. You can go directly to the tree structure by passing the appropriate element_id. You may also use a drill-down approach to start at the root (top most) element by leaving the element_id off.
HTTP Request
GET https://api.stlouisfed.org/fred/release/tables
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
release_id | None | true | Integer | The id for a release. | None |
element_id | The root element for a release | false | Integer | The release table element id you would like to retrieve. | When the parameter is not passed, the root(top most) element for the release is given. |
include_observation_values | ‘false’ | false | String | A flag to indicate that observations need to be returned. Observation value and date will only be returned for a series type element. | One of the following strings: ‘true’, ‘false’. |
observation_date | 9999-12-31 (latest available) | false | Date | The observation date to be included with the returned release table. | YYYY-MM-DD formatted string |
Releases
Get Releases
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getReleases()
.then((res) => {
console.log('Releases', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"order_by": "release_id",
"sort_order": "asc",
"count": 158,
"offset": 0,
"limit": 1000,
"releases": [
{
"id": 9,
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"name": "Advance Monthly Sales for Retail and Food Services",
"press_release": true,
"link": "http://www.census.gov/retail/"
},
{
"id": 10,
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"name": "Consumer Price Index",
"press_release": true,
"link": "http://www.bls.gov/cpi/"
},
{
"id": 11,
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"name": "Employment Cost Index",
"press_release": true,
"link": "http://www.bls.gov/ncs/ect/"
},
{
"id": 13,
"realtime_start": "2013-08-13",
"realtime_end": "2013-08-13",
"name": "G.17 Industrial Production and Capacity Utilization",
"press_release": true,
"link": "http://www.federalreserve.gov/releases/g17/"
},
...
]
}
Get all releases of economic data.
HTTP Request
GET https://api.stlouisfed.org/fred/releases
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | release_id | false | String | Order results by values of the specified attribute. | One of the following strings: ‘release_id’, ‘name’, ‘press_release’, ‘realtime_start’, ‘realtime_end’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
Get Release Dates for All Releases
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.releases.getAllReleasesWithDates()
.then((res) => {
console.log('Releases', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-01-01",
"realtime_end": "9999-12-31",
"order_by": "release_date",
"sort_order": "desc",
"count": 1129,
"offset": 0,
"limit": 1000,
"release_dates": [
{
"release_id": 9,
"release_name": "Advance Monthly Sales for Retail and Food Services",
"date": "2013-08-13"
},
{
"release_id": 262,
"release_name": "Failures and Assistance Transactions",
"date": "2013-08-13"
},
{
"release_id": 25,
"release_name": "Manufacturing and Trade Inventories and Sales",
"date": "2013-08-13"
},
{
"release_id": 92,
"release_name": "Selected Real Retail Sales Series",
"date": "2013-08-13"
},
{
"release_id": 188,
"release_name": "U.S. Import and Export Price Indexes",
"date": "2013-08-13"
},
{
"release_id": 183,
"release_name": "Gasoline and Diesel Fuel Update",
"date": "2013-08-12"
},
...
]
}
Get release dates for all releases of economic data.
HTTP Request
GET https://api.stlouisfed.org/fred/releases/dates
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | release_date | false | String | Order results by values of the specified attribute. | One of the following strings: ‘release_date’, ‘release_id’, ‘release_name’. |
sort_order | desc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
include_release_dates_with_no_data | ‘false’ | false | String | Determines whether release dates with no data available are returned. | One of the following strings: ‘true’, ‘false’. |
Series
Get Series
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getSeries('GNPCA')
.then((res) => {
console.log('Series', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"series": [
{
"id": "GNPCA",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Real Gross National Product",
"observation_start": "1929-01-01",
"observation_end": "2012-01-01",
"frequency": "Annual",
"frequency_short": "A",
"units": "Billions of Chained 2009 Dollars",
"units_short": "Bil. of Chn. 2009 $",
"seasonal_adjustment": "Not Seasonally Adjusted",
"seasonal_adjustment_short": "NSA",
"last_updated": "2013-07-31 09:26:16-05",
"popularity": 39,
"notes": "BEA Account Code: A001RX1"
}
]
}
Get an economic data series.
HTTP Request
GET https://api.stlouisfed.org/fred/series
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_id | None | true | String | The id for a series. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
Get Categories For Series
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getCategoriesForSeries('EXJPUS')
.then((res) => {
console.log('Categories For Series', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"categories": [
{
"id": 95,
"name": "Monthly Rates",
"parent_id": 15
},
{
"id": 275,
"name": "Japan",
"parent_id": 158
}
]
}
Get the categories for an economic data series.
HTTP Request
GET https://api.stlouisfed.org/fred/series/categories
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_id | None | true | Integer | The id for a series. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
Get Observations For Series
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getObservationsForSeries('GNPCA')
.then((res) => {
console.log('Observations For Series', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"observation_start": "1776-07-04",
"observation_end": "9999-12-31",
"units": "lin",
"output_type": 1,
"file_type": "json",
"order_by": "observation_date",
"sort_order": "asc",
"count": 84,
"offset": 0,
"limit": 100000,
"observations": [
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"date": "1929-01-01",
"value": "1065.9"
},
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"date": "1930-01-01",
"value": "975.5"
},
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"date": "1931-01-01",
"value": "912.1"
},
...
]
}
Get the observations or data values for an economic data series.
HTTP Request
GET https://api.stlouisfed.org/fred/series/observations
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_id | None | true | Integer | The id for a series. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 100000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
observation_start | 1776-07-04 | false | Date | The start of the observation period. | YYYY-MM-DD formatted string |
observation_end | 9999-12-31 | false | Date | The start of the observation period. | YYYY-MM-DD formatted string |
units | lin | false | String | A key that indicates a data value transformation. | One of the following values: ‘lin’, ‘chg’, ‘ch1’, ‘pch’, ‘pc1’, ‘pca’, ‘cch’, ‘cca’, ‘log’ |
frequency | None | false | String | An optional parameter that indicates a lower frequency to aggregate values to. | One of the following values: ‘d’, ‘w’, ‘bw’, ‘m’, ‘q’, ‘sa’, ‘a’, ‘wef’, ‘weth’, ‘wew’, ‘wetu’, ‘wem’, ‘wesu’, ‘wesa’, ‘bwew’, ‘bwem’ |
aggregation_method | avg | false | String | A key that indicates the aggregation method used for frequency aggregation. | One of the following values: ‘avg’, ‘sum’, ‘eop’. This parameter has no affect if the frequency parameter is not set. |
output_type | 1 | false | Integer | An integer that indicates an output type. | One of the following values: ‘1’, ‘2’, ‘3’, ‘4’ |
vintage_dates | None | false | String | A comma separated string of YYYY-MM-DD formatted dates in history (e.g. 2000-01-01,2005-02-24). Vintage dates are used to download data as it existed on these specified dates in history. Vintage dates can be specified instead of a real-time period using realtime_start and realtime_end. | See Description |
Get Release For Series
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getReleaseForSeries('IRA')
.then((res) => {
console.log('Release For Series', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"releases": [
{
"id": 21,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "H.6 Money Stock Measures",
"press_release": true,
"link": "http://www.federalreserve.gov/releases/h6/"
}
]
}
Get the release for an economic data series.
HTTP Request
GET https://api.stlouisfed.org/fred/series/release
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_id | None | true | String | The id for a series. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
Search for Series
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getSeriesThatMatchesSearch('monetary+service+index')
.then((res) => {
console.log('Series That Match Search', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "search_rank",
"sort_order": "desc",
"count": 25,
"offset": 0,
"limit": 1000,
"series": [
{
"id": "MSIM2",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Monetary Services Index: M2 (preferred)",
"observation_start": "1967-01-01",
"observation_end": "2013-06-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Billions of Dollars",
"units_short": "Bil. of $",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-07-12 11:01:06-05",
"popularity": 52,
"notes": "The MSI measure the flow of monetary services received each period by households and firms from their holdings of monetary assets (levels of the indexes are sometimes referred to as Divisia monetary aggregates). \r\nPreferred benchmark rate equals 100 basis points plus the largest rate in the set of rates. \r\nAlternative benchmark rate equals the larger of the preferred benchmark rate and the Baa corporate bond yield.\r\nMore information about the new MSI can be found at \r\nhttp://research.stlouisfed.org/msi/index.html."
},
{
"id": "MSIM1P",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Monetary Services Index: M1 (preferred)",
"observation_start": "1967-01-01",
"observation_end": "2013-06-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Billions of Dollars",
"units_short": "Bil. of $",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-07-12 11:01:03-05",
"popularity": 40,
"notes": "The MSI measure the flow of monetary services received each period by households and firms from their holdings of monetary assets (levels of the indexes are sometimes referred to as Divisia monetary aggregates)."
},
{
"id": "MSIALLP",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Monetary Services Index: ALL Assets (preferred)",
"observation_start": "1967-01-01",
"observation_end": "2013-06-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Billions of Dollars",
"units_short": "Bil. of $",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-07-12 11:01:03-05",
"popularity": 38,
"notes": "The MSI measure the flow of monetary services received each period by households and firms from their holdings of monetary assets (levels of the indexes are sometimes referred to as Divisia monetary aggregates).\r\nPreferred benchmark rate equals 100 basis points plus the largest rate in the set of rates. \r\nAlternative benchmark rate equals the larger of the preferred benchmark rate and the Baa corporate bond yield."
}
...
]
}
Get economic data series that match search text.
HTTP Request
GET https://api.stlouisfed.org/fred/series/search
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
search_text | “” | true | String | The words to match against economic data series. | None |
search_type | full_text | false | String | Determines the type of search to perform. | One of the following strings: ‘full_text’, ‘series_id’. |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | If the value of search_type is ‘full_text’ then the default value of order_by is ‘search_rank’. If the value of search_type is ‘series_id’ then the default value of order_by is ‘series_id’. | false | String | Order results by values of the specified attribute. | One of the following strings: ‘search_rank’, ‘series_id’, ‘title’, ‘units’, ‘frequency’, ‘seasonal_adjustment’, ‘realtime_start’, ‘realtime_end’, ‘last_updated’, ‘observation_start’, ‘observation_end’, ‘popularity’. |
sort_order | If order_by is equal to ‘search_rank’ or ‘popularity’, then the default value of sort_order is ‘desc’. Otherwise, the default sort order is ‘asc’. | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
filter_variable | No filter | false | String | The attribute to filter results by. | On of the following strings: ‘frequency’, ‘units’, ‘seasonal_adjustment’. |
filter_value | No filter | false | String | None | |
tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
exclude_tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match none of. | Parameter exclude_tag_names requires that parameter tag_names also be set to limit the number of matching series. |
Get Tags for Series Search
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getTagsForSeriesSearch('monetary+service+index')
.then((res) => {
console.log('Tags For Series That Match Search', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "series_count",
"sort_order": "desc",
"count": 18,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "academic data",
"group_id": "gen",
"notes": "Time series data created mainly by academia to address growing demand in understanding specific concerns in the economy that are not well modeled by ordinary statistical agencies.",
"created": "2012-08-29 10:22:19-05",
"popularity": 62,
"series_count": 25
},
{
"name": "anderson & jones",
"group_id": "src",
"notes": "Richard Anderson and Barry Jones",
"created": "2013-06-21 10:22:49-05",
"popularity": 46,
"series_count": 25
},
{
"name": "divisia",
"group_id": "gen",
"notes": "Monetary Services Indexes",
"created": "2012-02-27 10:18:19-06",
"popularity": 46,
"series_count": 25
}
...
]
}
Get the FRED tags for a series search. Optionally, filter results by tag name, tag group, or tag search.
HTTP Request
GET https://api.stlouisfed.org/fred/series/search/tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_search_text | “” | true | String | The words to match against economic data series. | None |
search_type | full_text | false | String | Determines the type of search to perform. | One of the following strings: ‘full_text’, ‘series_id’. |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
tag_group_id | No Filter | false | String | A tag group id to filter tags by type. | One of the following: ‘freq’, ‘gen’, ‘geo’, ‘geot’, ‘rls’, ‘seas’, ‘src’. |
tag_search_text | No Filter | false | String | The words to find matching tags with. | None |
Get Related Tags for Series Search
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getRelatedTagsForSeriesSearch('morgage+rate')
.then((res) => {
console.log('Related Tags For Series That Match Search', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "series_count",
"sort_order": "desc",
"count": 10,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "conventional",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 63,
"series_count": 3
},
{
"name": "h15",
"group_id": "rls",
"notes": "H.15 Selected Interest Rates",
"created": "2012-08-16 15:21:17-05",
"popularity": 84,
"series_count": 3
},
{
"name": "interest rate",
"group_id": "gen",
"notes": "",
"created": "2012-05-29 10:14:19-05",
"popularity": 87,
"series_count": 3
}
...
]
}
Get the related FRED tags for one or more FRED tags matching a series search. Optionally, filter results by tag group or tag search.
HTTP Request
GET https://api.stlouisfed.org/fred/series/search/related_tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_search_text | “” | true | String | The words to match against economic data series. | None |
search_type | full_text | false | String | Determines the type of search to perform. | One of the following strings: ‘full_text’, ‘series_id’. |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
exclude_tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match none of. | Parameter exclude_tag_names requires that parameter tag_names also be set to limit the number of matching series. |
tag_group_id | No Filter | false | String | A tag group id to filter tags by type. | One of the following: ‘freq’, ‘gen’, ‘geo’, ‘geot’, ‘rls’, ‘seas’, ‘src’. |
tag_search_text | No Filter | false | String | The words to find matching tags with. | None |
Get Tags for Series
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getTagsForSeries('STLFSI')
.then((res) => {
console.log('Tags For Series', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "series_count",
"sort_order": "desc",
"count": 8,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "nation",
"group_id": "geot",
"notes": "Country Level",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 105200
},
{
"name": "nsa",
"group_id": "seas",
"notes": "Not seasonally adjusted",
"created": "2012-02-27 10:18:19-06",
"popularity": 96,
"series_count": 100468
},
{
"name": "usa",
"group_id": "geo",
"notes": "United States of America",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 59469
}
...
]
}
Get the FRED tags for a series.
HTTP Request
GET https://api.stlouisfed.org/fred/series/tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_id | None | true | Integer | The id for a series. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
Get Latest Updated Series
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getUpdatedSeries()
.then((res) => {
console.log('Latest Updated Series', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"filter_variable": "geography",
"filter_value": "all",
"order_by": "last_updated",
"sort_order": "desc",
"count": 143535,
"offset": 0,
"limit": 100,
"seriess": [
{
"id": "PPIITM",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Producer Price Index: Intermediate Materials: Supplies & Components",
"observation_start": "1947-04-01",
"observation_end": "2013-07-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Index 1982=100",
"units_short": "Index 1982=100",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-08-14 08:36:05-05",
"popularity": 52
},
{
"id": "PPILFE",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Producer Price Index: Finished Goods Less Food & Energy",
"observation_start": "1974-01-01",
"observation_end": "2013-07-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Index 1982=100",
"units_short": "Index 1982=100",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-08-14 08:36:05-05",
"popularity": 51
},
{
"id": "PPIFGS",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Producer Price Index: Finished Goods",
"observation_start": "1947-04-01",
"observation_end": "2013-07-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Index 1982=100",
"units_short": "Index 1982=100",
"seasonal_adjustment": "Seasonally Adjusted",
"seasonal_adjustment_short": "SA",
"last_updated": "2013-08-14 08:36:04-05",
"popularity": 62
}
...
]
}
Get economic data series sorted by when observations were updated on the FRED® server (attribute last_updated). Results are limited to series updated within the last two weeks.
HTTP Request
GET https://api.stlouisfed.org/fred/series/updates
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_id | None | true | Integer | The id for a series. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
filter_value | all | false | String | Limit results by geographic type of economic data series; namely ‘macro’, ‘regional’, and ‘all’. ‘macro’ limits results to macroeconomic data series. In general, these are series for entire countries that are not subregions of the United States. ‘regional’ limits results to series for parts of the US; namely, series for US states, counties, and Metropolitan Statistical Areas (MSA). ‘all’ does not filter results. | One of the values: ‘macro’, ‘regional’, ‘all’ |
Get Dates When Series Was Revised
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.series.getVintageDatesSeries('GNPCA')
.then((res) => {
console.log('Dates When Series Was Revised', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "1776-07-04",
"realtime_end": "9999-12-31",
"order_by": "vintage_date",
"sort_order": "asc",
"count": 162,
"offset": 0,
"limit": 10000,
"vintage_dates": [
"1958-12-21",
"1959-02-19",
"1959-07-19",
"1960-02-16",
"1960-07-22",
"1961-02-19",
"1961-07-19",
"1962-02-24",
"1962-07-20",
"1963-02-20",
"1963-07-22"
...
]
}
Get the dates in history when a series’ data values were revised or new data values were released. Vintage dates are the release dates for a series excluding release dates when the data for the series did not change.
HTTP Request
GET https://api.stlouisfed.org/fred/series/vintagedates
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
series_id | None | true | Integer | The id for a series. | None |
realtime_start | 1776-07-04 (earliest available) | false | Date | The start of the real-time period. | None |
realtime_end | 9999-12-31 (latest available) | false | Date | The end of the real-time period. | None |
limit | 10000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 10000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
Source
Get A Source
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.sources.getSource(1)
.then((res) => {
console.log('Source', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"sources": [
{
"id": 1,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "Board of Governors of the Federal Reserve System",
"link": "http://www.federalreserve.gov/"
}
]
}
Get a source of economic data.
HTTP Request
GET https://api.stlouisfed.org/fred/source
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
source_id | None | true | String | The id for a source. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
Get Releases For Source
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.sources.getReleasesForSource(1)
.then((res) => {
console.log('Releases For Source', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "release_id",
"sort_order": "asc",
"count": 26,
"offset": 0,
"limit": 1000,
"releases": [
{
"id": 13,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "G.17 Industrial Production and Capacity Utilization",
"press_release": true,
"link": "http://www.federalreserve.gov/releases/g17/"
},
{
"id": 14,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "G.19 Consumer Credit",
"press_release": true,
"link": "http://www.federalreserve.gov/releases/g19/"
},
{
"id": 15,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "G.5 Foreign Exchange Rates",
"press_release": true,
"link": "http://www.federalreserve.gov/releases/g5/"
}
...
]
}
Get the releases for a source.
HTTP Request
GET https://api.stlouisfed.org/fred/source/release
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
source_id | None | true | String | The id for a source. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | release_id | false | String | Order results by values of the specified attribute. | One of the following strings: ‘release_id’, ‘name’, ‘press_release’, ‘realtime_start’, ‘realtime_end’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
Sources
Get All Sources
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.sources.getAllSources()
.then((res) => {
console.log('Sources', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "source_id",
"sort_order": "asc",
"count": 58,
"offset": 0,
"limit": 1000,
"sources": [
{
"id": 1,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "Board of Governors of the Federal Reserve System",
"link": "http://www.federalreserve.gov/"
},
{
"id": 3,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "Federal Reserve Bank of Philadelphia",
"link": "http://www.philadelphiafed.org/"
},
{
"id": 4,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "Federal Reserve Bank of St. Louis",
"link": "http://www.stlouisfed.org/"
},
{
"id": 6,
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"name": "Federal Financial Institutions Examination Council",
"link": "http://www.ffiec.gov/"
}
...
]
}
Get all sources of economic data.
HTTP Request
GET https://api.stlouisfed.org/fred/sources
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | source_id | false | String | Order results by values of the specified attribute. | One of the following strings: ‘source_id’, ‘name’, ‘realtime_start’, ‘realtime_end’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
Tags
Get All Tags
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.tags.getAllTags()
.then((res) => {
console.log('Tags', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "series_count",
"sort_order": "desc",
"count": 4794,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "nation",
"group_id": "geot",
"notes": "Country Level",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 105200
},
{
"name": "nsa",
"group_id": "seas",
"notes": "Not seasonally adjusted",
"created": "2012-02-27 10:18:19-06",
"popularity": 96,
"series_count": 100468
},
{
"name": "oecd",
"group_id": "src",
"notes": "Organisation for Economic Co-operation and Development",
"created": "2012-02-27 10:18:19-06",
"popularity": 76,
"series_count": 61488
}
...
]
}
Get FRED tags. Optionally, filter results by tag name, tag group, or search.
HTTP Request
GET https://api.stlouisfed.org/fred/tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
search_text | “” | false | String | The words to find matching tags with. | None |
tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
tag_group_id | No Filter | false | String | A tag group id to filter tags by type. | One of the following: ‘freq’, ‘gen’, ‘geo’, ‘geot’, ‘rls’, ‘seas’, ‘src’. |
Get All Series Matching Tags
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.tags.getAllSeriesMatchingTags('slovenia;food;oecd')
.then((res) => {
console.log('Series Matching Tags', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "series_id",
"sort_order": "asc",
"count": 18,
"offset": 0,
"limit": 1000,
"seriess": [
{
"id": "CPGDFD02SIA657N",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Consumer Price Index: Total Food Excluding Restaurants for Slovenia",
"observation_start": "1996-01-01",
"observation_end": "2012-01-01",
"frequency": "Annual",
"frequency_short": "A",
"units": "Growth Rate Previous Period",
"units_short": "Growth Rate Previous Period",
"seasonal_adjustment": "Not Seasonally Adjusted",
"seasonal_adjustment_short": "NSA",
"last_updated": "2013-07-24 02:07:00-05",
"popularity": 0,
"notes": "OECD descriptor ID: CPGDFD02\nOECD unit ID: GP\nOECD country ID: SVN\n\nAll OECD data should be cited as follows: OECD, \"Main Economic Indicators - complete database\", Main Economic Indicators (database),http://dx.doi.org/10.1787/data-00052-en (Accessed on date)\nCopyright OECD. Reprinted with permission."
},
{
"id": "CPGDFD02SIA659N",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Consumer Price Index: Total Food Excluding Restaurants for Slovenia",
"observation_start": "1996-01-01",
"observation_end": "2000-01-01",
"frequency": "Annual",
"frequency_short": "A",
"units": "Growth Rate Same Period Previous Year",
"units_short": "Growth Rate Same Period Previous Yr.",
"seasonal_adjustment": "Not Seasonally Adjusted",
"seasonal_adjustment_short": "NSA",
"last_updated": "2013-08-12 00:14:01-05",
"popularity": 0,
"notes": "OECD descriptor ID: CPGDFD02\nOECD unit ID: GY\nOECD country ID: SVN\n\nAll OECD data should be cited as follows: OECD, \"Main Economic Indicators - complete database\", Main Economic Indicators (database),http://dx.doi.org/10.1787/data-00052-en (Accessed on date)\nCopyright OECD. Reprinted with permission."
},
{
"id": "CPGDFD02SIM657N",
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"title": "Consumer Price Index: Total Food Excluding Restaurants for Slovenia",
"observation_start": "1996-01-01",
"observation_end": "2013-05-01",
"frequency": "Monthly",
"frequency_short": "M",
"units": "Growth Rate Previous Period",
"units_short": "Growth Rate Previous Period",
"seasonal_adjustment": "Not Seasonally Adjusted",
"seasonal_adjustment_short": "NSA",
"last_updated": "2013-07-24 17:24:28-05",
"popularity": 0,
"notes": "OECD descriptor ID: CPGDFD02\nOECD unit ID: GP\nOECD country ID: SVN\n\nAll OECD data should be cited as follows: OECD, \"Main Economic Indicators - complete database\", Main Economic Indicators (database),http://dx.doi.org/10.1787/data-00052-en (Accessed on date)\nCopyright OECD. Reprinted with permission."
}
...
]
}
Get the series matching all tags in the tag_names parameter and no tags in the exclude_tag_names parameter.
HTTP Request
GET https://api.stlouisfed.org/fred/tags/series
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
tag_names | None | true | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_id | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_id’, ‘title’, ‘units’, ‘frequency’, ‘seasonal_adjustment’, ‘realtime_start’, ‘realtime_end’, ‘last_updated’, ‘observation_start’, ‘observation_end’, ‘popularity’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
search_text | “” | false | String | The words to find matching tags with. | None |
exclude_tag_names | No filter | false | Semicolon delimited string | A semicolon delimited list of tag names that series match none of. | None |
Related Tags
Get Related Tags
import Fred from 'node-fred';
const fred = new Fred(API_KEY);
fred.tags.getAllRelatedTags('monetary+aggregates;weekly')
.then((res) => {
console.log('Related Tags', res);
})
.catch((err) => {
console.error('Error', err);
})
The above command returns JSON structured like this:
{
"realtime_start": "2013-08-14",
"realtime_end": "2013-08-14",
"order_by": "series_count",
"sort_order": "desc",
"count": 13,
"offset": 0,
"limit": 1000,
"tags": [
{
"name": "nation",
"group_id": "geot",
"notes": "Country Level",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 12
},
{
"name": "usa",
"group_id": "geo",
"notes": "United States of America",
"created": "2012-02-27 10:18:19-06",
"popularity": 100,
"series_count": 12
},
{
"name": "frb",
"group_id": "src",
"notes": "Board of Governors of the Federal Reserve System",
"created": "2012-02-27 10:18:19-06",
"popularity": 90,
"series_count": 10
},
{
"name": "nsa",
"group_id": "seas",
"notes": "Not seasonally adjusted",
"created": "2012-02-27 10:18:19-06",
"popularity": 96,
"series_count": 6
},
{
"name": "sa",
"group_id": "seas",
"notes": "Seasonally adjusted",
"created": "2012-02-27 10:18:19-06",
"popularity": 94,
"series_count": 6
},
{
"name": "m1",
"group_id": "gen",
"notes": "M1 Money Stock",
"created": "2012-02-27 10:18:19-06",
"popularity": 71,
"series_count": 4
},
{
"name": "m2",
"group_id": "gen",
"notes": "M2 Money Stock",
"created": "2012-02-27 10:18:19-06",
"popularity": 75,
"series_count": 4
},
{
"name": "currency",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 74,
"series_count": 2
},
{
"name": "discontinued",
"group_id": "gen",
"notes": "",
"created": "2012-02-27 10:18:19-06",
"popularity": 68,
"series_count": 2
},
{
"name": "frb stl",
"group_id": "src",
"notes": "Federal Reserve Bank of St. Louis (source)",
"created": "2012-02-27 10:18:19-06",
"popularity": 81,
"series_count": 2
},
{
"name": "h6",
"group_id": "rls",
"notes": "H.6 Money Stock Measures",
"created": "2012-08-16 15:21:17-05",
"popularity": 41,
"series_count": 2
},
{
"name": "m3",
"group_id": "gen",
"notes": "M3 Money Stock",
"created": "2012-02-27 10:18:19-06",
"popularity": 50,
"series_count": 2
},
{
"name": "mzm",
"group_id": "gen",
"notes": "MZM Money Stock",
"created": "2012-02-27 10:18:19-06",
"popularity": 61,
"series_count": 2
}
]
}
Get the related FRED tags for one or more FRED tags. Optionally, filter results by tag group or search.
FRED tags are attributes assigned to series. Related FRED tags are the tags assigned to series that match all tags in the tag_names parameter and no tags in the exclude_tag_names parameter.
HTTP Request
GET https://api.stlouisfed.org/fred/related_tags
Query Parameters
Parameter | Default | Required | Type | Description | Restrictions |
---|---|---|---|---|---|
tag_names | None | true | Semicolon delimited string | A semicolon delimited list of tag names that series match all of. | None |
realtime_start | Today’s Date | false | Date | The start of the real-time period. | None |
realtime_end | Today’s Date | false | Date | The end of the real-time period. | None |
limit | 1000 | false | Integer | The maximum number of results to return | Must be an integer between 1 and 1000 |
offset | 0 | false | Integer | A non negative integer | A non negative integer |
order_by | series_count | false | String | Order results by values of the specified attribute. | One of the following strings: ‘series_count’, ‘popularity’, ‘created’, ‘name’, ‘group_id’. |
sort_order | asc | false | String | Sort results is ascending or descending order for attribute values specified by order_by. | One of the following strings: ‘asc’, ‘desc’. |
tag_group_id | No Filter | false | String | A tag group id to filter tags by type. | One of the following: ‘freq’, ‘gen’, ‘geo’, ‘geot’, ‘rls’, ‘seas’, ‘src’. |
search_text | No Filter | false | String | The words to find matching tags with. | None |
Errors
The Fred API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request – Your request sucks |
401 | Unauthorized – Your API key is wrong |
403 | Forbidden – The kitten requested is hidden for administrators only |
404 | Not Found – The specified kitten could not be found |
405 | Method Not Allowed – You tried to access a kitten with an invalid method |
406 | Not Acceptable – You requested a format that isn’t json |
410 | Gone – The kitten requested has been removed from our servers |
418 | I’m a teapot |
429 | Too Many Requests – You’re requesting too many kittens! Slow down! |
500 | Internal Server Error – We had a problem with our server. Try again later. |
503 | Service Unavailable – We’re temporarily offline for maintenance. Please try again later. |