🧠 API란? 쉽게 말해서...
**API (Application Programming Interface)**는 프로그램끼리 대화할 수 있게 해주는 ‘번역기’야.
예를 들어, 네가 "야, 주식 시세 줘!" 라고 하면
API는 증권사의 데이터베이스에 가서 대신 물어보고, 결과를 예쁘게 포장해서 돌려줘.
🔄 네가 보낸 요청(Request) → API 서버가 응답(Response)
🐍 파이썬에서 API 사용하는 기본 흐름
url = "https://api.example.com/stock/AAPL"
params = {"apikey": "YOUR_API_KEY"}
response = requests.get(url, params=params)
data = response.json() # 응답을 JSON 형식으로 파싱
print(data)
✅ 핵심은 requests 모듈로 URL에 요청을 보내고, response.json()으로 받아오는 것!
📈 국내 주식 API 3선 & 파이썬 사용법
🧐 한국 주식 API, 왜 필요할까?
국내 주식 데이터를 활용하려면 증권사 API를 이용해야 해.
대표적으로 한국투자증권, 키움증권, NH투자증권, 삼성증권, 대신증권 등이 API를 제공하고 있어.
각 증권사마다 REST API / HTS 기반 API 방식이 다르니 확인하고 써야 해!
그럼 바로 5개 API와 파이썬 사용법을 보자.
1️⃣ KIS Developers (한국투자증권 OpenAPI)
🔗 API 공식 문서
📌 REST API 방식, 실시간 시세 조회 및 주문 가능
✅ 장점:
- REST API 방식이라 웹 개발에도 유리
- 모의투자 가능
- 해외 주식 데이터도 제공
🐍 파이썬 사용법 (시세 조회)
import requests
# API 키 정보
APP_KEY = "YOUR_APP_KEY"
APP_SECRET = "YOUR_APP_SECRET"
URL = "https://openapi.koreainvestment.com:9443"
# 인증 토큰 받기
headers = {"content-type": "application/json"}
body = {
"grant_type": "client_credentials",
"appkey": APP_KEY,
"appsecret": APP_SECRET
}
res = requests.post(f"{URL}/oauth2/tokenP", headers=headers, json=body)
ACCESS_TOKEN = res.json()["access_token"]
# 주식 시세 조회 (삼성전자 예시)
headers = {
"authorization": f"Bearer {ACCESS_TOKEN}",
"appkey": APP_KEY,
"appsecret": APP_SECRET,
"tr_id": "FHKST01010100"
}
params = {"fid_cond_mrkt_div_code": "J", "fid_input_iscd": "005930"} # 삼성전자
res = requests.get(f"{URL}/uapi/domestic-stock/v1/quotations/inquire-price", headers=headers, params=params)
print(res.json())
2️⃣ 키움증권 OpenAPI+
🔗 API 공식 문서
📌 HTS 기반 API, 주식 주문, 체결, 잔고 조회 가능
✅ 장점:
- 개인투자자가 가장 많이 사용
- 자동매매 가능
❌ 단점:
- 윈도우 기반 (Mac, 리눅스 불가)
- 반드시 키움증권 영웅문 실행 필요
🐍 파이썬 사용법 (종목 시세 조회)
from pykiwoom.kiwoom import Kiwoom
kiwoom = Kiwoom()
kiwoom.CommConnect() # 로그인
# 삼성전자(005930) 현재가 조회
price = kiwoom.GetMasterLastPrice("005930")
print(f"삼성전자 현재가: {price}")
3️⃣ NH투자증권 NAMUH API
🔗 API 공식 문서
📌 REST API 기반, 주식 시세 및 주문 가능
✅ 장점:
- 한국투자증권 API와 비슷한 구조
- REST API라 웹/앱 개발하기 쉬움
🐍 파이썬 사용법 (시세 조회)
import requests
API_KEY = "YOUR_API_KEY"
SECRET_KEY = "YOUR_SECRET_KEY"
URL = "https://api.nhqv.com"
# 토큰 발급
res = requests.post(f"{URL}/oauth/token", json={"apiKey": API_KEY, "secretKey": SECRET_KEY})
ACCESS_TOKEN = res.json()["access_token"]
# 주식 시세 조회
headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
params = {"market": "KOSPI", "symbol": "005930"} # 삼성전자
res = requests.get(f"{URL}/stock/price", headers=headers, params=params)
print(res.json())
🏆 국내 주식 API 비교 정리
| 한국투자증권 | REST API | 실시간 시세 및 주문 가능 | ✅ |
| 키움증권 | HTS API | 가장 대중적, Windows 필수 | ✅ |
| NH투자증권 | REST API | 웹 개발 편리 | ✅ |
📌 마무리 꿀팁
- 📂 .env 파일에 API 키 저장하면 보안성 up!
- 🔒 API 키 유출 조심 (깃허브 올릴 땐 .gitignore)
- 📊 pandas와 같이 쓰면 시각화도 가능!
국내 주식 API는 REST API 방식과 HTS API 방식이 대표적이야.
- REST API → 웹 기반 개발이 편함 (한국투자, NH투자)
- HTS 기반 API → Windows 필수, HTS 실행 필요 (키움, 삼성, 대신)
만약 처음이라면?
👉 "한국투자증권 API" 추천! (REST API 방식이라 쉽고, 모의투자 지원)
이제 API를 활용해서 자동매매, 데이터 분석 시작해볼 수 있겠지? 😉
'파이썬 기초' 카테고리의 다른 글
| 쉬운 API 3종 연습 & 파이썬 사용법 (1) | 2025.04.26 |
|---|---|
| Microsoft Learn: 가능성을 꽃피우는 디지털 학습 정원 (1) | 2025.04.26 |
| with 문 이해하기 (0) | 2025.04.20 |
| 변수 종류와 변수 선언 방법 (4) | 2025.04.19 |