Developers

One endpoint, every free provider.

FreeRide is a local OpenAI-compatible gateway that routes requests across free-tier inference providers. No subscription, no hosted keys, no vendor lock-in.

Quick start

1. Install the gateway
terminal
$ curl -sSL https://api.free-ride.xyz/install.sh | sh
# or via pip/uv
$ pip install freeride-gateway
$ uv tool install freeride-gateway

Want the coding agent too? curl -sSL https://api.free-ride.xyz/ridex.sh | sh installs ridex with the gateway included.

2. Add your API keys (BYO)

FreeRide does not provide keys. Bring your own free-tier keys from OpenRouter, Groq, NVIDIA NIM, and friends. Run freeride config to set them.

3. Run your agent
terminal
# For Claude Code, OpenAI Codex, or Gemini CLI
$ freeride run claude

# For older agents (Aider, Continue, etc.)
$ freeride bind aider

# Or point any client at the local port
$ export OPENAI_API_BASE=http://localhost:11343/v1

API reference

FreeRide implements the OpenAI Chat Completions API and the Anthropic Messages API. The full OpenAPI 3.1 spec lives at /openapi.json.

POST /v1/chat/completions

Standard OpenAI chat completions. Supports streaming, function calling, and vision (provider-dependent).

curl http://localhost:11343/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "freeride/coding", "messages": [{"role": "user", "content": "Hello"}]}'
GET /v1/models

Lists all models from configured providers. Cached to reduce upstream calls.

POST /v1/messages

Anthropic Messages API compatibility for Claude-speaking clients.

GET /health

Health check. Returns gateway status, providers, and which ones hold usable keys.

Error handling

FreeRide returns JSON error responses with standard HTTP status codes:

429
Rate limit

All providers rate-limited. Check the Retry-After header.

503
Service unavailable

All providers unavailable or quota exhausted; structured JSON body says which.

404
Model not found

Requested model not available from any configured provider.

Rate limiting

FreeRide respects upstream provider rate limits and includes standard headers when available:

X-RateLimit-Limitprovider limit
X-RateLimit-Remainingremaining requests
X-RateLimit-Resetunix timestamp when the limit resets
Retry-Afterseconds to wait (on 429/503)

Resources