📚 투자 공부방 · 실전 도구
과거 주가 데이터 받는 법 — KRX 엑셀·CSV 다운로드와 Open API
주식 데이터 무료로 보는 곳 편에서 어떤 데이터가 어느 사이트에 있는지를 정리했습니다. 그 글은 지도였습니다. 오늘은 그 지도를 들고 실제로 파일을 내려받는 이야기입니다.
그런데 막상 해 보면 지도만으로는 안 되는 지점이 있습니다. 이런 것들입니다.
- “삼성전자 1년치 종가”는 30초면 받는데, “전 종목 1년치”는 아무리 찾아도 그런 버튼이 없다
- 같은 시세인데 어떤 화면에는 「수정주가 적용」 체크박스가 있고 어떤 화면에는 없다
- 매일 손으로 받다 지쳐 자동으로 받는 길(Open API)을 신청했는데, 열쇠까지 받았는데도 문이 하나도 열리지 않는다
앞의 둘은 거래소가 데이터를 내주는 방식이 우리 머릿속 그림과 다르기 때문에 생기고, 셋째는 신청이 두 단계라는 것을 몰라서 생깁니다. 두 가지를 먼저 알아 두면 나머지는 절차 문제로 줄어듭니다.
데이터는 ‘하루치’와 ‘한 종목치’로만 나온다
우리가 원하는 표는 대개 가로가 날짜, 세로가 종목인 2차원 표입니다. 위쪽에 날짜가 옆으로 늘어서고(1월 2일, 1월 5일, …), 왼쪽에 종목이 아래로 늘어선(삼성전자, SK하이닉스, …) 모양입니다. 칸마다 그날 그 종목의 종가가 하나씩 들어갑니다. 종목 2,000개 × 날짜 244개 같은 것이죠.
그런데 거래소가 내주는 단위는 언제나 그 표의 ‘한 줄’입니다. 방향이 둘뿐입니다. 아래의 ‘하루치·한 종목치’는 이 구조를 설명하려고 이 글에서 붙인 말입니다. 거래소 화면에는 이 표현이 없으니, 화면은 뒤에 나오는 실제 이름으로 찾으셔야 합니다.
- 하루치 — 날짜 하나를 지정하면 그날 전 종목이 나옵니다. 표의 세로 한 줄입니다.
- 한 종목치 — 종목 하나를 지정하면 그 종목의 여러 날짜가 나옵니다. 표의 가로 한 줄입니다.
받아 보면 이 ‘가로 한 줄’은 대개 세워진 모양으로 옵니다 — 파일에서는 날짜가 아래로 늘어섭니다. 모양은 달라도 ‘종목 하나 × 여러 날짜’라는 내용은 같습니다.
둘을 동시에 넓히는 화면, 즉 “전 종목 × 1년치”를 한 번에 주는 무료 화면은 없습니다. 그래서 넓은 표가 필요하면 한 줄씩 여러 번 받아 직접 이어 붙이는 수밖에 없습니다. 뒤에서 이 ‘여러 번’이 몇 번인지 세어 보겠습니다.
이 구조를 모르고 들어가면 “메뉴를 잘못 찾았나” 하며 한참 헤매게 됩니다. 메뉴를 잘못 찾은 게 아니라 그런 메뉴가 없는 것입니다.
화면별 조회 조건 — 무엇을 넣으면 무엇이 나오나
KRX(Korea Exchange, 한국거래소)가 운영하는 KRX Data Marketplace(data.krx.co.kr)에서 주식 통계는 [통계] → [기본통계] → [주식] 아래에 있습니다. 일별 시세는 그 안의 [종목시세]에, 종목 자체의 정보는 옆에 있는 [종목정보]에 나뉘어 있습니다. 이름이 비슷해서 헷갈리는데, 넣는 값을 기준으로 보면 성격이 갈립니다.
| 화면 | 넣는 것 | 나오는 것 | 받는 단위 |
|---|---|---|---|
| 전종목 시세 | 조회일자 하루 | 그날 전 종목의 시가·고가·저가·종가와 거래량 | 하루치 |
| 전종목 등락률 | 조회기간(시작일·종료일) | 종목별로 그 기간 전체의 등락률 | 하루치(양끝 비교) |
| 개별종목 시세 추이 | 종목 하나 + 조회기간 | 그 종목의 날짜별 시세 | 한 종목치 |
| 종목 시세 추이(월/연도) | 시장 또는 종목 하나 + 월·연도 | 월별·연도별 종가·거래량과 변동성 지표 | 한 종목치 |
| 자기주식 제외 시가총액 | 시장 + 조회일자 | 자기주식을 뺀 시가총액 | 하루치 |
| 전종목 기본정보 | 시장 + 증권 구분 | 상장일·주식수 등 종목 정보 | — |
| 개별종목 종합정보 | 종목 하나 | 그 종목의 요약 화면 | — |
마지막 두 줄은 [종목시세]가 아니라 옆 메뉴 [종목정보] 아래에 있습니다. 같은 [주식] 밑이지만 칸이 다릅니다.
여기서 제일 오해가 잦은 게 「전종목 등락률」입니다. 이름에 ‘전종목’이 있고 조회기간도 받으니 “전 종목 × 기간 데이터”를 줄 것 같지만, 나오는 건 기간의 처음과 끝을 비교한 등락률입니다. 그 기간 안의 날짜별 시세는 들어 있지 않습니다.
조회할 수 있는 가장 오래된 시점도 화면마다 다릅니다. 「종목 시세 추이(월/연도)」의 연도 선택은 2026년 9월 현재 2014년까지만 내려갑니다(2014~2026년 13개 연도). 뒤에서 볼 Open API가 2010년 1월 4일부터인 것과 다릅니다. “웹 화면에 없으니 데이터가 없다”고 결론 내리기 전에 API 쪽을 봐야 하는 이유입니다.
실제로 내려받는 절차
1단계 — 로그인
2025년 12월 27일 개편으로 조회 자체에 로그인이 필요해졌습니다. 이때 사이트 이름도 ‘정보데이터시스템’에서 지금의 이름으로 바뀌었습니다. 네이버·카카오 아이디로 가입할 수 있고 조회와 다운로드는 종전대로 무료입니다.
유료 영역은 상단 데이터 상품 메뉴에 따로 모여 있습니다. 통계 메뉴에서 조회한 것을 내려받는 데 돈이 드는 게 아닙니다.
2단계 — 조회 조건을 넣고 조회
앞의 표에서 고른 화면에 들어가 시장·종목·일자를 지정하고 조회 버튼을 누릅니다. 화면 아래 표에 결과가 채워집니다.
⚠️ 이 단계에서 결과가 비어 있으면 대개 조건이 문제입니다. 지정한 날이 휴장일이거나(주말·공휴일에는 시세가 없습니다), 그 화면이 허용하는 가장 오래된 시점보다 앞을 넣은 경우입니다. 거래소는 이런 경우 오류를 띄우는 대신 빈 표를 보여 주는 쪽이라, 데이터가 없는 것과 조건이 틀린 것이 화면에서 똑같아 보입니다.
3단계 — 다운로드 팝업
조회 결과 표의 오른쪽 위에 다운로드 팝업이라는 버튼이 있습니다. 이걸 누르면 형식을 고르는 창이 뜨고, 엑셀·CSV·PDF 중에서 받을 수 있습니다.
엑셀과 CSV의 차이는 이렇습니다.
- 엑셀 — 서식이 그대로 옵니다. 한 번 보고 끝낼 자료에 편합니다.
- CSV(Comma-Separated Values, 쉼표로 구분된 값) — 서식 없는 순수 텍스트입니다. 여러 파일을 이어 붙여 쌓을 계획이라면 이쪽입니다. 여러 파일을 한 번에 합치기도 쉽습니다.
한 가지 더. 받은 파일에서 종목코드가 숫자로 인식되면 앞자리 0이 날아갑니다. 삼성전자 005930이 5930이 되는 문제입니다. CSV를 엑셀에서 바로 여는 대신 「데이터 → 텍스트/CSV에서 가져오기」로 열고 종목코드 열을 텍스트로 지정해야 합니다.
기간이 길면 나눠 받아야 한다
이제 앞의 구조가 실제 작업량으로 바뀌는 지점입니다. 1년치 일별 시세를 모으려면 몇 번 받아야 할까요? 답은 종목 수를 세기 전에 “어느 단위로 받을지”를 먼저 정해야 나옵니다.
한 종목치는 종목 수만큼, 하루치는 개장일 수만큼입니다. 「개별종목 시세 추이」로 종목마다 한 번씩 받으면 종목 1개는 1회, 10개는 10회, 100개는 100회, 500개면 500회입니다. 반면 「전종목 시세」로 날짜마다 받으면 종목이 100개든 500개든 2026년 개장일 수인 244회로 고정입니다.
그래서 종목이 몇 개 안 되면 한 종목치가 횟수가 훨씬 적고, 종목이 많아지면 하루치가 적어집니다. 갈리는 지점은 개장일 수입니다 — 관심 종목이 244개를 넘으면 종목마다 받는 것보다 날짜마다 전 종목을 받아 필요한 행만 골라내는 쪽이 횟수가 적습니다.
그래서 실무에서는 목적에 따라 이렇게 갈립니다.
| 하려는 일 | 어느 단위로 | 몇 번 |
|---|---|---|
| 보유 종목 몇 개의 장기 추이 | 한 종목치 | 종목 수만큼 |
| 특정 하루의 시장 전체 목록 | 하루치 | 1번 |
| 52주 신고가·신저가 같은 전 종목 계산 | 하루치 | 개장일 수만큼 |
마지막 줄이 이 편을 쓴 이유이기도 합니다. “어제 52주 최저가를 찍은 종목 목록”처럼 전 종목을 같은 잣대로 줄 세우는 계산은 무료 화면 한 번으로는 절대 나오지 않습니다. 1년치 × 전 종목을 손에 쥐고 직접 계산해야 하고, 그건 위 표의 마지막 줄만큼 파일을 받는다는 뜻입니다. 이쯤 되면 손으로 하기 어려워지고, 그래서 다음 절의 Open API가 나옵니다.
반대로 날짜별로 안 받아도 되는 경우가 있습니다. 「종목 시세 추이(월/연도)」는 날짜별이 아니라 월별·연도별로 묶어 주므로, 10년 추세의 모양만 보려면 날짜별 파일을 쌓을 필요가 없습니다. 날짜별 정밀도가 꼭 필요한지 먼저 물어보는 것이 가장 힘이 덜 드는 지름길입니다.
⚠️ 「수정주가 적용」이 화면마다 다르다
여기가 초보와 경험자의 결과가 갈리는 지점입니다.
수정주가는 액면분할·병합(주식을 합치는 것)·증자(주식을 새로 찍는 것)처럼 주식 수가 바뀐 사건을 과거 주가까지 거슬러 올라가 함께 고친 값입니다. 날짜순으로 이어 붙였을 때 흐름이 끊기지 않게 만드는 것이죠. 예를 들어 1주를 10주로 쪼갠 액면분할이 있었다면, 분할 전 100,000원은 수정주가로 10,000원이 됩니다. 이렇게 고쳐 두지 않으면 분할일 하루에 주가가 90% 폭락한 것처럼 보입니다.
문제는 화면마다 이 처리가 다르다는 점입니다. 갈리는 기준은 그 화면이 기간을 받는지입니다.
기간을 받는 화면 — 「전종목 등락률」과 「개별종목 시세 추이」 — 에는 수정주가 적용 체크박스가 있고 둘 다 기본값이 체크된 상태입니다(2026년 9월 확인). 「개별종목 시세 추이」에는 수정주가 기준일을 고르는 칸까지 있습니다. 반면 하루치만 주는 「전종목 시세」에는 그 선택지가 없습니다 — 하루치에는 거슬러 올라갈 과거가 없으니 당연합니다.
여기서 함정이 생깁니다. 하루치를 244번 받아 이어 붙이면, 그렇게 만든 표에는 수정주가가 적용되지 않습니다. 각 파일은 그날의 실제 거래 가격이고, 그 사이에 분할이 있었다면 그래프가 그 지점에서 절벽처럼 떨어져 보입니다. 체크박스가 눌러 주던 일을, 이어 붙일 때는 내가 해야 한다는 뜻입니다.
★그래서 종목이 몇 개뿐이라면 「개별종목 시세 추이」로 받는 것이 수정주가까지 한 번에 해결됩니다. 하루치를 쌓아 만드는 방식은 전 종목이 꼭 필요할 때만 쓰고, 그때는 수정주가를 직접 맞춰야 한다고 생각하시면 됩니다.
확인 방법은 하나뿐입니다. 주식 수가 바뀐 이력을 따로 조회해 대조하는 것입니다. 액면분할·병합·증자는 일어날 때마다 공시되므로 회사별 이력은 DART 공시 보는 법 편의 경로로 찾을 수 있고, 각 사건의 기준가격이 어떻게 조정되는지는 가격제한폭 편에 계산식까지 정리해 두었습니다.
왜 거래소가 다 해 주지 않나요?
수정주가는 ‘사실’이 아니라 ‘가공’입니다. 어떤 사건을 반영할지(분할·병합만? 유상증자도? 배당도?), 어느 시점 기준으로 환산할지에 따라 값이 달라집니다. 그래서 원자료를 주는 쪽은 실제 거래된 가격을 그대로 주고, 가공은 선택지로 두는 편이 안전합니다. 증권사 앱과 포털의 과거 차트가 서로 조금씩 다른 이유도 대개 여기 있습니다.
Open API — 손으로 받기를 그만두고 싶을 때
1년치를 모으자고 파일 244개를 손으로 받을 사람은 없습니다. 거래소는 같은 데이터를 프로그램으로 받을 수 있는 Open API(Application Programming Interface, 프로그램끼리 데이터를 주고받는 규격)를 openapi.krx.co.kr에서 무료로 제공합니다. 지수·주식·증권상품·채권·파생상품·일반상품·ESG 일곱 부문으로 나뉘어 있고, 부문별 목록은 주식 데이터 무료로 보는 곳 편에 정리해 두었습니다.
신청은 두 단계다 — 여기서 대부분 막힌다
인증키를 받는 것과 특정 API를 쓸 수 있게 되는 것이 별개의 절차입니다.
- 인증키 신청 — 회원가입·로그인 후 마이페이지에서 신청합니다(인증키는 내가 누군지 증명하는 비밀번호 같은 문자열입니다). 담당자 승인이 필요합니다.
- API별 활용 신청 — 쓰려는 서비스를 하나씩 따로 신청해 승인을 받습니다.
2단계를 건너뛰면 키가 유효한데도 호출이 전부 막힙니다. “키를 잘못 발급받았나”로 오해하기 쉬운 자리인데, 실제로는 그 서비스 하나에 대한 승인이 없는 것입니다. 예컨대 코스피 일별 시세를 받으려면 「유가증권 일별매매정보」를 따로 신청해야 하고, 코스닥까지 필요하면 「코스닥 일별매매정보」를 또 신청해야 합니다.
이용 조건 — 이용약관에 적힌 숫자
이 부분은 거래소의 API 이용약관에 명시돼 있어 추측할 필요가 없습니다(2026년 9월 확인).
| 항목 | 내용 | 근거 |
|---|---|---|
| 호출 한도 | 하나의 키당 1일(매일 0시~24시) 10,000회 이하 | 제8조 제4항 |
| 이용기간 | 인증키 제공일부터 1년, 만료 전 요청 시 1년 단위 연장 | 제5조 제3항 |
| 인증키 관리 | 12개월 미사용 시 사전 공지 없이 삭제될 수 있음 | 제8조 제5항 |
| 대상기간 | 대부분 2010년 1월 4일 이후(코넥스 2013년 7월 등 예외) | 서비스 목록 |
호출 1회가 주는 것은 ‘하루치 전 종목’이다
API도 웹 화면과 같은 하루치 단위입니다. 기준일자를 하나 넣으면 그날의 전 종목이 돌아옵니다. 종목코드를 넣어 “삼성전자 1년치”를 한 번에 받는 형태가 아닙니다.
그래서 종목 하나의 1년치가 필요해도 날짜마다 한 번씩 호출해서 그중 원하는 종목 행만 골라내야 합니다. 처음에는 비효율로 보이지만, 뒤집어 보면 한 번 받은 하루치 안에 전 종목이 이미 들어 있다는 뜻입니다. 종목 100개의 1년치가 필요하다면 100 × 244가 아니라 244번으로 끝납니다 — 받아 둔 하루치를 다시 쓰면 되기 때문입니다.
하루 한도 10,000회를 날짜로 환산해 보면 이렇습니다. 1년치가 244회, 5년치가 약 1,220회, 2010년 이후 전체를 처음부터 받아도 약 4,070회입니다(16년 × 244일에 올해분을 더한 어림값입니다).
2010년 이후 전체 시세를 처음 한 번 긁어 오는 작업이 하루 한도의 절반도 쓰지 않습니다. 즉 한도가 문제가 되는 상황은 “역사를 처음 받는 것”이 아니라, 같은 날짜를 종목마다 다시 호출하는 낭비입니다. 하루치를 받아 두고 재사용하는 것만으로 대부분 해결됩니다.
이 방식을 그대로 옮긴 파이썬 예제를 GitHub에 공개해 두었습니다. 날짜마다 받은 하루치를 파일로 남겨 두고 필요한 종목 행만 골라내므로, 다른 종목을 같은 기간으로 다시 돌리면 호출 없이 끝납니다. 따로 설치할 것이 없고, 활용신청이 빠져 호출이 막히면 무엇을 신청해야 하는지 안내합니다. 앞에서 본 수정주가 함정도 챙깁니다 — 이어 붙인 시세에서 상장주식수가 크게 바뀐 날을 찾아 경고하는데, 2018년 5월 4일 삼성전자 50:1 액면분할 구간으로 돌리면 전날 2,650,000원이던 종가가 51,900원으로 이어지는 바로 그날을 짚어 냅니다.
한 가지 실무 주의. API는 당일 데이터를 주지 않습니다. 오늘 날짜를 넣으면 0행이 돌아오고, 직전 거래일 데이터도 다음 날 오전 8시가 지나야 열립니다. 그래서 자동으로 돌리는 프로그램은 오전 8시 이후에 어제 날짜까지 채우는 식으로 짜야 합니다. 0행은 오류가 아니라 휴장일이거나 아직 공개 전이라는 뜻이니, 0행이 온 날은 저장하지 말고 나중에 다시 부르면 됩니다. 투자자별 매매동향의 공표 시점 이야기는 외국인·기관 수급 편에 정리해 두었습니다.
⚠️ 2026년 9월 14일부터 거래소의 하루는 저녁 8시까지입니다. 한국거래소가 시간외 단일가매매를 폐지하고 오후 4시~8시 애프터마켓을 신설했습니다(대체거래소 NXT와 KRX 애프터마켓 편). 정규장 시간(09:00~15:30)은 그대로입니다. API는 원래 다음 날 아침에 전날 것을 여는 구조라, 이 변화 뒤의 날짜로 호출해 봐도 ‘오전 8시 이후에 어제 것까지’라는 규칙은 그대로였습니다.
자동화의 한계는 기술이 아니라 규정이다
“화면이 불편하니 웹페이지를 프로그램으로 긁으면 되지 않나”라는 생각이 자연스럽게 따라옵니다. 여기서 선을 그어야 합니다. 막는 것은 기술적 난이도가 아니라 이용약관입니다.
KRX Data Marketplace 홈페이지 이용약관은 금지행위에 이렇게 적어 두었습니다(2026년 9월 확인).
제10조(금지행위) ② 자동화 수단을 이용하여 정보를 무단 수집·복제·배포하는 행위
같은 약관 제12조 제2항은 “이용자는 당 사이트의 정보를 거래소의 사전 허락 없이 복사·복제·배포·전송·공중송신하여서는 아니 됩니다”라고 정하고 있습니다. 2025년 12월 개편에서 로그인이 필수화된 명분 자체가 AI 봇의 무단 수집으로 인한 서버 과부하였습니다.
그래서 자동화가 필요하면 긁어 오기(스크래핑)가 아니라 Open API가 정답입니다. 다만 API에도 약관상 제약이 붙습니다.
- 비상업 목적만 — 받은 데이터로 남에게 대가를 받는 일에는 쓸 수 없습니다(제6조 제2항)
- 제3자 제공 금지 — 받은 정보를 남에게 넘길 수 없습니다(제11조 제2항)
- 출처 표시 의무 — 결과로 화면을 만들면 그 화면에 “한국거래소 통계정보”를 사용한 결과임을 명시해야 합니다(제10조 제3항)
- 인증키 양도 금지 — 키를 남에게 넘기거나 담보로 쓸 수 없습니다(제7조 제5호)
정리하면 개인이 자기 공부와 분석에 쓰는 것은 열려 있고, 받은 데이터를 재판매하거나 남에게 넘기는 것은 닫혀 있습니다. 블로그에 표를 하나 올리는 정도라도 출처를 적어 두는 습관이 필요합니다.
시세가 아니라 기업 실적·공시가 필요하다면 다른 문이 있습니다. 금융감독원 OpenDART는 개인에게 즉시 발급되고 일일 2만 건이라 조건이 더 넉넉합니다 — 경로는 DART 공시 읽는 법 편에, 공매도 데이터의 시차 문제는 공매도 데이터 보는 법 편에 있습니다.
정리
- 거래소가 데이터를 내주는 단위는 두 가지뿐입니다. 날짜 하나에 전 종목(전종목 시세), 또는 종목 하나에 여러 날짜(개별종목 시세 추이). “전 종목 × 1년치”를 한 번에 주는 무료 화면은 없습니다.
- 「전종목 등락률」은 조회기간을 받지만 기간 양끝을 비교한 등락률을 줍니다. 그 안의 날짜별 시세는 들어 있지 않습니다.
- 내려받기는 로그인 → 조회 →
다운로드 팝업세 단계이고 엑셀·CSV·PDF 중에서 고릅니다. 쌓아 갈 자료면 CSV, 종목코드 앞자리 0이 날아가지 않게 텍스트로 가져오기를 씁니다. - 1년치를 모으는 횟수는 받는 단위에 따라 갈립니다. 2026년 개장일이 244일이므로 관심 종목이 244개를 넘으면 하루치가 유리합니다.
- 「수정주가 적용」은 기간을 받는 화면(전종목 등락률·개별종목 시세 추이)에만 있고 기본값이 체크입니다. 하루치를 이어 붙여 만든 표에는 적용되지 않으니, 종목이 몇 개뿐이면 「개별종목 시세 추이」로 받는 편이 낫습니다.
- Open API 신청은 두 단계(인증키 + API별 활용신청)이고, 하루 10,000회·유효기간 1년·12개월 미사용 시 삭제, 대상기간은 대부분 2010년 1월 4일 이후입니다. 호출 1회가 주는 것은 기준일자 하루치 전 종목입니다.
- 웹페이지 자동 수집은 약관상 금지입니다. 자동화가 필요하면 Open API를 쓰고, 비상업 목적·제3자 제공 금지·출처 표시 조건을 지켜야 합니다.
- 이 글이 다루는 범위는 국내 상장 종목의 ‘일별’ 데이터까지입니다. 미국·해외 주식 시세는 한국거래소가 만드는 데이터가 아니라 이 경로로는 나오지 않고, 장중 분·시간 단위 시세도 위 화면들이 주는 단위가 아닙니다. 여기서 받는 것은 하루에 한 줄이 원칙입니다.
매일 아침 브리핑에 실리는 지수·수급·거래대금 수치도 이 경로들에서 나옵니다. 오늘 정리한 절차대로 하루치를 직접 받아 보면, 브리핑의 숫자가 어떤 파일의 어느 열이었는지가 눈에 들어옵니다.
다음 편에서는
다음 공부방 글에서는 주식 결제일 D+2를 다룹니다. 체결과 결제가 다른 날에 일어난다는 것, 그래서 매도 대금을 실제로 출금할 수 있는 시점과 다시 매수할 수 있는 시점이 어떻게 갈리는지, 휴장일이 끼면 며칠씩 밀리는 계산은 어떻게 하는지를 정리하겠습니다. 오늘 “휴장일에는 시세가 없다”는 이야기가 나왔는데, 그 휴장일이 내 돈의 이동에는 어떻게 작용하는지 보는 편입니다.
📊 데이터 출처 및 기준일
- KRX Data Marketplace 개편 — 2025년 12월 27일부터 기존 ‘정보데이터시스템’이 회원제로 전환되어 데이터 조회 시 로그인 필요(네이버·카카오 간편 로그인 가능), 조회·다운로드는 무료 유지, 사유는 AI 봇 무단 수집에 따른 서버 과부하 대응, 유료 영역은
데이터 상품메뉴: 본 사이트 주식 데이터 무료로 보는 곳 편과 같은 근거(글로벌이코노믹 2025년 12월 7일 보도 및 data.krx.co.kr 확인) 2026년 9월 8일 재확인. [통계] → [기본통계] → [주식]아래에서 [종목시세]에 「전종목 시세」·「전종목 등락률」·「개별종목 시세 추이」·「종목 시세 추이(월/연도)」·「자기주식 제외 시가총액」 5개가, 형제 메뉴 [종목정보]에 「전종목 기본정보」·「전종목 지정내역」·「개별종목 종합정보」가 있다: data.krx.co.kr 메뉴 트리의data-menu-id(종목시세 MDC02010201xx / 종목정보 MDC02010202xx)와 사이트가 화면에 표시하는 경로 문구(“통계 > 기본 통계 > 주식 > 종목시세 > 전종목 시세”, ”… > 종목정보 > 개별종목 종합정보”) 2026년 9월 8일 확인. 메뉴 구성과 화면명은 사이트 개편에 따라 변경될 수 있습니다.- 「전종목 시세」의 조회 조건이 ‘조회일자’ 하루 하나이고, 「전종목 등락률」은 ‘조회기간’(시작일·종료일)을 받는다: 두 화면의 조회 조건 입력 항목을 2026년 9월 8일 직접 확인(각각 조회일자 단일 입력 / 시작일·종료일 두 입력). 「개별종목 시세 추이」의 ‘종목 하나 + 조회기간’도 화면 정의(MDCSTAT017)의 입력 항목
strtDd·endDd와 종목 검색창으로 직접 확인했습니다(직전 회차에서 미확인으로 남겼던 항목입니다). 「개별종목 종합정보」(MDCSTAT021)는 입력이 종목 검색창 하나뿐이고 ‘일자’는 결과표의 열입니다. 「종목 시세 추이(월/연도)」(MDCSTAT018)는 대상선택이 ‘시장별 / 개별종목’ 라디오라 종목이 필수가 아닙니다. - 기간을 받는 「전종목 등락률」·「개별종목 시세 추이」에
수정주가 적용체크박스가 있고 둘 다 기본값이 체크 상태다(「개별종목 시세 추이」에는수정주가 기준일도 있다). 하루치만 주는 「전종목 시세」에는 해당 선택지가 없다: 세 화면의 조회 조건 영역 2026년 9월 8일 직접 확인(MDCSTAT017의<input type="checkbox" name="adjStkPrc_check" value="Y" checked>·adjBasDd, MDCSTAT016 동일 구성, MDCSTAT015 없음). 하루치에 수정주가 선택지가 없는 이유(소급할 과거가 없음)와 “하루치를 이어 붙이면 수정주가가 적용되지 않는다”는 서술은 이 구성에서 따라오는 본 글의 설명이며 거래소 안내문의 표현이 아닙니다. - 「종목 시세 추이(월/연도)」의 연도 선택 범위가 2014~2026년 13개 연도다: 해당 화면의 연도 선택 항목 2026년 9월 8일 확인. 다른 화면의 조회 가능 시작 시점은 화면마다 다르며 서버에서 제한합니다.
- 조회 결과를
다운로드 팝업버튼으로 내려받고 형식은 엑셀·CSV·PDF: 해당 버튼 명칭은 통계 화면에서 2026년 9월 8일 확인, 제공 형식(EXCEL·CSV·PDF)은 data.krx.co.kr 이용안내 2026년 9월 확인. - KRX OPEN API 이용약관 — 호출 한도(제8조 제4항 “하나의 키당 1일(매일 0시~24시) 10,000회 이하의 요청으로 제한하며, 이를 초과할 경우 서비스가 중지될 수 있다”), 이용기간(제5조 제3항 “인증키를 제공한 날부터 1년으로 하며, 이용기간 만료 전에 이용자의 연장요청이 있는 경우 1년 단위로 연장”), 인증키 삭제(제8조 제5항 “12개월간 미사용시 사전 공지 없이 삭제될 수 있다”), 서비스 시간(제5조 제5항 연중무휴 1일 24시간 원칙), 비상업 목적 제한(제6조 제2항), 제3자 제공 금지(제11조 제2항), 출처 표시 의무(제10조 제3항 “‘한국거래소 통계정보’를 사용한 결과임을 명시”), 인증키 양도·담보 금지(제7조 제5호): KRX OPEN API 이용약관 원문 2026년 9월 8일 확인. 조문 번호와 인용 문구는 약관 전문에서 직접 대조했습니다.
- KRX Data Marketplace 홈페이지 이용약관 — 제10조(금지행위) 제2호 “자동화 수단을 이용하여 정보를 무단 수집·복제·배포하는 행위”, 제12조(이용자의 의무) 제2항 “이용자는 당 사이트의 정보를 거래소의 사전 허락 없이 복사·복제·배포·전송·공중송신하여서는 아니 됩니다”: 홈페이지 이용약관 원문 2026년 9월 8일 확인.
- Open API 신청이 ①인증키 신청과 ②API별 활용신청 두 단계이고, 활용신청 없이 호출하면 키가 유효해도 거부된다. 인증은 요청 헤더
AUTH_KEY필드, 응답은 JSON·XML: KRX OPEN API 「서비스 이용방법」 및 「유가증권 일별매매정보」 서비스 안내(openapi.krx.co.kr) 2026년 9월 8일 확인. 두 단계 구조에서 새 이용자가 가장 흔히 막힌다는 서술은 같은 API의 공개 클라이언트 라이브러리 문서(krx-reader) 설명으로 교차확인했습니다. - 호출 1회가 기준일자 하루치 전 종목을 반환하며, 종목 하나의 1년치를 얻으려면 날짜마다 호출해 해당 종목 행을 골라내야 한다: KRX OPEN API 서비스 구성(일별 제공, 기준일자 조회) 및 같은 API의 공개 클라이언트 라이브러리 문서(krx-reader — “KRX OPEN API는 날짜 하나당 전 종목 스냅샷을 줍니다”) 2026년 9월 8일 확인. ⚠️ 서비스별 응답 항목 전문은 거래소 개발명세서로 확인해야 하며, 본문의 설명은 조회 구조 수준입니다.
- API는 당일 데이터를 주지 않고, 직전 거래일 데이터는 다음 날 오전 8시 이후에 열린다: KRX OPEN API 개발명세(각 서비스의 조회 조건에 ‘직전 개장일은 오전 8시 이후’ 조건이 들어 있다)와 직접 호출 확인 — 2026년 9월 17일 14시에 9월 17일 0행·9월 16일 조회 가능, 9월 23일 11시에 9월 23일 0행·9월 22일 942행(유가증권 일별매매정보). 애프터마켓 시행(9월 14일) 이후 날짜로도 같은 결과였습니다.
- 예제 코드의 액면분할 경고(2018년 5월 4일 삼성전자 상장주식수 128,386,494주 → 6,419,324,700주, 종가 5월 3일 2,650,000원 → 5월 4일 51,900원): 유가증권 일별매매정보 직접 호출 2026년 9월 23일 확인. 예제 코드는 본 사이트 운영자가 공개한 GitHub 저장소(MIT 라이선스)입니다.
- Open API 제공 대상기간이 대부분 2010년 1월 4일 이후이고 코넥스 2013년 7월 1일·ETN 2014년 11월 17일·금시장 2014년 3월 24일 등 예외가 있다: KRX OPEN API 「서비스 목록」 2026년 9월 8일 확인. 부문은 지수·주식·증권상품·채권·파생상품·일반상품·ESG 일곱 갈래이며, 서비스 종수는 추가·개편될 수 있어 본문에 적지 않았습니다.
- 2026년 개장일 244일: 본 사이트가 관리하는 2026년 KRX 휴장일 목록을 적용한 자체 계산(2026년 1월 1일~12월 31일, 주말·휴장일 제외). 본문의 5년치·2010년 이후 전체 환산치는 이 244일을 연 기준으로 삼은 어림 계산이며(2010~2025년 16년 × 244일 + 2026년 1월 1일~9월 8일 168일 = 4,072회), 실제 개장일 수는 연도마다 다릅니다. 임시공휴일이 생기면 그해 개장일 수는 달라집니다.
- 2026년 9월 14일 시간외 단일가매매 폐지 및 애프터마켓(16:00~20:00) 신설, 접속매매 방식, ETF·ETN은 거래 대상 제외, 시간외종가매매(15:40~16:00)는 유지 — 시행됨: 한국거래소 시장 개편 발표 및 언론 보도(2026년 9월 1일·4일·9~14일) 교차확인 2026년 9월 15일 확인. 이 개편이 일별 데이터의 공표·확정 시점을 구체적으로 어떻게 바꾸는지는 거래소가 별도로 안내하지 않아, 본문에서도 시각을 특정하지 않았습니다.
- OpenDART 개인 즉시 발급·일일 2만 건: 본 사이트 주식 데이터 무료로 보는 곳 편과 같은 근거(opendart.fss.or.kr 오픈API 소개) 2026년 8월 확인.
- 액면분할·병합·증자 이력의 조회 경로: 이 글은 특정 화면명을 지목하지 않았습니다. 한국예탁결제원 세이브로에도 발행 관련 화면이 있으나 화면이 스크립트로 그려져 메뉴 이름을 확정하지 못했고, 확정하지 못한 이름을 초보자에게 주면 찾다가 헤매게 되므로 공시(DART) 경로로 안내했습니다. 액면분할·병합·증자가 공시 대상이라는 것은 본 사이트 DART 공시 보는 법 편의 근거를 따릅니다.
- 수정주가의 정의와 액면분할 예시(1주 → 10주 분할 시 분할 전 100,000원이 10,000원으로 환산): 개념 설명을 위한 본 글의 예시이며 실제 종목이 아닙니다. 액면분할·증자 시 기준가격 조정의 실제 계산식은 본 사이트 가격제한폭 편에 정리한 한국거래소 기준가격 산정방식을 따릅니다.
이 글은 공개된 무료 데이터 서비스의 이용 방법과 이용약관을 정리한 교육·정보 제공 목적의 콘텐츠이며, 특정 종목·상품·서비스의 매매나 이용을 권유하지 않습니다. 사이트 주소·메뉴 구성·화면명·조회 조건·다운로드 형식·API 이용 조건과 약관 조문은 각 기관의 정책에 따라 변경될 수 있으므로, 실제 이용 시 해당 사이트의 최신 안내와 약관을 직접 확인하시기 바랍니다. 본문에 적은 조회 조건과 약관 인용은 위 기준일에 확인한 내용입니다. 데이터의 상업적 이용·재배포는 각 기관의 약관과 별도 허락 범위를 따라야 하며, 본문 설명이 그 판단을 대신하지 않습니다. 모든 투자 판단과 그 결과에 대한 책임은 투자자 본인에게 있습니다.