0% platform fee — first 1,000,000 customersClaim 0% fee
Integrations

If it speaks the OpenAI API,
it works with Nemo Router.

A fully OpenAI-compatible REST API: every framework, SDK, and tool that already talks to OpenAI talks to Nemo Router. Change two lines — keep one key, one bill, and built-in guardrails across 97+ models.

No bespoke plugins needed — compatibility is the integration

  • OpenAIAPI surfaceDrop-in /v1/chat/completions, /embeddings, /models
  • 7SDK languagesPython, Node, Go, Java, Ruby, PHP, cURL
  • 7Frameworks testedLangChain, LlamaIndex, Vercel AI, CrewAI & more
  • 2Lines to switchbase_url + api_key — nothing else changes
Quickstart

Three steps, two lines of code.

There is no Nemo Router SDK you are forced to adopt. These snippets are generated from the canonical SDK examples — the same source the playground and keys page use.

Step 1

Create a key

Sign up at nemorouter.ai, generate a Nemo Router virtual key (sk-nemo-…), and grab the base URL.

Step 2

Point your client

Set base_url to the Nemo Router endpoint and api_key to your key. That is the entire integration.

Step 3

Ship

Your framework, SDK, and observability tooling all run unchanged — now with one key, one bill, and built-in guardrails.

Installpip install nemoroutersdk
1# Cache: enabled (org default). Pass nemo_cache: false to skip.
2from nemoroutersdk import NemoRouter, NemoGuardrailBlockedError
3
4client = NemoRouter() # reads NEMOROUTER_API_KEY from env
5
6try:
7 response = client.chat.completions.create(
8 model="gemini-2.5-flash-lite",
9 temperature=1,
10 max_tokens=1024,
11 top_p=1,
12 messages=[
13 {"role": "user", "content": "Hello! What models do you support?"},
14 ],
15 # nemo_cache=False, # Uncomment to skip cache
16 )
17 print(response.choices[0].message.content)
18
19 # Auto-captured metadata
20 meta = client.last_response
21 if meta:
22 print(f"Cost: ${meta.cost}")
23 print(f"Guardrails: {meta.guardrails_applied}")
24
25except NemoGuardrailBlockedError as e:
26 print(f"Blocked by guardrail: {e}")

Base URL is always https://api.nemorouter.ai/v1. Works with the official OpenAI SDKs and any OpenAI-compatible client.

Frameworks

The frameworks your team already uses.

Each of these is a standard OpenAI-API client. Nemo Router does not ship a bespoke plugin for them — it does not need to. They work because the API surface is identical.

LangChain

Use ChatOpenAI with base_url set to the Nemo Router endpoint. Every chain, tool, and agent runs unchanged.

pip install langchain-openaiProvider docs

LlamaIndex

Point the OpenAI LLM class at Nemo Router. Query engines and retrievers keep working — only the endpoint moves.

pip install llama-index-llms-openaiProvider docs

Vercel AI SDK

Configure the @ai-sdk/openai provider with a custom baseURL. streamText and generateText route through Nemo Router.

npm install ai @ai-sdk/openaiProvider docs

Haystack

OpenAIGenerator and OpenAIChatGenerator accept an api_base_url — set it to Nemo Router and your pipelines are unchanged.

pip install haystack-aiProvider docs

CrewAI

CrewAI reads OpenAI-style env vars. Set OPENAI_API_BASE to the Nemo Router endpoint and your crews run on managed models.

pip install crewaiProvider docs

AutoGen

AutoGen LLM configs take a base_url field. Drop in the Nemo Router endpoint and every agent message routes through the gateway.

pip install autogen-agentchatProvider docs

Google ADK

ADK speaks the OpenAI-compatible interface — point it at Nemo Router to keep one key and one bill.

pip install google-adk

Any OpenAI client

Instructor, Marvin, DSPy, Semantic Kernel… If a library accepts an OpenAI base URL or honors OPENAI_API_BASE, it works. No SDK fork, no shim.

SDK matrix — one endpoint, every language

Python

pip install nemoroutersdk

Nemo Router SDK or openai

Python (OpenAI)

pip install openai

openai.OpenAI(base_url=…)

Node.js / TypeScript

npm install openai

new OpenAI({ baseURL })

Go

go get github.com/sashabaranov/go-openai

openai.ClientConfig{ BaseURL }

Java

Maven / Gradle — openai-java

OpenAIOkHttpClient.builder()

Ruby

gem install ruby-openai

OpenAI::Client.new(uri_base:)

PHP

composer require openai-php/client

OpenAI::factory()->withBaseUri()

cURL / HTTP

Any HTTP client

POST /v1/chat/completions

Live, runnable snippets for every language are on the playground and your dashboard keys page. If a library honors OPENAI_API_BASE, it already works.

Why route through Nemo

The integration buys you more than a base URL.

Pointing your client at Nemo Router is two lines — but those two lines move every request behind a managed gateway: one key for every model, guardrails at the gateway instead of in your framework code, and real cost accounting on every call.

  • One key for every model — switch models by changing a string, no per-provider keys
  • PII redaction, prompt-injection detection, and secret scanning run at the gateway
  • Per-key, per-team spend tracked in real time — credits reserve and settle automatically
  • Langfuse, Datadog, S3, and Slack callbacks are dashboard toggles, not webhook code you maintain

Your code

OpenAI SDK, unchanged

base_url + api_key — two lines, nothing else moves

Nemo gateway

Guardrails · budgets · cost tracking

Every request guarded, attributed, and settled exactly

Providers

97+ models, one bill

We manage every provider key and relationship

Observability & tooling

Logging callbacks, built in.

Request logs, traces, and metrics forwarded to the tools your platform team already runs — configured from Logging → Callbacks, with zero changes to your application code. Alerts also fan out over generic webhooks.

Langfuse

Traces, spans, and token usage for prompt analytics and evals — configured once under Logging → Callbacks.

Datadog

Request logs and latency metrics alongside the rest of your service telemetry.

Amazon S3

Raw request logs archived to a bucket you control — retention, audit, batch analysis.

Slack

LLM errors, budget thresholds, and provider outages routed to a channel — 8 alert types.

UpcomingOn the roadmap — Terraform provider & CLI

Terraform provider — manage keys, teams, budgets, and guardrails as code. Planned — not yet published to the Terraform registry.

CLI tool — a nemo command for keys, usage, and config from the terminal. In design — no install command to publish yet.

These are full product builds, not marketing pages — we track them as committed roadmap items, not shipped features. Want early access? sales@nemorouter.ai

Two lines · five minutes

Plug Nemo Router into your stack today.

Keep your framework, keep your SDK, keep your observability tooling. Change the base URL and the key — get one bill, built-in guardrails, and real cost tracking.

OpenAI-compatible · one key · guardrails included