前回はFREDというデータベースの照会と、基本的な使い方を見ていきました。たくさんのエンドポイントがFREDにはあるので、今回は前回紹介できなかったものをリスト化していこうと思います。
冗長になるので、必要なときに参照する程度の参考情報をしてください。
基本の使い方は前回紹介しているので、前回の記事を読んでいない場合は併せて確認してください。
詳細な使い方は、公式ドキュメントも併せて確認してください。
get_data 関数の定義
データ取得のテンプレート関数を作成しておきます。
import pandas as pd
import requests
def get_data(url, params, data_key=None):
response = requests.get(url, params=params)
response.raise_for_status() # HTTPエラーチェック
data = response.json()
return pd.DataFrame(data[data_key]) if data_key else pd.DataFrame(data)
Series
基本的に一番使うのはこのカテゴリーだと思います。
この中でも特に、前回紹介したobservationsを使うケースがほとんどだと思います。
fred/series
指定された経済データの時系列を取得します。
url = 'https://api.stlouisfed.org/fred/series'
params = {
'series_id': 'GDP',
'api_key': api_key,
'file_type': 'json'
}
series_data = get_data(url, params)
print(series_data)
fred/series/categories
指定された経済データシリーズのカテゴリを取得します。
url = 'https://api.stlouisfed.org/fred/series/categories'
params = {
'series_id': 'GDP',
'api_key': api_key,
'file_type': 'json'
}
series_categories_data = get_data(url, params, 'categories')
print(series_categories_data)
fred/series/observations
指定された経済データシリーズの値を取得します。
url = 'https://api.stlouisfed.org/fred/series/observations'
params = {
'series_id': 'GDP',
'api_key': api_key,
'file_type': 'json'
}
series_observations_data = get_data(url, params, 'observations')
print(series_observations_data)
fred/series/release
指定された経済データシリーズのリリース情報を取得します。
url = 'https://api.stlouisfed.org/fred/series/release'
params = {
'series_id': 'GDP',
'api_key': api_key,
'file_type': 'json'
}
series_release_data = get_data(url, params)
print(series_release_data)
fred/series/search
指定されたキーワードに一致する経済データシリーズを検索します。
url = 'https://api.stlouisfed.org/fred/series/search'
params = {
'search_text': 'gdp',
'api_key': api_key,
'file_type': 'json'
}
search_results = get_data(url, params, 'seriess')
print(search_results)
fred/series/search/tags
指定されたキーワードに一致する経済データシリーズのタグを取得します。
url = 'https://api.stlouisfed.org/fred/series/search/tags'
params = {
'series_search_text': 'gdp',
'api_key': api_key,
'file_type': 'json'
}
search_tags_data = get_data(url, params, 'tags')
print(search_tags_data)
fred/series/search/related_tags
指定されたキーワードに関連するタグを持つ経済データシリーズの関連タグを取得します。
url = 'https://api.stlouisfed.org/fred/series/search/related_tags'
params = {
'series_search_text': 'gdp',
'tag_names': 'usa',
'api_key': api_key,
'file_type': 'json'
}
related_tags_data = get_data(url, params, 'tags')
print(related_tags_data)
fred/series/tags
指定された経済データシリーズのタグを取得します。
url = 'https://api.stlouisfed.org/fred/series/tags'
params = {
'series_id': 'GDP',
'api_key': api_key,
'file_type': 'json'
}
series_tags_data = get_data(url, params, 'tags')
print(series_tags_data)
fred/series/updates
経済データシリーズを、FREDサーバーで観測値が更新された時系列順に取得します。
url = 'https://api.stlouisfed.org/fred/series/updates'
params = {
'api_key': api_key,
'file_type': 'json'
}
series_updates_data = get_data(url, params, 'seriess')
print(series_updates_data)
fred/series/vintagedates
経済データシリーズのデータ値が修正されたり、新しいデータ値がリリースされた日付を取得します。
url = 'https://api.stlouisfed.org/fred/series/vintagedates'
params = {
'series_id': 'GDP',
'api_key': api_key,
'file_type': 'json'
}
vintage_dates_data = get_data(url, params, 'vintage_dates')
print(vintage_dates_data)
Categories
fred/category
指定されたカテゴリの情報を取得します。
url = 'https://api.stlouisfed.org/fred/category'
params = {
'category_id': 125,
'api_key': api_key,
'file_type': 'json'
}
category_data = get_data(url, params)
print(category_data)
fred/category/children
指定された親カテゴリの子カテゴリを取得します。
url = 'https://api.stlouisfed.org/fred/category/children'
params = {
'category_id': 125,
'api_key': api_key,
'file_type': 'json'
}
children_data = get_data(url, params, 'categories')
print(children_data)
fred/category/related
指定されたカテゴリの関連カテゴリを取得します。
url = 'https://api.stlouisfed.org/fred/category/related'
params = {
'category_id': 125,
'api_key': api_key,
'file_type': 'json'
}
related_categories_data = get_data(url, params, 'categories')
print(related_categories_data)
fred/category/series
指定されたカテゴリに含まれるシリーズを取得します。
url = 'https://api.stlouisfed.org/fred/category/series'
params = {
'category_id': 125,
'api_key': api_key,
'file_type': 'json'
}
category_series_data = get_data(url, params, 'seriess')
print(category_series_data)
fred/category/tags
指定されたカテゴリのタグを取得します。
url = 'https://api.stlouisfed.org/fred/category/tags'
params = {
'category_id': 125,
'api_key': api_key,
'file_type': 'json'
}
category_tags_data = get_data(url, params, 'tags')
print(category_tags_data)
fred/category/related_tags
指定されたカテゴリの関連タグを取得します。
url = 'https://api.stlouisfed.org/fred/category/related_tags'
params = {
'category_id': 125,
'tag_names': 'usa',
'api_key': api_key,
'file_type': 'json'
}
related_tags_data = get_data(url, params, 'tags')
print(related_tags_data)
Releases
fred/releases
全ての経済データリリース情報を取得します。
url = 'https://api.stlouisfed.org/fred/releases'
params = {
'api_key': api_key,
'file_type': 'json'
}
releases_data = get_data(url, params, 'releases')
print(releases_data)
fred/releases/dates
全ての経済データリリースのリリース日を取得します。
url = 'https://api.stlouisfed.org/fred/releases/dates'
params = {
'api_key': api_key,
'file_type': 'json'
}
release_dates_data = get_data(url, params, 'release_dates')
print(release_dates_data)
fred/release
指定された経済データリリース情報を取得します。
url = 'https://api.stlouisfed.org/fred/release'
params = {
'release_id': 53,
'api_key': api_key,
'file_type': 'json'
}
release_data = get_data(url, params)
print(release_data)
fred/release/dates
指定された経済データリリースのリリース日を取得します。
url = 'https://api.stlouisfed.org/fred/release/dates'
params = {
'release_id': 53,
'api_key': api_key,
'file_type': 'json'
}
release_specific_dates_data = get_data(url, params, 'release_dates')
print(release_specific_dates_data)
fred/release/series
指定された経済データリリースの時系列データを取得します。
url = 'https://api.stlouisfed.org/fred/release/series'
params = {
'release_id': 53,
'api_key': api_key,
'file_type': 'json'
}
release_series_data = get_data(url, params, 'seriess')
print(release_series_data)
fred/release/sources
指定された経済データリリースの情報ソースを取得します。
url = 'https://api.stlouisfed.org/fred/release/sources'
params = {
'release_id': 53,
'api_key': api_key,
'file_type': 'json'
}
release_sources_data = get_data(url, params, 'sources')
print(release_sources_data)
fred/release/tags
指定された経済データリリースのタグを取得します。
url = 'https://api.stlouisfed.org/fred/release/tags'
params = {
'release_id': 53,
'api_key': api_key,
'file_type': 'json'
}
release_tags_data = get_data(url, params, 'tags')
print(release_tags_data)
fred/release/related_tags
指定された経済データリリースの関連タグを取得します。
url = 'https://api.stlouisfed.org/fred/release/related_tags'
params = {
'release_id': 53,
'api_key': api_key,
'file_type': 'json'
}
release_related_tags_data = get_data(url, params, 'tags')
print(release_related_tags_data)
fred/release/tables
指定された経済データリリースのテーブルを取得します。
url = 'https://api.stlouisfed.org/fred/release/tables'
params = {
'release_id': 53,
'api_key': api_key,
'file_type': 'json'
}
release_tables_data = get_data(url, params, 'tables')
print(release_tables_data)
Sources
fred/sources
全ての経済データソースを取得します。
url = 'https://api.stlouisfed.org/fred/sources'
params = {
'api_key': api_key,
'file_type': 'json'
}
sources_data = get_data(url, params, 'sources')
print(sources_data)
fred/source
指定された経済データソースを取得します。
url = 'https://api.stlouisfed.org/fred/source'
params = {
'source_id': 51,
'api_key': api_key,
'file_type': 'json'
}
source_data = get_data(url, params)
print(source_data)
fred/source/releases
指定された経済データソースのリリースを取得します。
url = 'https://api.stlouisfed.org/fred/source/releases'
params = {
'source_id': 51,
'api_key': api_key,
'file_type': 'json'
}
source_releases_data = get_data(url, params, 'releases')
print(source_releases_data)
Tags
fred/tags
全てのタグ、またはキーワードによるタグの検索結果を取得します。
url = 'https://api.stlouisfed.org/fred/tags'
params = {
'api_key': api_key,
'file_type': 'json'
}
tags_data = get_data(url, params, 'tags')
print(tags_data)
fred/related_tags
指定されたタグまたは複数のタグの関連タグを取得します。
url = 'https://api.stlouisfed.org/fred/related_tags'
params = {
'tag_names': 'gdp',
'api_key': api_key,
'file_type': 'json'
}
related_tags_data = get_data(url, params, 'tags')
print(related_tags_data)
fred/tags/series
指定されたタグに一致する経済データシリーズを取得します。
url = 'https://api.stlouisfed.org/fred/tags/series'
params = {
'tag_names': 'gdp',
'api_key': api_key,
'file_type': 'json'
}
tag_series_data = get_data(url, params, 'seriess')
print(tag_series_data)
以上が、FRED APIの主要なエンドポイントについての説明と、Pythonを使用したデータの取得方法のサンプルコードになります。