공시정보 검색

DART 공시 정보 검색

Open DART에서 제공하는 OPEN API를 이용하여 공시 정보를 검색하는 함수

search_report

dart_fss.filings.search(corp_code: str | None = None, bgn_de: str | None = None, end_de: str | None = None, last_reprt_at: str = 'N', pblntf_ty: str | List[str] | None = None, pblntf_detail_ty: str | List[str] | None = None, corp_cls: str | None = None, sort: str = 'date', sort_mth: str = 'desc', page_no: int = 1, page_count: int = 10)[source]

공시보고서 검색

Parameters:
corp_code: str, optional

공시대상회사의 고유번호(8자리), 고유번호(corp_code)가 없는 경우 검색기간은 3개월로 제한

bgn_de: str, optional

검색시작 접수일자(YYYYMMDD), 없으면 종료일(end_de)

end_de: str, optional

검색종료 접수일자(YYYYMMDD), 없으면 당일

last_reprt_at: str, optional

최종보고서만 검색여부(Y or N), default : N

pblntf_ty: str, optional

공시유형 / Open DART 공시정보 -> 공시검색 -> 상세유형 참고

pblntf_detail_ty: str, optional

공시상세유형 / Open DART 공시정보 -> 공시검색 -> 상세유형 참고

corp_cls: str, optional

법인구분 : Y(유가), K(코스닥), N(코넥스), E(기타), 없으면 전체조회

sort: str, optional

정렬, {접수일자: date, 회사명: crp, 고서명: rpt}

sort_mth: str, optional

오름차순(asc), 내림차순(desc), default : desc

page_no: int, optional

페이지 번호(1~n) default : 1

page_count: int, optional

페이지당 건수(1~100) 기본값 : 10, default : 100

Returns:
SearchResults

검색결과

Example

import dart_fss as dart

# 2019년 1월 1일부터 2019년 3월 31일까지 검색 (crp_cd 미지정시 최대 3개월만 검색가능)
reports = dart.filings.search(bgn_de='20190101', end_de='20190331')

# 2019년 1월 1일부터 2019년 3월 31일까지 검색 (페이지당 표시 건수: 100)
reports = dart.filings.search(bgn_de='20190101', end_de='20190331', page_count=100)

# 2019년 5월 1일부터 2019년 7월 1일까지 연간보고서만 검색
reports = dart.filings.search(bgn_de='20190501', end_de='20190701', pblntf_detail_ty='a001')

# 2019년 5월 1일부터 2019년 7월 1일까지 연간보고서 및 반기보고서 검색
reports = dart.filings.search(bgn_de='20190501', end_de='20190701', pblntf_detail_ty=['a001', 'a002'])

SearchResults

class dart_fss.filings.search.SearchResults(resp)[source]

DART 검색결과 정보를 저장하는 클래스

Attributes:
page_count

페이지당 표시할 리포트수

page_no

표시된 페이지 번호

report_list

list of Report: 검색된 리포트 리스트

total_count

int: 총 건수

total_page

int: 총 페이지수

Methods

pop([index])

주어진 index 의 리포트를 반환하며, 리스트에서 삭제하는 함수

to_dict()

dict 타입으로 반환

property page_count

페이지당 표시할 리포트수

property page_no

표시된 페이지 번호

pop(index=-1)[source]

주어진 index 의 리포트를 반환하며, 리스트에서 삭제하는 함수

property report_list

list of Report: 검색된 리포트 리스트

to_dict() Dict[source]

dict 타입으로 반환

Returns:
dict of str

검색 결과 dict 타입로 반환

property total_count

int: 총 건수

property total_page

int: 총 페이지수

Example

import dart_fss as dart

# 삼성전자 code
corp_code = '00126380'

# 모든 상장된 기업 리스트 불러오기
crp_list = get_corp_list()

# 삼성전자
samsung = corp_list.find_by_corp_name(corp_code=corp_code)

# 연간보고서 검색
# reports = samsung.search_filings(bgn_de='20100101', pblntf_detail_ty='a001')
reports = search_report(corp_code=corp_code, bgn_de='20100101', pblntf_detail_ty='a001')

# Reports의 Index는 0부터 시작
# 가장 최신 보고서 선택
newest_report = reports[0]

# 0-4번 보고서 선택
zero_to_fourth_report = reports[0:5]

# 짝수번째 보고서 선택
even_report = reports[::2]

# 가장 오래된 보고서 선택
oldest_report = reports[-1]