"> Skip to main content

Tutorial da API Claude para Iniciantes: Guia Completo de Introdução

2026-06-15 · FreeClaude

TL;DR: A API Claude permite integrar os modelos de IA da Anthropic nas suas próprias aplicações. Este guia te leva do zero ao código funcionando — cobrindo autenticação, sua primeira chamada de API, respostas em streaming, gerenciamento de conversas, uso de ferramentas, seleção de modelo e melhores práticas de produção — com exemplos em Python e JavaScript prontos para copiar e colar.

O que é a API Claude?

A API Claude é a interface programática da Anthropic para integrar os modelos de linguagem Claude diretamente nas suas aplicações, scripts, workflows e produtos. Em vez de usar a interface web Claude.ai, a API oferece controle programático total — você envia texto, recebe texto (ou dados estruturados) de volta, e você decide exatamente como sua aplicação o usa.

A API alimenta tudo, desde chatbots simples a sistemas sofisticados multi-agentes. Desenvolvedores a usam para construir automação de atendimento ao cliente, pipelines de análise de documentos, ferramentas de geração de código, sistemas de moderação de conteúdo, workflows de extração de dados e muito mais. Qualquer coisa que Claude possa fazer em um navegador, você pode fazer através da API — embutida dentro do seu próprio produto.

A partir de 2026, a API oferece acesso a três famílias principais de modelo: Claude Opus 4.7 (mais capaz, contexto de 1M tokens, ideal para raciocínio complexo), Claude Sonnet 4.6 (desempenho equilibrado e velocidade, melhor para a maioria das cargas de trabalho de produção), e Claude Haiku 4.5 (mais rápido e barato, perfeito para tarefas de alto volume sensíveis à latência). Cada modelo está disponível através de um único ponto de extremidade de API unificado com um formato de solicitação/resposta consistente.

O preço é baseado em tokens — aproximadamente 750 palavras equivalem a cerca de 1.000 tokens. Tokens de entrada (o que você envia) e tokens de saída (o que Claude gera) têm preço separado, com a entrada sendo mais barata. Uma chamada de API típica pode usar 500 tokens de entrada e gerar 300 tokens de saída, custando frações de centavo. A API Claude é significativamente mais econômica para cargas de trabalho de produção do que preços por assento em escala.

Se você quiser experimentar os recursos do Claude antes de se comprometer com os custos da API, FreeClaude oferece acesso gratuito ao Claude Max x20 — a mesma inteligência de modelo subjacente — através de um programa de referência que não requer cartão de crédito.

Configurando Seu Ambiente

Antes de escrever qualquer código, você precisa de três coisas: uma conta Anthropic, uma chave de API e o SDK instalado no seu projeto.

Etapa 1: Criar uma Conta Anthropic

Visite console.anthropic.com e se inscreva. Novas contas recebem um pequeno saldo de crédito para testes iniciais — tipicamente o suficiente para centenas de chamadas de teste. Após os créditos serem consumidos, adicione um método de pagamento. O preço da API é pré-pago sem comprometimento mínimo.

Etapa 2: Gerar uma Chave de API

No Console Anthropic, navegue para Configurações → Chaves de API → Criar Chave. Dê a ela um nome descritivo (por exemplo, "dev-local"). Copie a chave imediatamente — ela é mostrada apenas uma vez. Armazene-a em um gerenciador de senhas ou gerenciador de segredos como AWS Secrets Manager. Nunca codifique uma chave de API no código-fonte.

Etapa 3: Instalar o SDK

A Anthropic oferece SDKs oficiais para Python e TypeScript/JavaScript. Ambos são mantidos ativamente e mantidos em sincronismo com novos lançamentos de modelo.

# Python
pip install anthropic

# Node.js / TypeScript
npm install @anthropic-ai/sdk

Etapa 4: Definir Sua Chave de API como uma Variável de Ambiente

O SDK lê automaticamente a variável de ambiente ANTHROPIC_API_KEY:

export ANTHROPIC_API_KEY="sk-ant-..."

Para projetos usando um arquivo .env, instale python-dotenv (Python) ou dotenv (Node) e carregue-o na inicialização. Adicione .env a .gitignore imediatamente — nunca confirme credenciais ao controle de versão.

Fazendo Sua Primeira Chamada de API

Com seu ambiente configurado, aqui está o código mínimo para fazer uma chamada de API funcionando — o "Hello World" do desenvolvimento da API Claude.

Python

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explique o que é uma API em duas frases."}
    ]
)

print(message.content[0].text)

JavaScript / Node.js

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

const client = new Anthropic();

const message = await client.messages.create({
  model: 'claude-sonnet-4-6',
  max_tokens: 1024,
  messages: [
    { role: 'user', content: 'Explique o que é uma API em duas frases.' }
  ]
});

console.log(message.content[0].text);

Decompondo os parâmetros-chave: model especifica qual modelo Claude usar. max_tokens limita o comprimento da resposta — muito baixo trunca respostas, muito alto não desperdiça nada, a menos que Claude use esses tokens. messages é um array de turnos de conversa, cada um com um role (user ou assistant) e content.

O objeto de resposta contém um array de blocos de conteúdo. Para respostas de texto padrão, o texto está em message.content[0].text. A resposta também inclui dados de uso: message.usage.input_tokens e message.usage.output_tokens — útil para monitorar custos desde o início.

Gerenciando Conversas Multi-Turno

A API Claude é sem estado — não armazena histórico de conversa no servidor. Sua aplicação deve rastrear a conversa e enviar o histórico completo com cada solicitação.

import anthropic

client = anthropic.Anthropic()
conversation = []

def chat(user_message):
    conversation.append({"role": "user", "content": user_message})
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        messages=conversation
    )
    assistant_message = response.content[0].text
    conversation.append({"role": "assistant", "content": assistant_message})
    return assistant_message

print(chat("Meu nome é Alex e estou aprendendo Python."))
print(chat("Qual é um bom primeiro projeto para alguém como eu?"))
print(chat("Quanto tempo levará para construir isso?"))

A lista conversation cresce a cada turno, e a lista completa é enviada com cada solicitação. Claude recebe o contexto completo e pode fazer referência a qualquer coisa dita anteriormente. Para sessões muito longas, implemente sumarização: peça periodicamente ao Claude para resumir a conversa e substitua o histórico por esse resumo para permanecer dentro dos limites de janela de contexto.

Streaming de Respostas em Tempo Real

Por padrão, a API aguarda até que toda a resposta seja gerada antes de enviá-la. O streaming resolve isso — você recebe tokens conforme são gerados, permitindo o efeito de máquina de escrever que você vê em Claude.ai e melhorando dramaticamente o desempenho percebido.

Streaming em Python

import anthropic

client = anthropic.Anthropic()

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Escreva uma explicação detalhada de aprendizado de máquina."}]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
print()

Streaming em JavaScript

const stream = await client.messages.stream({
  model: 'claude-sonnet-4-6',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Escreva uma explicação detalhada de aprendizado de máquina.' }]
});

for await (const chunk of stream.textStream) {
  process.stdout.write(chunk);
}
console.log();

Uma resposta de 500 palavras leva aproximadamente 5–8 segundos para gerar. Sem streaming, os usuários veem uma tela em branco o tempo todo. Com streaming, eles começam a ler dentro do primeiro segundo. O tempo total de geração é idêntico, mas a experiência do usuário é transformada. O streaming é essencial para qualquer aplicação voltada para o usuário.

Uso de Ferramentas e Chamada de Funções

O uso de ferramentas permite que Claude solicite dados de sistemas externos durante a conversa — bancos de dados, APIs, sistemas de arquivos — permitindo que funcione com informações em tempo real e tome ações no mundo.

import anthropic, json

client = anthropic.Anthropic()

tools = [{
    "name": "get_weather",
    "description": "Obtém o clima atual para uma cidade",
    "input_schema": {
        "type": "object",
        "properties": {
            "city": {"type": "string", "description": "Nome da cidade"},
            "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
        },
        "required": ["city"]
    }
}]

def get_weather(city, unit="celsius"):
    return {"temperature": 22, "condition": "sunny", "city": city}

messages = [{"role": "user", "content": "Qual é o clima em Paris?"}]
response = client.messages.create(
    model="claude-sonnet-4-6", max_tokens=1024, tools=tools, messages=messages
)

if response.stop_reason == "tool_use":
    tool_use = next(b for b in response.content if b.type == "tool_use")
    result = get_weather(**tool_use.input)
    messages.append({"role": "assistant", "content": response.content})
    messages.append({"role": "user", "content": [
        {"type": "tool_result", "tool_use_id": tool_use.id, "content": json.dumps(result)}
    ]})
    final = client.messages.create(
        model="claude-sonnet-4-6", max_tokens=1024, tools=tools, messages=messages
    )
    print(final.content[0].text)

O uso de ferramentas permite consultar bancos de dados, chamar APIs externas, ler e escrever arquivos, executar código e integrar-se com sistemas comerciais. Claude decide quando chamar uma ferramenta com base na solicitação do usuário e na descrição da ferramenta — o texto de descrição é crucial, pois Claude o lê para determinar relevância.

Escolhendo o Modelo Claude Correto

A seleção de modelo impacta significativamente tanto o custo quanto a qualidade. Cada modelo tem um perfil de desempenho distinto adequado para casos de uso específicos.

Claude Haiku 4.5 — Mais rápido e barato. Melhor para: classificação, P&R simples, moderação, extração de dados de texto estruturado, processamento em lote de alto volume. Tempo de resposta inferior a 1 segundo para saídas curtas.

Claude Sonnet 4.6 — Melhor equilíbrio de capacidade e custo. Lida com: escrita complexa, geração de código, análise detalhada, raciocínio em múltiplas etapas, chat voltado para o cliente. O padrão correto para a maioria das aplicações de produção — qualidade quase Opus a um custo significativamente menor.

Claude Opus 4.7 — Mais capaz, contexto de 1M tokens. Use para: síntese de pesquisa em documentos muito longos, arquitetura de código complexa, escrita de alta relevância, e tarefas onde a qualidade da saída é mais importante que o custo ou latência. Custa aproximadamente 15x mais que Haiku — reserve para tarefas que genuinamente precisam.

Uma estratégia prática de produção: padrão para Sonnet para todas as solicitações, implemente uma camada de roteamento que faz upgrade para Opus para solicitações acima de um limite de complexidade (comprimento do prompt, tipo de tarefa, solicitação explícita do usuário). Isso otimiza o custo enquanto garante qualidade onde é mais importante.

Melhores Práticas de Produção

Lidar com Erros com Backoff Exponencial

import anthropic, time

client = anthropic.Anthropic()

def call_with_retry(messages, max_retries=3):
    for attempt in range(max_retries):
        try:
            return client.messages.create(
                model="claude-sonnet-4-6",
                max_tokens=1024,
                messages=messages
            )
        except anthropic.RateLimitError:
            if attempt < max_retries - 1:
                time.sleep(2 ** attempt)
            else:
                raise
        except anthropic.APIError as e:
            if e.status_code >= 500:
                time.sleep(1)
            else:
                raise

Use System Prompts através do Parâmetro system

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="Você é um assistente técnico conciso. Responda em texto simples, sem markdown a menos que explicitamente pedido. Mantenha respostas abaixo de 200 palavras.",
    messages=[{"role": "user", "content": user_input}]
)

Rastreie o Uso de Tokens desde o Início

Registre usage.input_tokens e usage.output_tokens de cada resposta. Isso permite identificar solicitações caras, detectar tentativas de injeção de prompt e prever com precisão o gasto mensal de API. O monitoramento de tokens é muito mais fácil de implementar desde o início do que adicionar retroativamente.

Ative o Cacheamento de Prompt para Contexto Repetido

Para cargas de trabalho onde um system prompt grande ou documento de contexto é reutilizado em muitas solicitações, ative o cacheamento de prompt adicionando "cache_control": {"type": "ephemeral"} aos blocos de conteúdo relevantes. Tokens em cache custam significativamente menos do que reprocessar o mesmo conteúdo repetidamente — uma economia de custo importante para aplicações com system prompts longos.

Implemente Tratamento de Limite de Taxa no Nível da Aplicação

Mesmo com lógica de retry, aplicações de alto throughput sustentado precisam de gerenciamento de limite de taxa baseado em fila. Implemente um token bucket ou rate limiter de janela deslizante na camada de aplicação para que você nunca atinja os limites de taxa da API em primeiro lugar, em vez de confiar inteiramente em lógica de retry após ser rejeitado.

Perguntas Frequentes

Preciso de um plano pago para usar a API Claude?

Novas contas Anthropic recebem créditos gratuitos para testes iniciais. Além desses créditos, a API é pré-paga — adicione um método de pagamento e pague apenas pelo que você usa. Não há assinatura mensal necessária para acesso à API.

Qual é a diferença entre a API Claude e Claude.ai?

Claude.ai é a interface web e móvel do consumidor. A API é para desenvolvedores construindo suas próprias aplicações. Elas têm cobrança separada. Se você quiser Claude sem escrever código, FreeClaude oferece acesso gratuito ao Claude Max x20 através de referências.

Como faço para lidar com documentos que excedem os limites de contexto?

Para documentos dentro da janela de contexto (até 1M tokens com Opus 4.7), inclua o texto completo no prompt. Para coleções maiores, use geração aumentada por recuperação (RAG): divida documentos em chunks, incorpore-os com um banco de dados vetorial e recupere apenas seções relevantes para cada consulta.

Posso usar a API Claude para aplicações comerciais?

Sim. As políticas de uso da Anthropic permitem uso comercial sujeito às suas diretrizes de uso aceitável. Você pode construir e vender produtos alimentados pela API Claude, desde que sua aplicação esteja em conformidade com as políticas da Anthropic e as leis aplicáveis.

Quais linguagens de programação a API Claude suporta?

SDKs oficiais existem para Python e TypeScript/JavaScript. A API subjacente é uma API REST padrão com JSON, então qualquer linguagem que possa fazer solicitações HTTP funciona — Ruby, Go, Java, PHP, Rust e mais.

Como evito ataques de injeção de prompt?

As defesas incluem: separação clara entre instruções e conteúdo do usuário usando tags XML, instruções explícitas no system prompt para ignorar conteúdo conflitante na entrada do usuário, validação de saída para detectar mudanças inesperadas de formato e rate limiting para detectar padrões anômalos.

Como devo definir max_tokens?

Defina com base no comprimento de saída esperado mais uma margem de segurança. Para respostas de chatbot, 512–1024 geralmente é suficiente. Para geração de documento, 4096 ou superior. Defini-lo muito baixo trunca respostas; defini-lo muito alto apenas desperdiça tokens sem mudança no comportamento.