dart-box

OpenDART 금융 공시 데이터를 실시간으로 가져와 JSON으로 제공합니다. 캐싱, XBRL 정규화, 필터링 기능이 포함된 RESTful API 서버입니다.

버전: 43d9ca5

핵심 기능

다층 캐싱

메모리/파일/DB 3단계 캐시로 OpenDART API 호출을 최소화하여 응답 속도 최적화

XBRL 정규화

복잡한 XBRL 데이터를 구조화된 JSON 포맷으로 자동 변환 및 계산된 필드 제공

유연한 필터링

계정명, 분류, 접두사 등 다양한 조건으로 XBRL 데이터 필터링 API 제공

스토리지 추상화

fsspec 기반으로 로컬 파일 시스템과 S3 스토리지 간 전환 지원

API 엔드포인트

엔드포인트 설명
/health 서비스 상태 확인
/krx/{stock_code}/company 회사 기본 정보
/krx/{stock_code}/filings 공시 목록 (기간, 페이지네이션)
/krx/{stock_code}/filings/{rcept_no} 공시 문서 ZIP 파일 목록
/krx/.../xbrl XBRL 요약 데이터
/krx/.../xbrl/raw XBRL 전체 데이터
/krx/.../xbrl/filter XBRL 필터링 (라벨, 접두사, 분류)

빠른 시작

1. 서버 상태 확인

$ curl https://wall.street.place/health

2. 삼성전자 회사 정보 조회

$ curl "https://wall.street.place/krx/005930/company"

3. 2024년 1월 1일 이후 공시 목록

$ curl "https://wall.street.place/krx/005930/filings?from=2024-01-01"

초기 설정

1. 회사 코드 인덱스 갱신

전체 상장법인의 회사 코드와 DART 코드 매핑을 생성합니다.

$ uv run litestar --app dart_box.app:create_app refresh-corp-index

2. 택소노미 라벨 갱신

XBRL 계정 ID와 한글 라벨 매핑을 생성합니다.

$ uv run litestar --app dart_box.app:create_app refresh-taxonomy

1. 회사 코드 인덱스 갱신

전체 상장법인의 회사 코드와 DART 코드 매핑을 생성합니다.

$ uv run litestar --app dart_box.app:create_app refresh-corp-index

2. 택소노미 라벨 갱신

XBRL 계정 ID와 한글 라벨 매핑을 생성합니다.

$ uv run litestar --app dart_box.app:create_app refresh-taxonomy