tashfeenahmed/freellmapiPublic

7.4 billion tokens per month. 34 free LLM providers. 635 free model endpoints. All behind one /v1 endpoint, plus any custom OpenAI-compatible endpoint. Smart routing, automatic failover, encrypted keys. Personal experimentation only.

AI summary: A unified OpenAI-compatible router that aggregates free-tier quotas from dozens of LLM providers into a single API endpoint.

Stars
30.6K
+239 today
Forks
4.3K
Watchers
156
Open issues
15
Open PRs
23
Contributors
~88
Commits
834
Branches
6

TypeScriptMITCreated Apr 21, 2026Last push todayLatest release v0.13.4+1.5K stars this week+6.4K this month

Quick answers

What is freellmapi?
A unified OpenAI-compatible router that aggregates free-tier quotas from dozens of LLM providers into a single API endpoint.
What does freellmapi do?
FreeLLMAPI acts as a sophisticated proxy and router, combining the free tiers of 29 different LLM providers into one accessible `/v1` endpoint. It solves the problem of managing multipleAPI keys and hitting rate limits by automatically falling over to the next available provider when a quota is exhausted. The system encrypts all stored keys and meticulously tracks per-key usage to ensure users never exceed their free-tier caps. It maintains an automated model catalog via a signed feed, keeping track of over 350 free endpoints across various model families. By presenting a standard OpenAI-compatible interface, it allows developers to integrate massive amounts of free inference compute into their applications without changing their client code.
Who is freellmapi for?
Developers, researchers, and hobbyists looking to maximize free LLM usage and build resilient, multi-provider AI applications. Requires basic knowledge of API integration and API key management.
How do I get started with freellmapi?
Visit https://freellmapi.co/
How popular is freellmapi on GitHub?
tashfeenahmed/freellmapi has 30,619 stars and 4,296 forks on GitHub, and gained 1,463 stars in the last 7 days.
What license does freellmapi use?
tashfeenahmed/freellmapi is released under the MIT license.

Star history

since Jul 29, 2026
010K20K30KJul 2026Aug 2026Sep 2026Oct 2026
30.6K stars as of Oct 4, 2026. Measured daily since Jul 29, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepOctMonWedFri2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 1 commit2026-04-22: 6 commits2026-04-23: 1 commit2026-04-24: 0 commits2026-04-25: 1 commit2026-04-26: 1 commit2026-04-27: 0 commits2026-04-28: 2 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 4 commits2026-05-02: 7 commits2026-05-03: 1 commit2026-05-04: 2 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 2 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 1 commit2026-05-18: 0 commits2026-05-19: 3 commits2026-05-20: 3 commits2026-05-21: 0 commits2026-05-22: 4 commits2026-05-23: 9 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 9 commits2026-05-27: 2 commits2026-05-28: 2 commits2026-05-29: 1 commit2026-05-30: 4 commits2026-05-31: 14 commits2026-06-01: 2 commits2026-06-02: 12 commits2026-06-03: 4 commits2026-06-04: 18 commits2026-06-05: 26 commits2026-06-06: 3 commits2026-06-07: 8 commits2026-06-08: 7 commits2026-06-09: 2 commits2026-06-10: 10 commits2026-06-11: 7 commits2026-06-12: 12 commits2026-06-13: 6 commits2026-06-14: 3 commits2026-06-15: 2 commits2026-06-16: 1 commit2026-06-17: 3 commits2026-06-18: 0 commits2026-06-19: 4 commits2026-06-20: 5 commits2026-06-21: 8 commits2026-06-22: 5 commits2026-06-23: 0 commits2026-06-24: 2 commits2026-06-25: 0 commits2026-06-26: 2 commits2026-06-27: 11 commits2026-06-28: 6 commits2026-06-29: 0 commits2026-06-30: 5 commits2026-07-01: 0 commits2026-07-02: 14 commits2026-07-03: 3 commits2026-07-04: 0 commits2026-07-05: 11 commits2026-07-06: 10 commits2026-07-07: 11 commits2026-07-08: 0 commits2026-07-09: 2 commits2026-07-10: 0 commits2026-07-11: 13 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 3 commits2026-07-15: 2 commits2026-07-16: 0 commits2026-07-17: 3 commits2026-07-18: 0 commits2026-07-19: 5 commits2026-07-20: 4 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 2 commits2026-07-26: 14 commits2026-07-27: 9 commits2026-07-28: 18 commits2026-07-29: 10 commits2026-07-30: 6 commits2026-07-31: 6 commits2026-08-01: 5 commits2026-08-02: 9 commits2026-08-03: 7 commits2026-08-04: 0 commits2026-08-05: 13 commits2026-08-06: 3 commits2026-08-07: 5 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 12 commits2026-08-11: 28 commits2026-08-12: 8 commits2026-08-13: 0 commits2026-08-14: 10 commits2026-08-15: 1 commit2026-08-16: 1 commit2026-08-17: 0 commits2026-08-18: 7 commits2026-08-19: 4 commits2026-08-20: 13 commits2026-08-21: 0 commits2026-08-22: 9 commits2026-08-23: 20 commits2026-08-24: 17 commits2026-08-25: 4 commits2026-08-26: 5 commits2026-08-27: 0 commits2026-08-28: 1 commit2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 19 commits2026-09-02: 14 commits2026-09-03: 17 commits2026-09-04: 8 commits2026-09-05: 7 commits2026-09-06: 1 commit2026-09-07: 2 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 7 commits2026-09-11: 4 commits2026-09-12: 0 commits2026-09-13: 9 commits2026-09-14: 8 commits2026-09-15: 8 commits2026-09-16: 7 commits2026-09-17: 13 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 5 commits2026-09-21: 6 commits2026-09-22: 5 commits2026-09-23: 4 commits2026-09-24: 14 commits2026-09-25: 1 commit2026-09-26: 0 commits2026-09-27: 2 commits2026-09-28: 11 commits2026-09-29: 6 commits2026-09-30: 4 commits2026-10-01: 2 commits2026-10-02: 0 commits2026-10-03: 2 commits2026-10-04: 0 commits2026-10-05: 0 commits2026-10-06: 0 commits2026-10-07: 0 commits2026-10-08: 0 commits2026-10-09: 0 commits2026-10-10: 0 commits
768 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Widely adopted

    30,619 stars

  • Very active

    768 commits in 52 weeks

  • Well documented

    High community health score

  • Permissive license

    MIT

  • Repeat trending

    27 trending appearances

What freellmapi does

FreeLLMAPI acts as a sophisticated proxy and router, combining the free tiers of 29 different LLM providers into one accessible `/v1` endpoint. It solves the problem of managing multipleAPI keys and hitting rate limits by automatically falling over to the next available provider when a quota is exhausted. The system encrypts all stored keys and meticulously tracks per-key usage to ensure users never exceed their free-tier caps. It maintains an automated model catalog via a signed feed, keeping track of over 350 free endpoints across various model families. By presenting a standard OpenAI-compatible interface, it allows developers to integrate massive amounts of free inference compute into their applications without changing their client code.

Developers, researchers, and hobbyists looking to maximize free LLM usage and build resilient, multi-provider AI applications. Requires basic knowledge of API integration and API key management.

  • OpenAI API compatibility: Exposes a standard `/v1` interface that works natively with existing OpenAI SDKs and clients.
  • Intelligent rate limit failover: Automatically reroutes requests to alternative providers the moment a specific free tier limit is hit.
  • Usage quota tracking: Monitors token consumption on a per-key basis to strictly enforce free tier boundaries and prevent unexpected charges.
  • Encrypted credential storage: Secures all provider API keys using robust encryption before storing them in the router configuration.
  • Dynamic model cataloging: Updates its internal registry of available models and endpoints automatically via a signed data feed.

Where teams use it

Zero-cost inference scaling

Indie developers can pool multiple free tier accounts to run high-volume LLM applications without incurring inference costs.

Resilient API routing

Applications requiring high uptime can use the router to automatically failover when their primary LLM provider experiences downtime.

Unified model testing

Researchers can query hundreds of different model families through a single API endpoint to evaluate performance differences.

Simplified key management

Teams can centralize their various provider keys into one secure proxy, distributing a single endpoint to their internal applications.

Getting started: Visit https://freellmapi.co/

README

main branch

FreeLLMAPI

7.4 billion tokens per month. 34 free LLM providers. 635 free model endpoints. One OpenAI-compatible endpoint.

Aggregate free tiers from dozens of providers, plus custom OpenAI-compatible chat, embedding, image, and audio endpoints, behind a single /v1 API. Keys are stored encrypted. A router picks the best available model for each request, falls over to the next provider when one is rate-limited, and tracks per-key usage so you stay under every free-tier cap.

CI GitHub stars License: MIT PRs Welcome Docker image Ask DeepWiki

freellmapi.co · browse the full catalog: 474 model families, 635 free endpoints

English · 简体中文

Download for macOS Download for Windows Self-host with Docker Get it on Google Play Download on the App Store

FreeLLMAPI dashboard — Models page with the monthly token budget

Your router updates its own model catalog from a signed feed: new free models, quota changes, and compatibility fixes land without a git pull. Free installs get the monthly snapshot, so a model reaches them 30 days after it joins the live feed; premium routers get it the same day. Go live at freellmapi.co ($19/yr, cancel anytime).


Contents

Guides: Install & deploy · API reference · Clients & coding agents · Prompt compression · Architecture & internals · Documentation index · Contributor guide

Why this exists

Every serious AI lab now offers a free tier, a few million tokens a month, a few thousand requests a day. On its own each tier is a toy. Stacked together, they add up to roughly 7.4 billion tokens per month of working inference capacity, across 474 model families / 635 provider endpoints from small-and-fast to reasonably capable.

The problem is that stacking them by hand is painful: thirty-four different SDKs, thirty-four different rate limits, thirty-four places a request can fail. FreeLLMAPI collapses that into one OpenAI-compatible endpoint. Point any OpenAI client library at your local server, and it routes transparently across whichever providers you've added keys for.

And the free-tier landscape shifts weekly: providers launch models, retire them, and change quotas without notice. FreeLLMAPI tracks all of that for you. The router pulls a signed model catalog from freellmapi.co on its own, so your install keeps up without a git pull. See Premium (live catalog) for how fast it keeps up.

The free tier, stacked — ~7.4B tokens of free inference per month across 34 providers

Supported providers

Google
Google
Groq
Groq
Cerebras
Cerebras
OpenCode Zen
OpenCode Zen
Mistral
Mistral
OpenRouter
OpenRouter
Cloudflare
Cloudflare
Cohere
Cohere
Z.ai (Zhipu)
Z.ai (Zhipu)
NVIDIA
NVIDIA
HuggingFace
HuggingFace
ModelScope
Qwen3 · DeepSeek V4 · GLM-5 (needs Aliyun cn binding)

… and 22 more free providers

Plus a custom provider — point chat, embedding, image, or audio models at any OpenAI-compatible endpoint (llama.cpp, LM Studio, vLLM, a local Ollama, or a remote gateway) from the Keys page.

The full, always-current list lives at freellmapi.co/models with per-model rate limits, context windows, and free-token budgets.

Compatible CLIs & coding agents

Claude Code
Claude Code
Codex CLI
Codex CLI
Gemini CLI
Gemini CLI
Aider
Aider
Cline
Cline
Roo Code
Roo Code
Continue
Continue
OpenCode
OpenCode
Goose
Goose
Qwen Code
Qwen Code
Kilo Code
Kilo Code
Crush
Crush
Cursor
Cursor
Zed
Zed
JetBrains AI
JetBrains AI
DeepSeek Harness
DeepSeek Harness
AtomCode
AtomCode
OpenClaw
OpenClaw
Hermes Agent
Hermes Agent
Pi
Pi

… plus any OpenAI-compatible client, Anthropic SDK, Gemini SDK, or Ollama-capable app

Most of these configure themselves with one command — npx freellmapi setup-claude, setup-codex, setup-aider, setup-dsh (DeepSeek Harness), and eleven more generators that fetch your live catalog, back up existing config, and never clobber what's already there. Claude Code and Codex also get zero-persistence launchers (freellmapi launch, freellmapi launch-codex) that inject credentials into the child process only. Zed and JetBrains AI connect through the opt-in Ollama emulation; Gemini CLI speaks its native wire on /v1beta.

Per-tool recipes, the setup CLI reference, revocable URL tokens for headerless clients, and the MCP server all live in Clients & coding agents →

How it compares

Feature comparison against OpenRouter, LiteLLM, and Portkey

Based on public documentation, July 2026 — corrections welcome.

Features

Feature overview

  • Every OpenAI-style surface — /v1/chat/completions, /v1/responses (what Codex CLI needs), /v1/completions (editor ghost-text autocomplete), /v1/images/generations, /v1/videos/generations, /v1/audio/speech, /v1/audio/transcriptions, /v1/embeddings, and /v1/models — streaming and non-streaming, from the official SDKs or any OpenAI-compatible client. API reference →
  • Anthropic Messages API — /v1/messages speaks Anthropic's wire format over the same router, so Claude Code and the official Anthropic SDKs run against your free pool. Details →
  • Native Gemini + Ollama surfaces — Gemini CLI can use /v1beta (generateContent, streaming, token counting, models), while opt-in Ollama emulation serves NDJSON chat/generate, tags, metadata, and embeddings for Zed, JetBrains, and other local-model clients.
  • Fusion (multi-model synthesis) — request the virtual fusion model and the router fans your prompt out to a panel of diverse free models in parallel, then a judge model synthesizes one answer from the drafts. Details →
  • Image, video & speech generation — /v1/images/generations, /v1/videos/generations, and /v1/audio/speech route across the providers that serve media models; images and speech also accept custom OpenAI-compatible media endpoints. Video jobs are normalized across synchronous and queued providers and return a completed MP4.
  • Tool calling & structured outputs — OpenAI-style tools round-trip across providers (plain-text tool calls are rescued into real tool_calls), plus response_format, seed, logprobs, penalties, and the rest of the sampling params passed through per provider.
  • Smart routing, six strategies — live per-model speed/capability/reliability scores rank your chain; automatic fallover retries the next model on 429/5xx with cooldowns and key rotation. Routing in detail →
  • Unified models & profiles — the same model on several providers collapses into one entry with strict in-group failover; named fallback-chain profiles (a coding chain, a vision chain) switch from the dashboard or per request via auto:<profile>, and custom chains can be renamed in place from the chain manager.
  • Per-key rate tracking — RPM/RPD/TPM/TPD counters per (platform, model, key) that learn providers' reported ceilings, so routing always stays under every cap.
  • Self-updating model catalog — the router syncs a signed catalog from freellmapi.co twice a day: new models, quota changes, and provider quirk fixes land automatically. Free installs track the monthly snapshot, which each model joins 30 days after it lands in the live feed; premium routers get it same-day. Premium →
  • Sticky sessions & context handoff — conversations stay on one model for 30 minutes; an optional compact handoff note keeps the thread coherent when a mid-chat switch does happen. Details →
  • Prompt compression (opt-in) — a shared, fail-open request pipeline can deduplicate prompts, filter tool output, compact repeated JSON, and trim stale context before cache lookup and routing. Details →
  • Encrypted keys, one token out — provider keys are AES-256-GCM encrypted in SQLite and decrypted in-memory per request; your apps only ever see a single unified freellmapi-… bearer token.
  • Admin dashboard & analytics — React UI to manage keys, reorder the chain, run a playground, and read p50/p95/TTFT analytics over 24h–90d windows; login-gated, dark/light themes, 60 languages.
  • ChatGPT-ready MCP server & interactive docs — ChatGPT and other MCP clients can call FreeLLMAPI inference, list usable models, inspect provider health/usage/cache/routing metadata, and manage the routing strategy over /mcp; a dependency-free OpenAPI viewer lives at /v1/docs. ChatGPT and coding agents →
  • Ops niceties — opt-in response cache, encrypted DB backups, periodic key health checks, bulk key import/export, declarative startup config. Install & deploy →
  • Runs anywhere Node 20+ runs — Windows, macOS, Linux servers, or a small ARM SBC (Raspberry Pi included). ~40 MB RSS at idle behind PM2 / systemd / whatever supervisor you prefer.

The scope is deliberately narrow — see what's not supported yet.

Quick start

One-liner (Docker required — sets up ~/freellmapi, generates an encryption key, pulls the image, and starts the container):

curl -fsSL https://freellmapi.co/install.sh | bash

Prefer to read before you pipe to bash? The script is here. Re-running it is safe: your .env (and encryption key) is preserved and the container updates to :latest.

Open http://localhost:3001, add your provider keys on the Keys page, reorder the Fallback Chain to taste, and grab your unified API key from the Keys page header. That unified key is what you point your OpenAI SDK at.

On Windows, the easiest path is the desktop .exe installer from Releases (below). On Android, see the experimental Termux guide.

Everything else — Docker Compose, local development, declarative startup config, production builds, LAN access, and backups — is in docs/en/install/01-install.md.

Desktop app

A native menu-bar app lives in desktop/: the entire router + dashboard running locally from your tray, with a glass popover showing live request stats.

FreeLLMAPI desktop app

Download from Releases — the macOS .dmg and the Windows .exe installer are attached to every release. No account or password to set up: the only credential you need is the unified API key from the tray popover. Build-from-source steps and where your data lives: docs/en/install/01-install.md#desktop-app.

For macOS 12 Monterey or later, choose arm64 (Apple Silicon) or x64 (Intel). Both Mac builds also include a ZIP download.

Works with OpenAI-compatible clients

Anything that can target an OpenAI-compatible base URL works: set it to http://localhost:3001/v1 with the unified key from the dashboard. Claude Code, Codex CLI, Cline / Roo Code, Continue (including inline autocomplete), Aider, opencode, and Cursor each have a short recipe in docs/en/clients/01-agent-clients.md — and the router doubles as an MCP server your agents can introspect mid-session.

ChatGPT connects to the same local router through a private Secure MCP Tunnel. The ask_freellmapi MCP tool routes a ChatGPT-requested task through /v1/chat/completions and returns the answer with served-model, fallback, cache, execution, and token metadata. Base URL and bearer authentication live in the tunnel-client configuration; the default model is set with MCP_INFERENCE_DEFAULT_MODEL (auto when unset). No key belongs in Git or in the MCP URL. ChatGPT setup →

The fastest setup is generated from the models available on your live server:

npx freellmapi setup-claude --url http://localhost:3001 --api-key <unified-key>

Every generator supports --dry-run, creates a timestamped backup before changing an existing file, and merges into the user's configuration. Launchers keep credentials out of config files entirely: npx freellmapi launch for Claude Code and npx freellmapi launch-codex for Codex.

Provider keys can be managed from the terminal too, with a dashboard session token (FREELLMAPI_DASHBOARD_TOKEN or --token): npx freellmapi keys add|list|remove|test <platform>, where keys test re-checks stored keys. See cli/README.md.

Agent Automated setup Base URL
Claude Code setup-claude root
Codex CLI setup-codex /v1
Cline setup-cline /v1
Continue setup-continue /v1
Aider setup-aider /v1
OpenCode setup-opencode /v1
Goose setup-goose /v1
Qwen Code setup-qwen /v1 (or native /v1beta)
Roo / Kilo / Crush setup-roo / setup-kilo / setup-crush /v1
DeepSeek Harness setup-dsh /v1
MiMo Code setup-mimo /v1
AtomCode setup-atomcode /v1
OpenClaw setup-openclaw /v1
Hermes Agent setup-hermes /v1
Pi setup-pi /v1
Cursor setup-cursor guide public /v1 URL

FreeLLMAPI is local-first and single-user by design. Your provider keys stay in your SQLite database, encrypted at rest, and requests go from your machine to the upstream providers you enabled.

Languages

The dashboard ships in 60 languages (the desktop tray menu in 6). The UI auto-detects your browser/system language on first load and you can switch any time from ⋯ → Settings; the choice is remembered. Right-to-left languages (العربية, עברית, فارسی, اردو) flip the whole layout automatically, and only the active language's dictionary is loaded — the rest never touch your bandwidth.

United States China Spain France Brazil Italy India Saudi Arabia Bangladesh Russia Pakistan Indonesia Germany Japan Kenya Türkiye Vietnam South Korea Iran Thailand Poland Ukraine Myanmar Romania Netherlands Malaysia Philippines Nigeria Ethiopia Uzbekistan Azerbaijan Sri Lanka Nepal Cambodia Greece Czechia Hungary Sweden Israel Denmark Finland Norway Slovakia Bulgaria Croatia Serbia Lithuania Taiwan Portugal Georgia

The full list of locales lives in client/src/i18n/locale-config.ts.

The original six locales are human-reviewed; the newer ones are machine- translated and improve as native speakers send corrections — a one-string PR is a great first contribution.

Translations live in client/src/i18n/locales/ as flat JSON files. To fix a string, edit the value in the locale's JSON file. To add a language, copy en.json, translate the values, and register the locale in client/src/i18n/locale-config.ts (and desktop/src/i18n.ts for the tray strings); npm test checks every locale for key/placeholder parity — PRs welcome.

Premium (live catalog)

The router keeps its model catalog fresh on its own: it pulls a signed catalog from freellmapi.co twice a day and applies new models, quota changes, and provider quirk fixes to your local DB. Your own enable/disable choices and custom providers are never touched, and every download is verified against a pinned Ed25519 key before it is applied.

The catalog currently tracks 34 providers, 474 model families, 635 free provider/model endpoints (584 chat, 41 embeddings, 7 transcription, 3 video), and roughly 7.4 billion tokens per month of listed free-tier capacity. Browse the full set at freellmapi.co/models.

Free installs pull the same signed catalog, but from the monthly snapshot: a model joins it 30 days after it lands in the live feed, so the free build currently sits about 303 models behind. Nothing expires and nothing is crippled — it just arrives later.

Premium keeps that signed catalog live on every router you run. When a provider launches a strong free model, quietly tightens a quota, or breaks a wire format, live-feed routers receive the update the same day we ship it.

Go live at freellmapi.co →

  • $19/year or $49 once, lifetime. Stripe checkout; cancel anytime, self-serve.
  • One fla_ key covers every router you run: desktop, homelab, Raspberry Pi.
  • Activate in the dashboard under Premium; cancel or manage billing self-serve at freellmapi.co/manage.
  • The router itself stays MIT-licensed and fully free, forever. Premium is only the live feed, and it's what funds the daily model testing and catalog maintenance that keeps the catalog working.

The catalog server never sees your prompts, completions, or provider keys — the router stays fully self-hosted either way.

Using the API

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:3001/v1",
    api_key="freellmapi-your-unified-key",
)

resp = client.chat.completions.create(
    model="auto",  # let the router pick; or "auto:fast", "auto:smart", a profile, or a model id
    messages=[{"role": "user", "content": "Summarise the fall of Rome in one sentence."}],
)
print(resp.choices[0].message.content)
print("Routed via:", resp.headers.get("x-routed-via"))

Streaming, the auto:* routing strategies, tool calling, vision input, Gemini Google Search grounding, embeddings, and the Anthropic Messages surface — with curl and Python examples for each — are all in docs/en/api/01-rest-api.md. Every response carries an X-Routed-Via: <platform>/<model> header so you can see which provider actually served it.

Screenshots

Models

Pick a routing strategy and watch the monthly token budget fill across the whole provider fleet. Every model shows live reliability, speed, and intelligence scores — the order below is how requests route right now.

Models page

Keys

Manage provider credentials and grab the unified API key your apps connect with. Each key shows a status dot and when it was last health-checked.

Keys page

Playground

Send a chat completion through the router and see which provider served it, with the model ID and latency printed right on the message. Attach files by button, drag-and-drop, or paste: images (PNG/JPEG/WebP/GIF) are downscaled in the browser and sent as image content parts to a vision-capable model, and text files (TXT/MD/CSV/JSON/LOG) are inlined into the prompt as fenced blocks.

Playground page

Analytics

Request volume, success rate, tokens in and out, average latency, and per-provider breakdowns over 24h / 7d / 30d / 90d windows.

Analytics page

How it works

One request in, the best free model out — the fallback chain with live scores, cooldowns, and quota tracking

One request in, the best free model out: the router picks the highest-priority model with a healthy key that's under all its rate limits, decrypts the key in memory, and calls the provider — on a 429/5xx it cools that key down and retries the next model in your chain. The component walkthrough, routing internals, and operational details live in docs/en/architecture/00-high-level-index.md.

FAQ

Do I need a password? Not for the desktop app — the dashboard signs itself in with a hidden local account, so there is nothing to set up and nothing to forget. Open it from the tray icon → Open Dashboard. Server installs (Docker, one-liner, npm run dev) do have an email + password account.

I forgot the password on a server install. Click Forgot password? on the login page. There is no email to send a link to, so the one-time code is printed to the server log — read it with docker compose logs -f freellmapi (or in the terminal running the server, or in the desktop log file), then enter it on the reset form. The code lasts 15 minutes.

Where are the logs? In the container log for Docker, in the terminal for a source run, and in <data dir>/logs/freeapi.log for the desktop app — reachable from the tray menu's Open Logs Folder.

How do I uninstall? Remove the app (Trash on macOS, Settings → Apps on Windows, docker compose down -v for Docker), then delete the data directory: %APPDATA%\FreeLLMAPI\, ~/Library/Application Support/FreeLLMAPI/, or ~/.config/FreeLLMAPI/. Uninstalling never touches that folder on its own.

Longer answers, per install method: docs/en/install/01-install.md#faq-passwords-logs-uninstall.

Limitations

Stacking free tiers has real trade-offs: no frontier models, variable latency, no SLA — and the effective intelligence of the endpoint dips late in the day as top models hit their daily caps, then resets at UTC midnight. Read the honest list in docs/en/architecture/00-high-level-index.md#limitations before building anything real on this.

Contributing

Contributors very welcome! See CONTRIBUTING.md for the dev loop, PR expectations, and the policy on AI/LLM-assisted contributions (short version: welcome, same quality bar as any other PR). Good first PRs:

  • Add a provider — copy server/src/providers/openai-compat.ts as a template, wire it into server/src/providers/index.ts, seed its models in server/src/db/index.ts, add a test in server/src/__tests__/providers/.
  • Add an endpoint — moderations and other OpenAI-compatible surfaces. The provider base class can grow new methods; adapters declare which they support.
  • Improve the router — cost-aware routing (cheapest-healthy-fastest tradeoffs), better latency-weighted priority, regional pinning.
  • Dashboard polish — charts on the Analytics page, key rotation UX, batch import of keys from .env.
  • Docs — more examples, client library snippets for Go/Rust/etc., a deployment recipe for Docker or Fly.

npm install && npm run dev gets you the server on :3001 and the dashboard on :5173, both with HMR. For a repeatable setup, use ./scripts/dev-bootstrap.sh on Bash or .\scripts\dev-bootstrap.ps1 on PowerShell; each preserves an existing .env. PRs should include a test, keep the existing suite green (npm test), and match the .editorconfig / tsconfig defaults already in the repo. Database migration workflow and the full contributor loop are in CONTRIBUTING.md.

Contributors

@moaaz12-web @lukasulc @VinhPhamAI @deadc @zhangyu1324 @kentpan

Recent activity

commits and pull requests

Releases and announcements

44 total
  1. v0.13.4 — Gizmo and BlockRun providersv0.13.4Oct 3, 20263.4K downloads

    ## New providers - Gizmo: API-key integration for recurring monthly free-model requests, with text chat and streaming. - BlockRun: API-key integration for zero-priced models, with exact-model checks that reject silent substitutions. - Both providers are available in Keys, environment-file imports, and routing. ## Catalog delivery The 10 tested routes are published separately through the signed Oracle catalog: 6 Gizmo and 4 BlockRun. No model rows are bundled into migrations. The existing Premium-immediate / Free-after-30-days catalog policy is unchanged. Upgrade to this version to use the new adapters. ## Verification Full server, CLI and client tests, lint, and all installer builds passed on PR #1396. Live key validation, chat and streaming checks passed for both adapters. Full change: https://github.com/tashfeenahmed/freellmapi/pull/1396

  2. v0.13.3v0.13.3Sep 30, 20267K downloads

    FreeLLMAPI v0.13.3 extends the output-limit fix to every provider and makes custom endpoints findable on the Keys page. ## Routing - **Output limits are learned from every provider, not just Groq and Ollama Cloud.** v0.13.2 taught the router to learn a model's output limit when it turns down a large `max_tokens` (as Claude Code sends), but it only recognised the wording Groq and Ollama Cloud use. OpenRouter, Together, Fireworks, DeepInfra, Mistral and custom endpoints phrase the same refusal differently, so their models were still set aside and marked as unable to use tools. The router now recognises those phrasings too, retries within the limit, and keeps the model in rotation. (#1367) ## Dashboard - **Search on the Keys page matches a custom endpoint's URL.** A custom provider row shows its endpoint host, and searching for that host now finds it, the same way the fallback table's search already did. (#1368) ## Updating Download the installer for your platform below, or use `ghcr.io/tashfeenahmed/freellmapi:v0.13.3` for Docker. The `latest` Docker tag also points to this release. Desktop users on v0.13.2 will see this update in the Updates panel. Existing keys and profiles

  3. v0.13.2v0.13.2Sep 29, 20263.3K downloads

    FreeLLMAPI v0.13.2 keeps Claude Code working on models that cap their output below what Claude Code asks for. ## Fixes - **Models with a smaller output limit keep working with Claude Code.** Claude Code asks for up to 128,000 output tokens. Some free models stop at 65,536 and turned the request down: Groq's gpt-oss-20b and Ollama Cloud's Nemotron 3 Super and Ultra. The router used to set those models aside and wrongly marked them as unable to use tools. Now it learns each model's output limit from the first refusal, retries straight away within that limit, and keeps within it from then on. This covers every endpoint: Claude/Anthropic, OpenAI chat, Responses and Gemini/Ollama. (#1364) ## Updating Download the installer for your platform below, or use `ghcr.io/tashfeenahmed/freellmapi:v0.13.2` for Docker. The `latest` Docker tag also points to this release. Desktop users on v0.13.1 will see this update in the Updates panel. Existing keys and profiles are retained. This release has no database migrations. [Full changelog](https://github.com/tashfeenahmed/freellmapi/compare/v0.13.1...v0.13.2) --- ⭐ Like the free router? [Go Premium](https://freellmapi.co/?utm_source=github&utm_m

  4. v0.13.1v0.13.1Sep 29, 2026243 downloads

    FreeLLMAPI v0.13.1 fixes "Rate limited" errors when you use Claude Code, Claude Desktop and other coding agents through the router. ## Fixes - **Claude Code and other agents no longer hit false "Rate limited" errors.** Coding agents send large tool definitions with every message, and the router left them out when sizing a request. It could send an agent's request to a model too small for it, such as Groq's 8k-per-minute models. The provider turned it down as too large, and the router reported that back as a rate limit. The router now counts tool definitions and sends each request only to models that can take it. This covers Claude Code, Claude Desktop, OpenAI-compatible agents, the Responses API and the Gemini/Ollama endpoints. (#1362) - **Groq errors no longer read as a used-up daily quota.** Every Groq limit error ends with "Upgrade to Dev Tier today", which the router mistook for a daily limit. Groq's per-minute limits now recover within the minute. (#1362) - **A request that is too large no longer benches the model.** The model is skipped for that one request only and stays available for everything else. Before, one large agent request could pile up penalties across your mode

  5. v0.13.0v0.13.0Sep 28, 20261.1K downloads

    FreeLLMAPI v0.13.0 fixes Claude Code on Gemini, makes the Windows desktop app visible in the tray, fills model lists for built-in providers the catalog does not carry, and handles Gemini's daily quota properly. ## New - **Fetch models for more built-in providers.** SiliconFlow, LongCat and GitHub keys could pass the health check while serving zero models. Their keys now get **Fetch models** in the dashboard, which reads the provider's own model list and lets you pick which ones to use. Picked models are marked "discovered", and the signed catalog always takes priority over them. Set `BUILTIN_MODEL_DISCOVERY=auto` to fetch them automatically. (#1357, #1359, closes #1348) - **Optional keys for AI Horde, Kilo and OVH.** These providers work without a key, and now you can also save a real key for them to get your own account's limits. Custom providers without a key no longer send a placeholder `Authorization` header. (#1356, #1332, closes #1331) - **Monthly usage and budget caps in the edit-key dialog.** See this month's requests and tokens for each key and set a monthly request or token cap. (#1351) ## Fixes - **Claude Code on Gemini.** Tool schemas with nested or tuple arrays wer

Code frequency

additions and deletions
+79.2K-79.2KWeek of 2026-04-19: +20,854 linesWeek of 2026-04-19: -205 linesWeek of 2026-04-26: +1,136 linesWeek of 2026-04-26: -655 linesWeek of 2026-05-03: +44 linesWeek of 2026-05-03: -18 linesWeek of 2026-05-10: +73 linesWeek of 2026-05-10: -3 linesWeek of 2026-05-17: +1,778 linesWeek of 2026-05-17: -574 linesWeek of 2026-05-24: +1,399 linesWeek of 2026-05-24: -152 linesWeek of 2026-05-31: +22,065 linesWeek of 2026-05-31: -3,872 linesWeek of 2026-06-07: +12,060 linesWeek of 2026-06-07: -5,476 linesWeek of 2026-06-14: +5,975 linesWeek of 2026-06-14: -867 linesWeek of 2026-06-21: +9,525 linesWeek of 2026-06-21: -480 linesWeek of 2026-06-28: +3,995 linesWeek of 2026-06-28: -283 linesWeek of 2026-07-05: +16,629 linesWeek of 2026-07-05: -3,789 linesWeek of 2026-07-12: +1,075 linesWeek of 2026-07-12: -156 linesWeek of 2026-07-19: +3,873 linesWeek of 2026-07-19: -296 linesWeek of 2026-07-26: +79,247 linesWeek of 2026-07-26: -4,483 linesWeek of 2026-08-02: +18,926 linesWeek of 2026-08-02: -7,445 linesWeek of 2026-08-09: +12,782 linesWeek of 2026-08-09: -805 linesWeek of 2026-08-16: +16,016 linesWeek of 2026-08-16: -2,230 linesWeek of 2026-08-23: +25,020 linesWeek of 2026-08-23: -1,322 linesWeek of 2026-08-30: +29,526 linesWeek of 2026-08-30: -11,801 linesWeek of 2026-09-06: +2,472 linesWeek of 2026-09-06: -361 linesWeek of 2026-09-13: +25,580 linesWeek of 2026-09-13: -8,953 linesWeek of 2026-09-20: +6,173 linesWeek of 2026-09-20: -428 linesWeek of 2026-09-27: +4,829 linesWeek of 2026-09-27: -491 linesWeek of 2026-10-04: +0 linesWeek of 2026-10-04: -0 linesApr 19, 2026Oct 4, 2026
+321.1K lines added, -55.1K removed over the last year.

Commits per week

last 52 weeks
790Week of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 9 commitsWeek of 2026-04-26: 14 commitsWeek of 2026-05-03: 3 commitsWeek of 2026-05-10: 2 commitsWeek of 2026-05-17: 20 commitsWeek of 2026-05-24: 18 commitsWeek of 2026-05-31: 79 commitsWeek of 2026-06-07: 52 commitsWeek of 2026-06-14: 18 commitsWeek of 2026-06-21: 28 commitsWeek of 2026-06-28: 28 commitsWeek of 2026-07-05: 47 commitsWeek of 2026-07-12: 8 commitsWeek of 2026-07-19: 11 commitsWeek of 2026-07-26: 68 commitsWeek of 2026-08-02: 37 commitsWeek of 2026-08-09: 59 commitsWeek of 2026-08-16: 34 commitsWeek of 2026-08-23: 47 commitsWeek of 2026-08-30: 65 commitsWeek of 2026-09-06: 14 commitsWeek of 2026-09-13: 45 commitsWeek of 2026-09-20: 35 commitsWeek of 2026-09-27: 27 commitsWeek of 2026-10-04: 0 commitsOct 12, 2025Oct 4, 2026
768 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 8 commitsSun 1:00 — 9 commitsSun 2:00 — 2 commitsSun 3:00 — 1 commitsSun 4:00 — 2 commitsSun 5:00 — 1 commitsSun 6:00 — 1 commitsSun 7:00 — 1 commitsSun 8:00 — 0 commitsSun 9:00 — 10 commitsSun 10:00 — 3 commitsSun 11:00 — 7 commitsSun 12:00 — 10 commitsSun 13:00 — 9 commitsSun 14:00 — 7 commitsSun 15:00 — 7 commitsSun 16:00 — 13 commitsSun 17:00 — 7 commitsSun 18:00 — 4 commitsSun 19:00 — 2 commitsSun 20:00 — 4 commitsSun 21:00 — 7 commitsSun 22:00 — 1 commitsSun 23:00 — 5 commitsMon 0:00 — 2 commitsMon 1:00 — 4 commitsMon 2:00 — 0 commitsMon 3:00 — 6 commitsMon 4:00 — 6 commitsMon 5:00 — 1 commitsMon 6:00 — 0 commitsMon 7:00 — 2 commitsMon 8:00 — 9 commitsMon 9:00 — 12 commitsMon 10:00 — 2 commitsMon 11:00 — 7 commitsMon 12:00 — 5 commitsMon 13:00 — 3 commitsMon 14:00 — 3 commitsMon 15:00 — 3 commitsMon 16:00 — 6 commitsMon 17:00 — 3 commitsMon 18:00 — 1 commitsMon 19:00 — 4 commitsMon 20:00 — 5 commitsMon 21:00 — 7 commitsMon 22:00 — 6 commitsMon 23:00 — 7 commitsTue 0:00 — 18 commitsTue 1:00 — 8 commitsTue 2:00 — 5 commitsTue 3:00 — 1 commitsTue 4:00 — 5 commitsTue 5:00 — 0 commitsTue 6:00 — 1 commitsTue 7:00 — 0 commitsTue 8:00 — 4 commitsTue 9:00 — 13 commitsTue 10:00 — 2 commitsTue 11:00 — 1 commitsTue 12:00 — 7 commitsTue 13:00 — 8 commitsTue 14:00 — 9 commitsTue 15:00 — 3 commitsTue 16:00 — 16 commitsTue 17:00 — 3 commitsTue 18:00 — 4 commitsTue 19:00 — 3 commitsTue 20:00 — 7 commitsTue 21:00 — 9 commitsTue 22:00 — 7 commitsTue 23:00 — 10 commitsWed 0:00 — 5 commitsWed 1:00 — 7 commitsWed 2:00 — 2 commitsWed 3:00 — 5 commitsWed 4:00 — 5 commitsWed 5:00 — 1 commitsWed 6:00 — 1 commitsWed 7:00 — 0 commitsWed 8:00 — 5 commitsWed 9:00 — 8 commitsWed 10:00 — 11 commitsWed 11:00 — 3 commitsWed 12:00 — 4 commitsWed 13:00 — 3 commitsWed 14:00 — 12 commitsWed 15:00 — 4 commitsWed 16:00 — 7 commitsWed 17:00 — 1 commitsWed 18:00 — 2 commitsWed 19:00 — 1 commitsWed 20:00 — 5 commitsWed 21:00 — 6 commitsWed 22:00 — 0 commitsWed 23:00 — 3 commitsThu 0:00 — 7 commitsThu 1:00 — 6 commitsThu 2:00 — 2 commitsThu 3:00 — 2 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 4 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 1 commitsThu 10:00 — 9 commitsThu 11:00 — 4 commitsThu 12:00 — 9 commitsThu 13:00 — 5 commitsThu 14:00 — 6 commitsThu 15:00 — 14 commitsThu 16:00 — 13 commitsThu 17:00 — 13 commitsThu 18:00 — 4 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 6 commitsThu 22:00 — 9 commitsThu 23:00 — 5 commitsFri 0:00 — 3 commitsFri 1:00 — 1 commitsFri 2:00 — 1 commitsFri 3:00 — 0 commitsFri 4:00 — 2 commitsFri 5:00 — 3 commitsFri 6:00 — 0 commitsFri 7:00 — 2 commitsFri 8:00 — 2 commitsFri 9:00 — 0 commitsFri 10:00 — 7 commitsFri 11:00 — 5 commitsFri 12:00 — 5 commitsFri 13:00 — 6 commitsFri 14:00 — 12 commitsFri 15:00 — 8 commitsFri 16:00 — 8 commitsFri 17:00 — 1 commitsFri 18:00 — 1 commitsFri 19:00 — 3 commitsFri 20:00 — 6 commitsFri 21:00 — 6 commitsFri 22:00 — 5 commitsFri 23:00 — 7 commitsSat 0:00 — 10 commitsSat 1:00 — 7 commitsSat 2:00 — 1 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 5 commitsSat 11:00 — 3 commitsSat 12:00 — 4 commitsSat 13:00 — 13 commitsSat 14:00 — 4 commitsSat 15:00 — 6 commitsSat 16:00 — 5 commitsSat 17:00 — 1 commitsSat 18:00 — 2 commitsSat 19:00 — 2 commitsSat 20:00 — 3 commitsSat 21:00 — 5 commitsSat 22:00 — 3 commitsSat 23:00 — 11 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits531 (64%)
Community commits303 (36%)

834 commits in total over the last year.

DateListRankStars gained
Oct 4, 2026monthly#18+6,502
Oct 3, 2026monthly#18+6,530
Oct 2, 2026monthly#15+6,611
Oct 1, 2026monthly#20+6,620
Sep 23, 2026monthly#20+8,746
Sep 22, 2026monthly#20+8,746
Sep 20, 2026monthly#15+8,509
Sep 19, 2026monthly#15+8,509
Sep 18, 2026monthly#14+8,304
Sep 17, 2026monthly#15+8,153
Sep 16, 2026monthly#16+8,012
Sep 4, 2026weekly#14+3,366
Sep 3, 2026weekly#14+3,366
Sep 2, 2026weekly#7+3,452
Sep 1, 2026weekly#7+3,640
  • freeCodeCamp/freeCodeCamp

    freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.

    456.7K stars · TypeScript

  • openclaw/openclaw

    The AI that really does things. Any OS. Any Platform. The lobster way. 🦞

    391.3K stars · TypeScript

  • anomalyco/opencode

    The open source coding agent.

    211.8K stars · TypeScript

  • n8n-io/n8n

    Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

    206.7K stars · TypeScript

  • microsoft/vscode

    Visual Studio Code

    193.5K stars · TypeScript

  • firecrawl/firecrawl

    Supercharge your AI agents with data from the web and beyond. Building the library for superintelligence. 🔥

    188.6K stars · TypeScript