cursorapikey.com/Docs
Inicio rápido para usuarios de Cursor
Conecta tus herramientas de codificación a la API sin censura actualizando tu URL base y las cabeceras de autenticación. Esta guía rápida cubre las configuraciones esenciales para Cursor y otros agentes compatibles con OpenAI.
URL base y autenticación
Configura tu cliente para apuntar a https://api.cursorapikey.com/v1. El servicio espera cabeceras de autenticación estándar de OpenAI. Genera tu clave en la página Obtener clave de API; la necesitarás para cada petición. Usa el ID de modelo uncensored para acceder al único modelo disponible. Esta configuración funciona con cualquier SDK o agente compatible con OpenAI como Cursor, Claude Code o endpoints personalizados de GitHub Copilot.
Primera petición
Prueba la conectividad con una finalización de chat simple. El endpoint admite cuerpos de petición estándar. Si recibes un estado 200, tu configuración es correcta. Un error 401 indica una clave inválida o faltante, mientras que un error 402 significa que tu crédito prepago se ha agotado.
curl https://api.cursorapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
Las peticiones que superen los 8 MB o las 300 peticiones por minuto pueden devolver códigos de error específicos. Consulta la sección de límite de peticiones para más detalles.
Integración con SDK de Python
Usa la biblioteca oficial de Python de OpenAI. Establece la URL base y la clave de API en la inicialización de tu cliente. El ID de modelo sigue siendo uncensored. Este enfoque funciona para scripts locales o integraciones de agentes que requieran acceso programático a la API. Asegúrate de que la versión de tu biblioteca admita las estructuras de API de OpenAI requeridas.
from openai import OpenAI
client = OpenAI(base_url="https://api.cursorapikey.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Recuerda que los prompts no se usan para entrenamiento. El contexto de tu código permanece privado para la petición.
Integración con SDK de Node
Inicializa el cliente de OpenAI Node.js con la URL base personalizada. Pasa la clave de API desde tus variables de entorno. El ID de modelo uncensored es necesario para todas las finalizaciones. Esta configuración es ideal para agentes basados en Node o funciones sin servidor que requieran asistencia de IA consistente.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.cursorapikey.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Verifica tus credenciales antes de hacer peticiones masivas para evitar errores 402 innecesarios.
Respuestas en streaming
Habilita el streaming estableciendo stream: true en el cuerpo de tu petición. La API devuelve Server-Sent Events (SSE). Esto permite que tu UI o agente procese tokens a medida que se generan. El streaming reduce la latencia percibida para respuestas grandes. Asegúrate de que tu cliente maneje correctamente los fragmentos parciales.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Cada fragmento contiene contenido parcial. Agrégalos para formar la respuesta final.
Límites, errores y contexto
La ventana de contexto es de 100,000 tokens para prompt y finalización combinados. Los límites de peticiones son de 300 peticiones por minuto por clave. Si regeneras tu clave, la antigua se revoca inmediatamente. Un error 401 indica una clave inválida. Un error 402 indica crédito insuficiente. Un error 429 indica límite de peticiones excedido. El crédito no caduca. Las opciones de recarga incluyen criptomonedas (USDT o USDC).
Funciones y límites
Una tabla con cada límite, función y precio.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| ID del modelo | uncensored |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Base URL | https://api.cursorapikey.com/v1 |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Modo JSON | response_format: {"type": "json_object"} |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Tamaño de petición | hasta 8 MB |
| Concurrencia | 8 peticiones a la vez por clave |
| Límite de peticiones | 300 por minuto por clave |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Prueba gratis | $0,50 durante 7 días, sin tarjeta · Clave de prueba: 2 solicitudes paralelas, 60 por minuto; límites completos (8 y 300) tras la primera recarga |
| Bono | +5 % desde $50, +10 % desde $100 |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Acceso | Google o correo y contraseña |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
Códigos de error
Los errores llegan como JSON con un type fijo; las peticiones fallidas o rechazadas no se cobran.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensajes vacíos, parámetro incorrecto o contexto demasiado largo |
401 | missing_key · invalid_key · key_revoked | falta la clave, es incorrecta o fue reemplazada |
402 | no_credit | sin crédito: recarga y sigue al instante |
403 | content_blocked | contenido sexual con menores: rechazado, no se cobra |
404 | not_found | endpoint desconocido |
413 | request_too_large | cuerpo mayor de 8 MB |
429 | rate_limited · concurrency | más de 300/min o 8 en paralelo: espera y reintenta |
503 | upstream_busy | modelo ocupado: reintenta en unos segundos |
Preguntas y respuestas
¿Es esta la API oficial de Cursor?
No, es un servicio independiente. Es compatible con OpenAI y funciona como un endpoint personalizado en Cursor y herramientas similares. No está afiliado a Cursor, OpenAI ni Anthropic.
¿Qué pasa si supero el límite de peticiones?
Las peticiones que superen las 300 por minuto devolverán un error 429. El límite es por clave. Regenerar tu clave revoca la antigua, pero no reinicia la ventana del límite de peticiones para la nueva clave.
¿Cómo recargo mi cuenta?
Puedes recargar desde $10 usando criptomonedas (USDT o USDC). Hay crédito bonus disponible: +5% desde $50 y +10% desde $100. El crédito pagado no caduca.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.