Documentation
Getting Started

Overview

Badlands Labs provides secure, unified API proxy infrastructure for accessing OpenAI and Anthropic endpoints through a single integration point.

Unified Access

One API key to access both OpenAI and Anthropic models through a single endpoint.

Real-time Analytics

Monitor request volumes, latency distributions, and error rates from your dashboard.

Rate Limiting

Intelligent rate limiting with per-user quotas and burst handling for production workloads.

Enterprise Security

End-to-end encryption, API key management, and SOC 2 compliant infrastructure.

Quick Start

Get up and running with Badlands Labs in three simple steps.

1

Create an Account

Sign up at badlandslabs.com/signup to create your account and generate an API key.

2

Configure Your SDK

Set the base URL to https://api.badlandslabs.com/v1 and authenticate with your API key.

3

Start Building

Make requests to any supported model. The proxy handles routing, rate limiting, and analytics automatically.

API Key Format

All Badlands Labs API keys use the prefix sk-bdl-api03- followed by a 24-character alphanumeric string.

Authentication

Badlands Labs uses Bearer token authentication. Include your API key in the Authorization header of every request.

bash
curl https://api.badlandslabs.com/v1/chat/completions \
  -H "Authorization: Bearer sk-bdl-api03-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-5.5-router",
    "messages": [{"role": "user", "content": "Hello, world!"}]
  }'
Keep Your Key Secure

Never expose your API key in client-side code, public repositories, or shared documents. If compromised, rotate immediately from your dashboard.

API Gateway Reference

OpenAI Compatibility

Badlands Labs provides full OpenAI API compatibility. Point your existing OpenAI SDK or HTTP client to our endpoint and swap your API key.

Chat Completions

bash
curl https://api.badlandslabs.com/v1/chat/completions \
  -H "Authorization: Bearer sk-bdl-api03-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-5.5-router",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Explain quantum computing in simple terms."}
    ],
    "max_tokens": 512,
    "temperature": 0.7
  }'

Anthropic Compatibility

Access Claude models through our Anthropic-compatible endpoint. The proxy translates requests and responses to match the Anthropic API format.

bash
curl https://api.badlandslabs.com/v1/messages \
  -H "Authorization: Bearer sk-bdl-api03-your-key-here" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "anthropic/claude-4-6-sonnet-router",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello, Claude!"}
    ]
  }'
Supported Claude Models

anthropic/claude-4-6-sonnet-router (mapped dynamically to MiniMax-M2.7 upstream).

Base URLs

Standardize all API requests using the following base URLs:

GET
https://api.badlandslabs.com/v1/models
List available models
POST
https://api.badlandslabs.com/v1/chat/completions
Chat completions (OpenAI compatible)
POST
https://api.badlandslabs.com/v1/messages
Claude messages (Anthropic compatible)

SDK Samples

OpenAI Python SDK

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-bdl-api03-your-key-here",
    base_url="https://api.badlandslabs.com/v1"
)

response = client.chat.completions.create(
    model="openai/gpt-5.5-router",
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.choices[0].message.content)

Anthropic Python SDK

python
import anthropic

client = anthropic.Anthropic(
    api_key="sk-bdl-api03-your-key-here",
    base_url="https://api.badlandslabs.com/v1"
)

message = client.messages.create(
    model="anthropic/claude-4-6-sonnet-router",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)

print(message.content[0].text)

OpenAI Node.js SDK

javascript
import OpenAI from 'openai';

const client = new OpenAI({
    apiKey: 'sk-bdl-api03-your-key-here',
    baseURL: 'https://api.badlandslabs.com/v1'
});

const response = await client.chat.completions.create({
    model: 'openai/gpt-5.5-router',
    messages: [{role: 'user', content: 'Hello!'}]
});

console.log(response.choices[0].message.content);

@anthropic-ai/sdk

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

const client = new Anthropic({
    apiKey: 'sk-bdl-api03-your-key-here',
    baseURL: 'https://api.badlandslabs.com/v1'
});

const message = await client.messages.create({
    model: 'anthropic/claude-4-6-sonnet-router',
    max_tokens: 1024,
    messages: [{role: 'user', content: 'Hello!'}]
});

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

Chat Completions

bash
curl https://api.badlandslabs.com/v1/chat/completions \
  -H "Authorization: Bearer sk-bdl-api03-your-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-5.5-router",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Claude Messages

bash
curl https://api.badlandslabs.com/v1/messages \
  -H "Authorization: Bearer sk-bdl-api03-your-key-here" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "anthropic/claude-4-6-sonnet-router",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
System Status

Node Health

Real-time infrastructure health indicators across all gateway nodes.

API Gateway
Operational
P99: 142ms · 99.97% uptime
OpenAI Proxy
Operational
P99: 89ms · 99.99% uptime
Anthropic Proxy
Operational
P99: 156ms · 99.95% uptime
Database
Connected
Replication: 2.3ms lag
Cache Layer
Healthy
Hit rate: 94.2%
EU-WEST Nodes
Degraded
Maintenance in progress

90-Day Uptime History

Operational Degraded Outage
90 days ago 60 days ago 30 days ago Today

Latency Metrics

Request latency distributions across all endpoints over the past 24 hours.

38ms
P50 Latency
67ms
P75 Latency
124ms
P95 Latency
198ms
P99 Latency
2.4M
Requests Today
99.97%
Daily Uptime
0.02%
Error Rate

Incident History

May 15, 2026 — Scheduled Maintenance Resolved

Completed database migration from 01:00-03:00 UTC. All systems operational. No user impact.

April 28, 2026 — Rate Limit Adjustment Resolved

Increased rate limits for Pro tier users. Processing capacity expanded by 40%.

March 10, 2026 — CDN Optimization Resolved

Deployed edge caching improvements. Average latency reduced by 23% for US-based requests.

February 22, 2026 — Node failover Resolved

Automated failover triggered during node maintenance. Mean time to recovery: 47 seconds.

Support Desk

Contact Us

For general inquiries, technical questions, or partnership opportunities, reach out to our team.

General Support

Response within 1-2 business days

support@badlandslabs.com

Enterprise

24/7 emergency escalation

enterprise@badlandslabs.com

Technical Sales

Custom integrations and pricing

sales@badlandslabs.com

Community Support

Join our Discord for real-time help

Join Discord

Frequently Asked Questions

Badlands Labs acts as a unified proxy layer. You get a single API key and endpoint for all providers, built-in rate limiting, analytics, and the ability to switch providers without changing your code.

Navigate to your dashboard and select "API Keys" from the sidebar. Click "Rotate" next to the key you want to replace. The old key becomes invalid immediately.

Requests exceeding your quota receive a 429 status code. Implement exponential backoff in your client. Upgrade your plan for higher limits.

Yes. Free tier includes 100 requests/day and 10 requests/minute. Sign up at badlandslabs.com/signup to get started.

No. Request/response bodies are not persisted to disk. They pass through our infrastructure for routing only. See our Privacy Policy for full details.

Legal

Privacy Policy

Terms of Service