💻 IT/테크

API 활용 입문 | REST API 5분 완벽 이해

📅 2026년 1월 16일 ⏱️ 7분 읽기 ✍️ kimyido

API 완벽 이해하기 - 초보자 가이드

API는 프로그래머가 자주 쓰는 단어인데, 실은 매우 간단합니다.

API는 요청과 답변

API (Application Programming Interface):

  • 앱이 앱과 대화하는 방법
  • 마치 전화번호부처럼 어떤 정보를 달라고 요청
  • 정보를 받아서 사용

일상 속 API 예시

예 1: 날씨 앱

날씨 앱 → 날씨 서버에 "서울 날씨 알려줘" 요청
날씨 서버 → "25도, 맑음" 응답
날씨 앱 → 화면에 날씨 표시

예 2: 지도 앱

지도 앱 → 구글 지도에 "강남역 음식점" 요청
구글 지도 → 주변 음식점 100개 정보 응답
지도 앱 → 지도에 표시

예 3: 은행 앱

은행 앱 → 은행 서버에 "내 계좌 잔액 알려줘" 요청
은행 서버 → "5,000,000원" 응답
은행 앱 → 잔액 표시

REST API 구조

REST API 4가지 기본 요청:

#### 1. GET - 정보 받기

GET /users/123
응답: {
  "id": 123,
  "name": "김철수",
  "email": "kim@example.com"
}

의미: ID 123번 사용자의 정보를 받기

#### 2. POST - 정보 전송

POST /users
데이터: {
  "name": "이영희",
  "email": "lee@example.com"
}
응답: {
  "id": 124,
  "status": "created"
}

의미: 새로운 사용자 등록하기

#### 3. PUT - 정보 수정

PUT /users/123
데이터: {
  "name": "김철수",
  "email": "kim2024@example.com"
}

의미: ID 123번 사용자 정보 수정하기

#### 4. DELETE - 정보 삭제

DELETE /users/123
응답: {
  "status": "deleted"
}

의미: ID 123번 사용자 삭제하기

실제 API 활용 사례

예 1: 날씨 API 사용

import requests

# 날씨 정보 요청
response = requests.get("https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=YOUR_KEY")
weather = response.json()

print(f"온도: {weather['main']['temp']}도")
print(f"상태: {weather['weather'][0]['main']}")

결과:

온도: 5도
상태: 맑음

예 2: 환율 API 사용

response = requests.get("https://api.example.com/exchange-rate")
rates = response.json()

print(f"1달러 = {rates['USD']}원")

결과:

1달러 = 1,300원

인기 공개 API 10가지

API용도가격제한
OpenWeatherMap날씨 정보무료~$200/월매분 60회
Google Maps지도/위치$7/1000회높음
CoinGecko암호화폐 가격무료10회/초
JSONPlaceholder테스트용무료무제한
PokéAPI포켓몬 정보무료무제한
REST Countries국가 정보무료무제한
OpenAI (GPT)AI 텍스트 생성$0.002/1K토큰높음
Spotify음악 정보무료제한적
YouTube비디오 정보무료10K점수/일
NewsAPI뉴스 기사무료~$300/월100회/일

API 활용 꿀팁

1. 문서 먼저 읽기

API 사용 순서:
1. 공식 문서 읽기 (매우 중요!)
2. 인증 토큰 발급
3. 테스트 요청 (GET부터)
4. 필요한 데이터 추출
5. 본격 활용

2. 인증 토큰 관리

# 잘못된 방법
API_KEY = "sk-abc123xyz"  # 노출됨!

# 올바른 방법
import os
API_KEY = os.getenv("OPENAI_API_KEY")  # 환경변수

3. 에러 처리

try:
    response = requests.get(api_url)
    response.raise_for_status()  # 에러 발생 확인
    data = response.json()
except requests.exceptions.RequestException as e:
    print(f"API 요청 실패: {e}")

API 속도 문제 해결

Rate Limiting (요청 횟수 제한):

  • 문제: API마다 초당/분당 요청 제한
  • 해결: 요청 사이에 시간 간격 추가
import time

for i in range(100):
    response = requests.get(api_url)
    time.sleep(1)  # 1초 대기 (API 속도 문제 해결)

API로 수익 만들기

방법 1: API 판매

  • 자신의 데이터/기능을 API로 제공
  • 월 $500~5,000 수익 가능
방법 2: API 기반 서비스
  • 여러 API를 조합해 새로운 서비스
  • 예: 날씨 + 스포츠 정보 API 조합 → 운동 추천 서비스
방법 3: API 자동화
  • API를 활용한 자동화 봇
  • 월 수익: $1,000~10,000

API 학습 로드맵

1주차: HTTP 기초, GET 요청 이해 2주차: JSON 데이터 이해, 실제 API 호출 3주차: POST/PUT/DELETE 요청 4주차: 인증, 에러 처리 5주차: 자신의 API 문서 작성 6주차: 나만의 API 만들기

실습: 첫 API 요청 (5분)

1단계: Python 설치

pip install requests

2단계: 날씨 정보 가져오기

import requests

response = requests.get(
    "https://api.open-meteo.com/v1/forecast?latitude=37.5665&longitude=126.9780¤t=temperature_2m"
)
print(response.json())

3단계: 결과 보기

{
  "current": {
    "temperature_2m": 5.2
  }
}

2026년 API 트렌드

GraphQL 확대:

  • REST 대신 GraphQL 선호
  • 더 유연한 데이터 요청
AI API 통합:
  • OpenAI, Claude API 활용
  • AI 기반 자동화 증가
마이크로서비스:
  • 작은 API 여럿 조합
  • 복잡한 기능 구현
API는 프로그래밍의 가장 강력한 도구입니다. 지금 배워보세요!

핵심 체크리스트

  • [ ] 이 글의 핵심 내용을 이해했는가?
  • [ ] 나의 상황에 적용할 수 있는 부분은?
  • [ ] 추가로 확인할 사항은?

---

관련 콘텐츠: IT 기술

✍️
김이도 편집팀
정확한 정보 전달을 위해 전문 자료와 공식 통계를 기반으로 콘텐츠를 작성합니다. 최신 정보 반영을 위해 주기적으로 업데이트됩니다.
📅 최종 업데이트: 2026년 1월 16일 · 📧 문의: 연락하기
💻 IT/테크 카테고리 전체 글 보기 →