FRED API 키 하나로 끝내는 미국 경제 데이터 수집: 발급부터 파이썬 예제까지

FRED API

FRED(Federal Reserve Economic Data) 는 세인트루이스 연준이 제공하는 경제 데이터 창고입니다. 제가 이번 포스트에서 말하고자 하는 것을 먼저 결론부터 말하면, FRED API 키완전 무료である、
거의 모든 미국·세계 거시경제 지표를 코드로 끌어오는 만능 열쇠라고 생각하면 됩니다.

오늘은 API 키 발급 방법, 어떤 데이터를 무료로 얼마나 쓸 수 있는지, 파이썬에서 바로 호출하는 법까지 정리해볼게요.

FRED API 키가 뭐길래 이렇게 중요할까?

FRED API 키 설명 이미지

FRED는 세인트루이스 연준이 제공하는 서비스인데, 미국뿐 아니라 국제 경제지표까지 포함해서 80만 개가 넘는 시계열 데이터를 무료로 공개하고 있고요.

예를 들면 이런 것들을 모두 FRED API 키 하나로 가져올 수 있어요.

  • 미국 기준금리(FFR), 국채 금리, 회사채 금리
  • 실업률, GDP, 물가상승률(CPI, PCE)
  • 환율, 주택가격지수, 주식 관련 지표
  • 각종 경기 선행·동행지수, 금융 스트레스 지수 등

FRED 공식 문서에 FRED API 사용법을 보면, 카테고리/시리즈/소스/릴리스/관측값(Observations) 등을 조회하는 수십 개의 엔드포인트를 제공합니다.

つまり、 엑셀 다운로드 대신 코드로 바로 끌어올 수 있게 해주는 열쇠가 FRED API 키인 셈이죠.

FRED API 사용법, 얼마나 사용할 수 있고, 무료인가?

좋은 뉴스부터

  • 발급 비용: 0원, 완전 무료
  • 일반적인 사용 범위에서 과금 없음
  • 다만 “요청 속도 제한(rate limit)”은 존재

여러 라이브러리와 도구에서 “분당 120회 요청”을 FRED API의 기본 제한으로 가정하고 있습니다.

  • 대략적인 감각
    • 분당 120회면 → 1시간에 7,200회, 하루 수십만 건까지도 현실적으로는 충분
    • 보통 개인 프로젝트·연구·블로그용 시각화에는 전혀 부족하지 않은 수준

일일 제한 횟수는 공식 문서에 구체 숫자가 명시돼 있지 않고, 정책은 바뀔 수 있으니
중요한 서비스에 붙이기 전에 FRED API Terms of Use와 문서를 꼭 확인하는 게 좋습니다.

또, 어떤 플랫폼(예: 워크플로 도구)에서는 API 키 없이도 시간당 2,000회 정도까지 호출 허용을 언급하기도 하는데,
이건 그 플랫폼의 정책일 뿐, FRED 공식 정책은 아니라는 점만 기억해 두면 됩니다.

FRED API 키 발급 절차

FRED API 키 발급 절차 이미지

이제 핵심인 “API 키 발급” 단계예요.
실제 화면 기준으로 정리하면 대략 이런 흐름입니다.

1. FRED 계정 만들기

  1. FRED 사이트 접속
    • 주소: https://fred.stlouisfed.org/
  2. 오른쪽 상단 My Account クリック
  3. 새 창에서 Create New Account 선택
  4. 이메일 또는 Google 계정으로 가입
  5. 메일 인증까지 마치면 계정 생성 완료

2. API 키 페이지로 이동

  1. 다시 오른쪽 상단 My Account → API Keys 메뉴 선택
  2. API Keys 화면 중앙에 “Request API Key” または + Request API Key 버튼이 보일 거예요.

3. API 키 요청하기

API 키 요청하기
  1. 다음과 같이 사용 목적을 간단히 영어로 적습니다.
    • I use it for personal analysis and research.
  2. 약관 동의 체크
  3. Request API Key ボタンクリック

잠시 후 같은 페이지에서 새로운 API 키 문자열 를 확인할 수 있습니다.

🔐 중요

  • 이 키는 “비밀번호”급 민감정보입니다.
  • 깃허브, 블로그, 노션 등에 그대로 올리면 안 돼요.
  • .env 파일 또는 환경 변수로 숨겨두는 습관을 꼭 들이세요.

이 API 키로 받을 수 있는 데이터 종류

FRED API는 크게 “뭘 기준으로 찾느냐”에 따라 여러 엔드포인트로 나뉩니다.

대표적인 것만 골라보면 다음과 같습니다.

1. 카테고리 탐색 (어떤 지표가 있는지 둘러보기)

  • fred/category : 특정 카테고리 정보
  • fred/category/children : 하위 카테고리 목록
  • fred/category/series : 카테고리 안의 시리즈 목록

예를 들어, “실업률 관련 지표가 뭐가 있지?” 처럼 구경부터 할 때 유용합니다.

2. 시리즈/관측값(Observations) 가져오기

  • fred/series : 하나의 경제지표(시리즈) 상세 정보
    예: “미국 실업률”이란 이름, 빈도(월/분기), 단위(%), 설명 등
  • fred/series/observations : 해당 시리즈의 실제 시계열 데이터
    • 특정 기간(start_date, end_date) 지정 가능
    • 빈도(frequency), 단위(units) 변환 가능 (월→분기, 수준→증감률 등)

3. 소스·릴리스별 데이터

  • fred/source, fred/sources : 데이터 출처(예: BLS, BEA 등)
  • fred/releases : FOMC 발표, GDP 발표처럼 릴리스 단위로 묶인 데이터
  • fred/release/series : 특정 릴리스에 포함된 모든 시리즈

정리하면, “어디 소속인지까지 포함된 완전한 경제지표 카탈로그”를 API로 다 뒤질 수 있다고 보면 됩니다.

API 키 넣는 방법 (쿼리 파라미터 vs 헤더)

버전과 예제에 따라 두 가지 패턴이 등장합니다.

1. URL 파라미터 방식 (전통적, v1 스타일)

공식 문서의 오래된 예시는 보통 이렇게 나옵니다.

https://api.stlouisfed.org/fred/series?series_id=GNPCA&api_key=YOUR_API_KEY&file_type=json
  • api_key=YOUR_API_KEY
  • file_type=json 으로 JSON 응답을 받도록 설정

2. Authorization 헤더 방식 (v2 권장 스타일)

FRED API v2 문서에서는 Bearer 토큰 방식도 안내합니다.

GET /fred/series?series_id=GNPCA HTTP/1.1
Host: api.stlouisfed.org
Authorization: Bearer YOUR_API_KEY

실무에서는

  • 클라이언트/라이브러리에서 헤더 방식을 쓰는 경우가 점점 늘고 있고,
  • 간단한 실험/테스트에는 URL 파라미터 방식이 여전히 편합니다.

파이썬으로 FRED API 첫 호출 해보기

FRED API 첫 호출 해보기 이미지

워드프레스 포스트에 넣기 좋게,
가장 단순한 실업률 데이터 호출 예제를 파이썬 코드로 한 번 넣어볼게요.

⚠️ 실제로는 YOUR_API_KEY 대신 발급받은 키를 .env 등에 숨겨 두시고 가져다 쓰는 게 안전합니다.

import os
import requests

FRED_API_KEY = os.getenv("FRED_API_KEY")  # .env 또는 OS 환경변수에 저장했다고 가정
BASE_URL = "https://api.stlouisfed.org/fred"

def get_unemployment_rate():
    """
    미국 실업률(UNRATE) 시계열을 FRED API에서 가져오는 간단 예제
    """
    url = f"{BASE_URL}/series/observations"
    params = {
        "series_id": "UNRATE",   # 미국 실업률 시리즈 ID
        "api_key": FRED_API_KEY,
        "file_type": "json",
        "observation_start": "2015-01-01",
        "observation_end": "2025-12-31",
    }
    resp = requests.get(url, params=params, timeout=10)
    resp.raise_for_status()
    data = resp.json()

    observations = data.get("observations", [])
    # 최근 5개만 출력
    for obs in observations[-5:]:
        print(obs["date"], obs["value"])

if __name__ == "__main__":
    get_unemployment_rate()



# .env 파일 내용 (프로젝트 루트에 생성)
"""
FRED_API_KEY=your_actual_api_key_here
BASE_URL=https://api.stlouisfed.org/fred
"""

# 메인 Python 코드 (fred_unemployment.py)
import os
from dotenv import load_dotenv
import requests
from typing import List, Dict, Optional

# .env 파일 자동 로드 (프로젝트 루트 기준)
load_dotenv()

용어 정리

  • FRED
    Federal Reserve Economic Data의 약자.
    미국 세인트루이스 연준이 운영하는 거시경제 데이터 플랫폼.
  • FRED API
    FRED에 올라온 데이터를 프로그램(코드)에서 바로 요청해서 가져올 수 있게 해주는 웹 API.
  • FRED API 키
    FRED API를 사용할 때 “누가 호출하는지” 식별하기 위한 비밀 키.
    무료로 발급받을 수 있고, 모든 요청에 함께 실어 보내야 함.
  • 시리즈(Series)
    하나의 경제지표(예: 미국 실업률, 미국 GDP, 10년물 국채금리).
    각 시리즈는 고유한 series_id를 가짐.
  • 관측값(Observations)
    시리즈에 속한 실제 숫자 데이터.
    はい: 2024-01-01, 3.7 처럼 날짜와 값의 조합.
  • 카테고리(Category)
    시리즈를 분류하는 상위 그룹.
    예: 노동시장, GDP·소득, 물가·인플레이션 등.
  • 릴리스(Release)
    “이번 분기 GDP 발표”처럼 하나의 공표 이벤트에 묶인 데이터 묶음.

오늘 소개한 이슈 외에 Alpha Vantage 서비스도 많이 사용하는데 한번 살펴보셔도 좋을 것 같습니다.

類似の投稿