Quickstart

Two paths to your first FreeRouter request. Pick the one that matches where you're starting from — both end with live traffic flowing through a routing rule you control.

Just want to tinker first? Drop a FreeRouter key routed at your own OpenRouter key into .env and run npm install && npm start — chat in under five minutes on a free default model, then swap the same app to OpenRouter with two config values.
GitHubDownload & run demo from GitHub

Choose your path

Which one am I?

If you…Start withYou'll need
Have no gateway account yet, or are starting a new projectStarting freshAn email address (FreeRouter signup) — gateway accounts come in step 2
Already call an LLM API from code you want to keepMigratingYour current base URL / SDK setup and your gateway's API key (it becomes a provider key)

How FreeRouter fits (both paths)

Both paths run through the same three dashboard steps — account, provider key, FreeRouter key — written out once in Getting Started. Your app then sends one fr_live_... key and a routing rule decides which gateway serves each request.

Other starting points

You want to…Go to
Set up an account, provider key and FreeRouter key for the first timeGetting Started
Swap base URL + key in the SDK you already use (OpenAI, Anthropic, Claude Code, Vercel AI SDK, LangChain, LiteLLM, Responses, Gemini)Use your SDK
Fix a 401 / 402 / 404 / 502 on your first requestTroubleshooting
Know what changes behind the proxy — headers, limits, unsupported endpointsWhat's different

After either path

  • Hit the key card's Test key button in the dashboard to send a tiny live completion through your routing rule.
  • Confirm routing with the X-FreeRouter-Provider response header and GET /v1/models.
  • Watch spend and errors on the Usage & Spend page, then tune your rule on the Routing Rules page. Anything failing: Troubleshooting.
Next Quickstart — Starting fresh