2026년 6월 기준 작성. Claude API는 Anthropic이 만든 AI 언어모델을 외부 프로그램에서 직접 호출할 수 있게 해주는 인터페이스입니다. API(Application Programming Interface)란 서로 다른 프로그램끼리 데이터를 주고받는 약속된 규칙으로, Claude API를 이용하면 직접 만든 앱이나 스크립트 안에서 Claude와 대화하는 기능을 구현할 수 있습니다.
이 글에서는 Anthropic Console 가입부터 API 키 발급, 그리고 Python SDK(소프트웨어 개발 도구 모음)를 이용한 첫 메시지 호출까지 단계별로 정리했습니다.
Anthropic Console 계정 만들기
Claude API를 사용하려면 먼저 Anthropic의 개발자 포털인 Anthropic Console에 계정을 만들어야 합니다. 구글 계정 또는 이메일로 가입할 수 있으며, 이메일 인증 후 바로 사용 가능합니다.
가입 절차는 간단합니다. console.anthropic.com 에 접속해 이메일 주소를 입력하고, 이메일로 발송된 인증 링크를 클릭하면 계정이 활성화됩니다. 처음 가입하면 무료 크레딧(사용 가능한 잔액)이 제공되어 바로 테스트해볼 수 있습니다.
단, 무료 크레딧 소진 후에는 카드를 등록하고 충전해야 API 호출이 가능합니다. 개인 사용이라면 최소 충전 금액(약 5달러)으로도 상당한 양의 호출을 테스트할 수 있습니다.
API 키 발급 방법
로그인 후 대시보드 왼쪽 메뉴에서 API Keys 항목을 클릭합니다. 상단의 Create Key 버튼을 눌러 이름을 입력하면 키가 생성됩니다. 이때 생성된 키 문자열(sk-ant-… 로 시작)은 화면에서 단 한 번만 표시됩니다. 이 시점에 반드시 복사해서 안전한 곳에 저장해두세요. 창을 닫으면 다시 볼 수 없습니다.
키를 분실했다면 해당 키를 삭제하고 새로 발급하면 됩니다. 키는 여러 개 만들 수 있으므로, 프로젝트마다 별도 키를 사용하는 것이 관리하기 편리합니다.
현재 Claude 모델과 요금 구조
2026년 6월 기준 Claude API에서 사용할 수 있는 주요 모델은 다음과 같습니다. 모델마다 성능, 컨텍스트 윈도우(한 번에 처리할 수 있는 텍스트 길이), 요금이 다릅니다.
요금 계산 단위인 토큰(token)은 텍스트를 AI가 처리하는 최소 단위입니다. 한국어 글자 1개는 보통 1~2 토큰 정도입니다. 처음 테스트할 때는 가장 저렴한 Haiku 4.5 모델로 충분합니다. 품질이 중요한 서비스를 만든다면 Opus 4.8이나 Sonnet 4.6을 권장합니다.
Python SDK 설치와 첫 번째 메시지 호출
Python으로 Claude API를 호출하는 가장 빠른 방법은 공식 anthropic 패키지를 사용하는 것입니다. 터미널(명령 프롬프트나 Terminal 앱)에서 다음 명령으로 설치합니다.
pip install anthropic
설치 후, 발급받은 API 키를 환경변수(운영체제 수준에서 프로그램에 전달하는 설정값)로 등록합니다. 코드에 키를 직접 쓰면 유출 위험이 있으므로 환경변수로 관리하는 것이 안전합니다.
Mac/Linux 터미널에서는 아래처럼 등록합니다.
export ANTHROPIC_API_KEY="sk-ant-여기에본인키입력"
Windows 명령 프롬프트라면 아래 명령을 사용합니다.
set ANTHROPIC_API_KEY=sk-ant-여기에본인키입력
키 등록 후 Python 파일을 만들어 다음 코드를 입력하면 첫 번째 Claude 호출이 완성됩니다.
import anthropic
# 환경변수 ANTHROPIC_API_KEY를 자동으로 읽어 클라이언트 생성
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8", # 사용할 모델 지정
max_tokens=1024, # 최대 응답 길이(토큰 단위)
messages=[
{"role": "user", "content": "안녕하세요, Claude! 자기소개 부탁드립니다."}
]
)
# 응답 텍스트 출력
for block in response.content:
if block.type == "text":
print(block.text)
위 코드를 실행하면 Claude가 자기소개를 텍스트로 출력합니다. model 값에 모델 ID를, messages 배열에 대화 내용을 넣으면 됩니다. max_tokens는 응답 길이 상한선으로, 너무 낮게 설정하면 답변이 중간에 잘릴 수 있습니다.
긴 작업에서 스트리밍 활용하기
일반 호출은 응답이 완성될 때까지 기다렸다가 한꺼번에 받습니다. 응답이 길면 수십 초를 기다려야 하는데, 스트리밍(streaming) 방식을 쓰면 글자가 생성되는 즉시 받아볼 수 있습니다. 마치 챗봇 화면에서 글자가 하나씩 나타나는 것과 같은 방식입니다.
import anthropic
client = anthropic.Anthropic()
# 스트리밍 모드로 호출
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=2048,
messages=[
{"role": "user", "content": "파이썬으로 피보나치 수열을 출력하는 코드를 작성해줘."}
]
) as stream:
# 텍스트가 생성될 때마다 즉시 출력
for text in stream.text_stream:
print(text, end="", flush=True)
# 최종 응답 메시지 전체를 가져오려면:
# final = stream.get_final_message()
스트리밍은 응답 길이가 길거나, 사용자에게 실시간 피드백을 보여줘야 하는 웹 애플리케이션에 특히 유용합니다.
API 호출 시 자주 발생하는 문제
처음 호출할 때 오류가 나는 경우가 많습니다. 주요 오류와 해결법을 정리했습니다.
| 오류 메시지 | 원인 | 해결 방법 |
|---|---|---|
| AuthenticationError | API 키가 없거나 잘못됨 | 환경변수 ANTHROPIC_API_KEY 확인, 키 재발급 |
| RateLimitError | 단기간에 호출 횟수 초과 | 잠시 대기 후 재시도, 또는 요금제 업그레이드 |
| InvalidRequestError | 모델 ID 오타, 파라미터 오류 | 모델 ID 정확히 입력(예: claude-opus-4-8), max_tokens 값 확인 |
| InsufficientCreditsError | 크레딧 잔액 부족 | Console에서 카드 등록 후 충전 |
| ModuleNotFoundError: anthropic | SDK 미설치 | pip install anthropic 재실행 |
관련 글: AI로 내 워크플로우 자동화하기 — 도구 비교
자주 묻는 질문 FAQ
Q1) 무료로 Claude API를 써볼 수 있나요?
가입 시 소량의 무료 크레딧이 제공됩니다. 간단한 테스트는 카드 등록 없이 가능하지만, 크레딧 소진 후에는 결제 수단을 등록해야 합니다. 정확한 무료 크레딧 금액은 Console에서 가입 시점에 확인할 수 있으며, 시기마다 달라질 수 있습니다.
Q2) 어떤 모델을 선택해야 하나요?
처음 테스트할 때는 비용이 가장 낮은 Haiku 4.5(모델 ID: claude-haiku-4-5)가 적합합니다. 실제 서비스를 만들거나 복잡한 작업을 처리할 때는 Opus 4.8(claude-opus-4-8)을 권장합니다. Sonnet 4.6(claude-sonnet-4-6)은 성능과 비용의 중간 지점입니다.
Q3) 한 번에 얼마나 많은 텍스트를 보낼 수 있나요?
Opus 4.8, Sonnet 4.6, Fable 5는 컨텍스트 윈도우가 100만 토큰(약 75만 단어)에 달합니다. 일반적인 사용에서는 거의 제한을 느끼지 못할 수준입니다. Haiku 4.5는 20만 토큰입니다.
Q4) API 키를 GitHub에 올려도 되나요?
절대 안 됩니다. API 키가 공개 저장소에 노출되면 타인이 사용해 요금이 청구될 수 있습니다. 항상 환경변수나 별도 설정 파일(.env)로 관리하고, .gitignore에 해당 파일을 반드시 추가해야 합니다.
Q5) 파이썬 말고 다른 언어로도 쓸 수 있나요?
공식 SDK는 Python과 TypeScript(JavaScript)를 지원합니다. Java, Go, Ruby, PHP, C# 등도 공식 SDK가 있습니다. 또는 어떤 언어에서든 HTTP POST 요청을 보낼 수 있으면 REST API 방식으로 직접 호출도 가능합니다.