127 free models. $0/month. Zero guilt.

Stop paying for AI
you can get for free

Drop-in OpenAI proxy that routes your requests to 100+ free tier models — Gemini, Llama, Qwen, and more. Your API key still works. Your bill doesn't.

No credit card. No OAuth. Just a magic link.

MIT Licensed Self-hostable OpenAI-compatible

Everything you need.
Nothing you have to pay for.

A complete AI routing layer that puts free tiers first — without you having to think about it.

💸

Free Tier Optimization

Automatically routes to the best free model for each request. Exhausts free tiers before touching paid ones.

🏠

Local Model Support

Ollama, LM Studio, llamafile — if it speaks OpenAI, Freeloader speaks to it. Keep sensitive data on-device.

🔒

Trust Tiers

Tag prompts as open/standard/private. Private data never leaves your infra. Compliance without the headache.

🎛️

Budget Controls

Hard cap at $0. Or set a monthly budget. Freeloader enforces it — your card stays untouched.

Zero Config Start

npx xswarm-freeloader and you're running. Change your OPENAI_BASE_URL. Done. No YAML required.

📊

Dashboard & Analytics

See which models you're hitting, token usage, costs avoided, and latency — all in a local web UI.

Your AI bill, demolished

Here's what developers are saving each month after switching to Freeloader.

Side project dev
$40/mo
$0/mo
~2M tokens/month
Most common
Indie hacker / startup
$200/mo
$0/mo
~10M tokens/month
Small team
$800/mo
$0/mo
~40M tokens/month

// based on GPT-4o pricing vs free tier routing

$0

is a great monthly AI bill

Dead simple. By design.

Two commands. Works with every OpenAI SDK and framework.

1

Install and run

npx xswarm-freeloader
2

Point your app at it

OPENAI_BASE_URL=http://localhost:4011

That's it

Freeloader handles model selection, fallbacks, rate limits, and budgets — automatically.

// your existing code, unchanged
import OpenAI from 'openai';

const client = new OpenAI({
baseURL: 'http://localhost:4011',
apiKey: 'free', // any string
});

// sends to Gemini Flash (free) not GPT-4
await client.chat.completions.create({
model: 'gpt-4o', // aliased
messages: [...]
});