Sábado, 12 de septiembre de 2026  ·  LATAM / Español
Intermedio 35 min en total 6 pasos

Cómo usar la API de Claude paso a paso

Configura tu clave, haz tu primera llamada y controla parámetros clave de la API de Claude en Python.

Imagen de portada editorial · Cómo usar la API de Claude paso a paso · Educación · Claude Builders
Requisitos
  • Python 3.9+ instalado
  • Cuenta en console.anthropic.com con crédito
  • Conocimientos básicos de terminal y variables de entorno
  • Editor de código (VS Code recomendado)
Lo que vas a aprender
  • Obtener y proteger tu API key de Anthropic
  • Instalar el SDK oficial y hacer tu primera llamada
  • Controlar parámetros como temperature, max_tokens y system prompt
  • Mantener conversaciones con historial de mensajes
  • Usar streaming y manejar errores comunes de la API
PASO 1 · ~5 min

Obtener y guardar tu API key

Entra en console.anthropic.com, inicia sesión y ve a la sección 'API Keys'. Pulsa 'Create Key', dale un nombre descriptivo (por ejemplo 'dev-local') y cópiala en cuanto aparezca: por seguridad no volverás a verla completa. En España y LATAM necesitarás añadir un método de pago y cargar crédito inicial, ya que la API es de pago por uso. Nunca escribas la clave directamente en el código ni la subas a Git. En su lugar, guárdala como variable de entorno. En Linux/macOS usa el export del ejemplo; en Windows usa 'setx ANTHROPIC_API_KEY tu-clave' desde PowerShell. Para proyectos reales, crea un archivo .env y añádelo a .gitignore. Este paso es el error de seguridad más frecuente: una clave filtrada en un repo público puede generar consumo no autorizado en minutos.

bash
export ANTHROPIC_API_KEY='sk-ant-tu-clave-aqui'
ConsejoCrea claves separadas por entorno (local, staging, producción) para poder revocar una sin afectar al resto.
Error comúnSi subes la clave a GitHub, revócala de inmediato desde la consola: los bots escanean repos públicos en segundos.
PASO 2 · ~5 min

Instalar el SDK oficial de Anthropic

Anthropic mantiene un SDK oficial para Python que simplifica la autenticación y las llamadas. Crea primero un entorno virtual para aislar dependencias, actívalo e instala el paquete con pip. El entorno virtual evita conflictos de versiones entre proyectos, algo especialmente útil si ya trabajas con otras librerías de IA. Tras instalar, verifica la versión para asegurarte de que tienes una reciente. El SDK lee automáticamente la variable de entorno ANTHROPIC_API_KEY, así que no tendrás que pasar la clave manualmente al cliente si la configuraste en el paso anterior. Si prefieres JavaScript, existe un paquete equivalente ('@anthropic-ai/sdk') que puedes instalar con npm, pero en este tutorial usaremos Python por su claridad para prototipar.

bash
python -m venv venv
source venv/bin/activate
pip install anthropic
python -c "import anthropic; print(anthropic.__version__)"
ConsejoEn Windows activa el entorno con 'venv\Scripts\activate' en lugar de 'source'.
Error comúnNo instales el paquete a nivel global del sistema: acabarás con conflictos de versiones difíciles de depurar.
PASO 3 · ~7 min

Hacer tu primera llamada a la API

Ahora la parte importante: la primera petición. Crea un archivo llamado primera_llamada.py. El cliente se instancia sin argumentos porque toma la clave de la variable de entorno. El método messages.create es el corazón de la API: recibe el modelo, un límite de tokens de salida y la lista de mensajes con roles 'user' y 'assistant'. Cada mensaje tiene un rol y un contenido. La respuesta llega en response.content, que es una lista de bloques; el texto está en el primer bloque. Ejecuta el script con 'python primera_llamada.py' y deberías ver la respuesta de Claude en tu terminal. Si recibes un error de autenticación, revisa que la variable de entorno esté bien exportada en la misma sesión de terminal donde ejecutas el script.

python
import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explica qué es una API REST en 3 frases."}
    ]
)

print(response.content[0].text)
Consejomax_tokens limita la salida, no la entrada. Ajústalo según lo largo que esperes que sea la respuesta para controlar coste.
Error comúnEl campo messages siempre debe empezar por un mensaje con rol 'user'; empezar por 'assistant' provoca un error 400.
PASO 4 · ~5 min

Añadir system prompt y controlar parámetros

El system prompt define el comportamiento global del modelo: su rol, tono y restricciones. Se pasa en el parámetro 'system', separado de los mensajes. Además puedes ajustar 'temperature' (de 0 a 1): valores bajos dan respuestas más deterministas y consistentes, ideales para extracción de datos o clasificación; valores altos aportan creatividad para brainstorming o redacción. En este ejemplo fijamos un rol de tutor de programación en español y bajamos la temperatura para respuestas precisas. Combinar un buen system prompt con la temperatura adecuada es lo que diferencia una integración amateur de una robusta. Experimenta cambiando la temperatura entre 0 y 1 con la misma pregunta para ver cómo varía el estilo de las respuestas.

python
response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    temperature=0.2,
    system="Eres un tutor de programación que responde en español de forma concisa y con ejemplos de código.",
    messages=[
        {"role": "user", "content": "¿Cómo leo un JSON en Python?"}
    ]
)

print(response.content[0].text)
ConsejoPara tareas de clasificación o extracción usa temperature=0: obtendrás resultados reproducibles.
Error comúnNo metas instrucciones de rol dentro del mensaje 'user' si tienes el campo 'system': el system prompt tiene más peso y es el lugar correcto.
PASO 5 · ~6 min

Mantener una conversación con historial

La API no guarda estado entre llamadas: cada petición es independiente. Para que Claude recuerde el contexto debes enviar el historial completo de mensajes en cada llamada, alternando roles 'user' y 'assistant'. El patrón habitual es mantener una lista, añadir el mensaje del usuario, hacer la llamada, y luego añadir la respuesta del asistente a esa misma lista antes de la siguiente ronda. Este bucle sencillo simula un chat en terminal. Ten en cuenta que a más historial, más tokens de entrada consumes en cada llamada, así que en producción conviene aplicar estrategias de resumen o truncado cuando la conversación crece. Escribe 'salir' para terminar el bucle.

python
import anthropic

client = anthropic.Anthropic()
historial = []

while True:
    entrada = input("Tú: ")
    if entrada.lower() == "salir":
        break
    historial.append({"role": "user", "content": entrada})
    respuesta = client.messages.create(
        model="claude-opus-4-8",
        max_tokens=1024,
        messages=historial
    )
    texto = respuesta.content[0].text
    print("Claude:", texto)
    historial.append({"role": "assistant", "content": texto})
ConsejoGuarda el historial en una base de datos o Redis si necesitas persistencia entre sesiones de usuario.
Error comúnSi olvidas añadir la respuesta del asistente al historial, Claude perderá el contexto y responderá como si empezara de cero.
PASO 6 · ~7 min

Usar streaming y manejar errores

Para una experiencia tipo chat en tiempo real conviene el streaming: Claude devuelve el texto token a token en lugar de esperar a la respuesta completa. El SDK ofrece client.messages.stream como gestor de contexto, y con text_stream iteras los fragmentos según llegan. Además, en integraciones reales debes capturar errores: RateLimitError cuando superas el límite de peticiones, APIStatusError para respuestas 4xx/5xx y APIConnectionError ante fallos de red. Envolver la llamada en try/except te permite reintentar con backoff o mostrar mensajes útiles al usuario en lugar de que la app se caiga. Combinando streaming y manejo de errores tienes ya la base de una aplicación de producción sobre la API de Claude.

python
import anthropic
from anthropic import RateLimitError, APIStatusError

client = anthropic.Anthropic()

try:
    with client.messages.stream(
        model="claude-opus-4-8",
        max_tokens=1024,
        messages=[{"role": "user", "content": "Escribe un haiku sobre el código."}]
    ) as stream:
        for texto in stream.text_stream:
            print(texto, end="", flush=True)
except RateLimitError:
    print("Límite de peticiones alcanzado, reintenta más tarde.")
except APIStatusError as e:
    print(f"Error de la API: {e.status_code}")
ConsejoImplementa reintentos con espera exponencial (1s, 2s, 4s) ante RateLimitError para robustez en producción.
Error comúnNo dejes las llamadas sin try/except en producción: un pico de tráfico puede disparar RateLimitError y tumbar tu servicio.
Resultado

Has configurado tu clave de forma segura, instalado el SDK oficial y hecho tu primera llamada a la API de Claude. Ahora sabes controlar el system prompt, la temperatura y el max_tokens, mantener conversaciones con historial y usar streaming con manejo de errores. Con estos fundamentos ya puedes aprender a construir sobre la API de Claude aplicaciones reales como chatbots, asistentes internos o herramientas de extracción de datos, y escalar la integración a producción con confianza.

PRÓXIMOS PASOS