API Documentation

Complete guide to using Noob Keys API. OpenAI-compatible Claude endpoints for Cursor, Cline, RooCode, Kilocode, Dyad.sh, and more.

Quick Navigation

Getting Started

Noob Keys provides OpenAI-compatible API endpoints for Claude models. Use it as a drop-in replacement with any OpenAI-compatible client.

Base URL: https://noobkeys.onrender.com/v1

Quick Start

  1. Generate an API key from the homepage
  2. Use https://noobkeys.onrender.com/v1 as your base URL
  3. Make requests to /v1/chat/completions

Authentication

All API requests require a Bearer token:

Authorization: Bearer nk-your-api-key-here

Available Models

All models accessible through OpenAI-compatible endpoints:

Claude Models

claude-opus-4-5-20251101 $5 / $25 per 1M Best for complex reasoning
claude-sonnet-4-5-20250929 $6 / $22.50 per 1M Balanced (recommended)
claude-haiku-4-5-20251001 $1 / $5 per 1M Fast responses
claude-sonnet-4-20250514 $3 / $15 per 1M Coding tasks
claude-3-7-sonnet-20250219 $3 / $15 per 1M General purpose
claude-3-5-haiku-latest $0.80 / $4 per 1M Cheapest Claude

Open Source Models

moonshotai/kimi-k2-instruct-0905 $0.15 / $2.50 per 1M Kimi K2 Instruct
openai/gpt-oss-120b $0.15 / $0.60 per 1M GPT-OSS 120B
qwen/qwen3-32b $0.29 / $0.59 per 1M Qwen3-32B

API Endpoints

POST /v1/chat/completions

Main endpoint - Create a chat completion

GET /v1/models

List available models

GET /v1/test

Test connectivity (no auth required)

Request Parameters

Parameter Type Required Description
model string Required Model ID (e.g., claude-3-5-haiku-latest)
messages array Required Array of {role, content} objects
stream boolean Optional Enable SSE streaming
max_tokens integer Optional Maximum tokens to generate
temperature number Optional Sampling temperature (0-2)

Streaming

Enable streaming with stream: true. Responses use Server-Sent Events (SSE):

curl -N "https://noobkeys.onrender.com/v1/chat/completions" \ -H "Authorization: Bearer nk-YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"claude-3-5-haiku-latest","messages":[{"role":"user","content":"Hello"}],"stream":true}'

Stream Response Format

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","choices":[{"delta":{"content":"Hello"}}]} data: {"id":"chatcmpl-123","object":"chat.completion.chunk","choices":[{"delta":{"content":"!"}}]} data: [DONE]

IDE & Tool Setup

Universal Settings:
Base URL: https://noobkeys.onrender.com/v1
API Key: nk-xxxxxxxx
Model: claude-3-5-haiku-latest (cheapest)

🖥️ Cursor

  1. Open Settings (Ctrl/Cmd + ,) → Models
  2. Click "Add Model" or "OpenAI API"
  3. Enter Base URL: https://noobkeys.onrender.com/v1
  4. Enter your nk- API key
  5. Set model: claude-3-5-haiku-latest

🔮 Cline (VS Code)

  1. Open Cline settings in VS Code
  2. Select "OpenAI Compatible" provider
  3. Base URL: https://noobkeys.onrender.com/v1
  4. API Key: Your nk- key
  5. Model ID: claude-3-5-haiku-latest

🦘 RooCode / Roo Cline

  1. Open RooCode settings
  2. Select "OpenAI Compatible" or "Custom" provider
  3. Base URL: https://noobkeys.onrender.com/v1
  4. API Key: Your nk- key
  5. Model: claude-3-5-haiku-latest

⚡ Kilocode

  1. Open Kilocode settings
  2. Choose "OpenAI Compatible" provider
  3. API Endpoint: https://noobkeys.onrender.com/v1
  4. API Key: Your nk- key
  5. Model: claude-3-5-haiku-latest

🔗 Dyad.sh

  1. Open Dyad settings
  2. Select "OpenAI Compatible" as provider
  3. Base URL: https://noobkeys.onrender.com/v1
  4. API Key: Your nk- key
  5. Model: claude-3-5-haiku-latest

🐍 Python (OpenAI SDK)

from openai import OpenAI client = OpenAI( base_url="https://noobkeys.onrender.com/v1", api_key="nk-your-api-key" ) response = client.chat.completions.create( model="claude-3-5-haiku-latest", messages=[{"role": "user", "content": "Hello!"}] ) print(response.choices[0].message.content)

📜 JavaScript (OpenAI SDK)

import OpenAI from 'openai'; const client = new OpenAI({ baseURL: 'https://noobkeys.onrender.com/v1', apiKey: 'nk-your-api-key' }); const response = await client.chat.completions.create({ model: 'claude-3-5-haiku-latest', messages: [{ role: 'user', content: 'Hello!' }] }); console.log(response.choices[0].message.content);

Rate Limits & Quotas

Limit Type Value Description
Rate Limit 10 requests/minute Per API key
User Quota $20.00 USD Per API key lifetime
Global Quota $600.00 USD Total service limit

Rate Limit Headers

X-RateLimit-Limit: 10 X-RateLimit-Remaining: 9 X-RateLimit-Reset: 1733500060

Error Handling

Errors are returned in OpenAI-compatible format:

{ "error": { "message": "Invalid API key provided", "type": "invalid_request_error", "code": "invalid_api_key" } }

Common Error Codes

Status Type Description
400 invalid_request_error Missing/invalid parameters
401 invalid_request_error Invalid API key
403 insufficient_quota Quota exceeded
429 rate_limit_error Rate limit exceeded
500 api_error Server error
Troubleshooting:
  • Verify base URL is exactly: https://noobkeys.onrender.com/v1
  • Check your API key starts with nk-
  • Ensure you haven't exceeded your $20 quota
  • Test with: https://noobkeys.onrender.com/v1/test