Skip to main content

API Key Authentication

All API requests (except /health) require an API key passed via the X-API-Key header:
curl https://api.arbiterapi.com/v1/markets \
  -H "X-API-Key: arb_live_abc123..."

Getting an API Key

Option 1: Sign up via API

curl -X POST https://api.arbiterapi.com/v1/auth/signup \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "your-password"}'

Option 2: Dashboard

Sign up at arbiterapi.com/signup to get your key from the dashboard.

Managing Keys

You can create multiple API keys per account and revoke them individually:
# List your keys
curl .../v1/keys -H "Authorization: Bearer YOUR_JWT"

# Create a new key
curl -X POST .../v1/keys \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"label": "production"}'

# Revoke a key
curl -X DELETE .../v1/keys/key_id \
  -H "Authorization: Bearer YOUR_JWT"

WebSocket Authentication

For WebSocket connections, pass your API key as a query parameter:
wss://api.arbiterapi.com/v1/ws?api_key=YOUR_API_KEY

Rate Limits

TierRequests/minWebSocket connections
Free602
Pro60020
EnterpriseCustomCustom
Rate limit headers are included in every response:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1774402500