Claude SDK 시작하기 — Python·TypeScript 공식 클라이언트 사용법

Claude 공식 클라이언트 SDK 입문. 지원 언어, 설치(pip install anthropic / npm install @anthropic-ai/sdk), Python·TypeScript 첫 호출 예제, 스트리밍·토큰 확인, 클라이언트 SDK와 Agent SDK 구분까지 공식 문서 기반 정리.

Claude API를 코드에서 호출할 때, HTTP 요청을 직접 손으로 짜는 대신 공식 SDK를 쓰면 인증·재시도·스트리밍·타입 처리를 라이브러리가 대신 해 줍니다. 이 글은 Claude의 공식 클라이언트 SDK를 처음 설치하고 첫 호출까지 해 보는 입문 가이드입니다. (기준 시점: 2026년 6월. 버전·모델은 변동될 수 있으니 공식 문서에서 최신 정보를 확인하세요.)

SDK로 호출하는 4단계 1 설치 pip / npm install 2 클라이언트 생성 API 키(환경변수) 3 메시지 생성 messages.create 4 응답 받기 content + usage SDK가 인증·재시도·스트리밍·타입을 대신 처리 — raw HTTP를 직접 짜지 않아도 됨

SDK란 무엇이고 왜 쓰나

Claude API는 https://api.anthropic.com에 요청을 보내는 REST API입니다. 직접 호출하려면 헤더·인증·JSON 본문·에러 처리를 모두 손으로 다뤄야 합니다. SDK(Software Development Kit)는 이 과정을 언어별로 감싼 공식 라이브러리로, Anthropic은 각 SDK가 관용적 인터페이스, 타입 안전성, 스트리밍·재시도·에러 처리 내장 지원을 제공한다고 안내합니다.

참고: 여기서 말하는 "클라이언트 SDK"는 Claude API를 호출하기 위한 것입니다. Claude Code를 구동하는 Agent SDK(claude-agent-sdk)는 이름이 비슷하지만 별개 제품입니다(글 마지막에서 구분).

공식 지원 언어

Anthropic은 Python, TypeScript, Java, Go, Ruby, C#, PHP 및 커맨드라인(CLI)용 공식 클라이언트 SDK를 제공합니다. 플랫폼 지원 범위는 언어마다 다르므로, 세부 설치는 각 언어별 문서를 확인하세요.

공식 SDK 지원 언어 Python · pip install anthropic Python 3.9 이상 TypeScript · npm i @anthropic-ai/sdk Node.js 20 LTS 이상 그 외 공식 SDK Java Go Ruby C# PHP CLI

설치

가장 많이 쓰이는 두 언어 기준입니다.

  • Python: pip install anthropic — Python 3.9 이상이 필요합니다.
  • TypeScript / JavaScript: npm install @anthropic-ai/sdk — Node.js 20 LTS 이상, TypeScript 4.9 이상을 지원합니다.

API 키는 코드에 직접 박지 말고 환경변수(ANTHROPIC_API_KEY)로 관리하는 것이 안전합니다. 공식 문서도 Python에서 python-dotenv.env 파일에 키를 넣어 소스 관리에 노출되지 않게 할 것을 권장합니다.

첫 호출 — Python

클라이언트를 만들고 messages.create로 메시지를 보내면, 응답의 content에 모델의 답이 담겨 옵니다.

import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get("ANTHROPIC_API_KEY"),
)

message = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "안녕, Claude"}
    ],
)
print(message.content)

첫 호출 — TypeScript

TypeScript SDK는 모든 요청 파라미터와 응답 필드에 대한 타입 정의를 포함합니다. 사용법은 Python과 거의 동일합니다.

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env["ANTHROPIC_API_KEY"],
});

const message = await client.messages.create({
  model: "claude-opus-4-8",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Hello, Claude" }],
});
console.log(message.content);

위 코드의 모델 문자열 claude-opus-4-8은 공식 문서 예시 기준입니다. 사용 가능한 모델 목록은 바뀔 수 있으니 모델 개요 문서에서 확인하세요.

자주 쓰는 기능

  • 토큰 사용량 확인: 응답의 usage 속성으로 입력·출력 토큰 수를 볼 수 있습니다(예: { input_tokens, output_tokens }). 과금은 토큰 단위이므로 비용 추적에 유용합니다.
  • 스트리밍: SDK는 서버 전송 이벤트(SSE)를 통한 스트리밍 응답을 지원합니다. 긴 답변을 토큰이 생성되는 대로 받아볼 수 있습니다.
  • 재시도·에러 처리 내장: 일시적 오류에 대한 재시도와 에러 타입 처리가 SDK에 포함돼 있어, 직접 구현할 필요가 줄어듭니다.
  • 베타 기능: 모든 SDK에서 beta 네임스페이스로 베타 기능에 접근할 수 있습니다.

클라이언트 SDK vs Agent SDK

이름이 비슷해 혼동하기 쉬운 두 가지를 구분합니다.

  • 클라이언트 SDK(이 글의 주제, anthropic / @anthropic-ai/sdk): Claude API를 호출하는 얇은 래퍼. 메시지 생성, 스트리밍, 토큰 확인 등 API 기능을 그대로 노출합니다.
  • Agent SDK(claude-agent-sdk / @anthropic-ai/claude-agent-sdk): Claude Code를 구동하는 에이전트 루프·도구·컨텍스트 관리를 프로그래밍 가능한 라이브러리로 제공합니다. 파일 읽기·편집, bash 실행, 웹 검색 같은 내장 도구와 커스텀 도구, MCP 연결을 지원합니다. (이전 명칭: Claude Code SDK)

단순히 "프롬프트를 보내고 답을 받는" 통합이면 클라이언트 SDK로 충분하고, "스스로 파일을 읽고 명령을 실행하는 에이전트"를 만들려면 Agent SDK가 적합합니다.

정리

핵심만 기억하세요: ① SDK는 raw HTTP를 대신 처리해 주는 공식 라이브러리다, ② 설치는 Python pip install anthropic(3.9+) / TypeScript npm install @anthropic-ai/sdk(Node 20+)다, ③ 클라이언트를 만들고 messages.create를 호출하면 content로 답이 온다, ④ 클라이언트 SDK와 Agent SDK는 별개다. 더 깊은 사용법은 Claude 공식 SDK 문서를 참고하세요.

관련 글: 도구 사용(Tool Use), API 비용 최적화(프롬프트 캐싱·Batch)도 함께 보세요.

이 글은 Anthropic 공식 문서를 토대로 작성한 입문 설명입니다. SDK 버전·필요 런타임·모델 목록은 업데이트될 수 있으므로, 실제 구현 전 공식 문서에서 최신 사양을 확인하세요. (공식 출처: docs.claude.com)

이어서 읽어보세요

궁금한 점이 있거나 활용법을 나누고 싶나요?

커뮤니티에서 다른 사용자들과 팁과 노하우를 나눠보세요. 더 많은 가이드도 준비되어 있어요.