One endpoint for every embedding model
A free, OpenAI-compatible router for OpenAI, Voyage, Cohere, Mistral, and Google embeddings — bring your own key. Plus a lab to compare models on your own data before you commit.
Route to any provider with your own key
Works with your existing code
OpenAI-compatible. Point your base URL at EmbedRoute and pass your provider key.
1import OpenAI from 'openai'23// Drop-in: point the base URL at EmbedRoute, bring your own provider key.4const client = new OpenAI({5 apiKey: process.env.OPENAI_API_KEY, // your key (matches the model's provider)6 baseURL: 'https://www.embedroute.com/api/v1',7})89const res = await client.embeddings.create({10 model: 'openai/text-embedding-3-small',11 input: 'Your text to embed',12})1314console.log(res.data[0].embedding)
Set the base URL
Pass your provider key
Use any model
Everything you need
Route embeddings, and choose the right model with confidence.
Bring your own key
Pass your own provider key on each request. We never store it — no key vault to leak, and no reselling (which providers prohibit anyway).
OpenAI compatible
Drop-in with the OpenAI SDK — point the base URL at EmbedRoute and keep the same request and response shape across every provider.
Compare before you commit
The Lab runs your text through multiple models side-by-side — similarity heatmaps, retrieval rankings, price and latency — so you pick right the first time.
Voyage & Cohere included
Two of the strongest retrieval models — which OpenRouter’s embeddings endpoint still doesn’t offer (as of July 2026) — are first-class here.
Free, no markup
EmbedRoute adds nothing to provider pricing. You pay your provider directly with your own key. No credits, no waitlist.
Nothing to rot
The router and Lab are stateless — your keys live in your browser, results in your session. An optional account only adds usage history.
Which embedding model is right for your data?
Paste your documents, add a few queries, and run them through several models at once. See similarity heatmaps, side-by-side retrieval rankings, a 2D map of your corpus, and a price/latency table. It runs in your browser with your own keys.
Open the LabPricing
The router and the Lab are free. You pay your embedding provider directly, at their price, with your own key — EmbedRoute adds nothing.
Free forever for the router and Lab
- ✓ Unlimited BYOK routing
- ✓ Full model comparison Lab
- ✓ No markup, no credits, no waitlist
- ✓ Optional free account for usage history
Frequently asked questions
What is EmbedRoute?
EmbedRoute is a free, bring-your-own-key (BYOK) router for text embeddings. One OpenAI-compatible endpoint gives you access to OpenAI, Voyage, Cohere, Mistral, and Google embedding models — you supply your own provider API key, and we route the request. It also includes the Lab, a tool for comparing embedding models on your own data.
How much does it cost?
EmbedRoute is free and adds no markup. You pay your embedding provider directly using your own API key. There are no EmbedRoute credits, subscriptions, or minimums to use the router or the Lab.
What does “bring your own key” mean, and is it safe?
You pass your provider key in the X-Provider-Key header on each request. It is used only to make that request and is never stored on our servers. In the Lab, keys are kept in your browser’s localStorage and never leave it except with your own embedding requests. BYOK is also the only architecture that respects provider terms of service, which generally prohibit reselling API access.
Why compare embedding models at all?
Switching embedding models means re-embedding your entire corpus, because vectors from different models are not comparable. That makes the choice a long-lived, high-stakes one — model choice is one of the biggest drivers of RAG quality. The right time to compare is before you commit, which is exactly what the Lab is for.
How is this different from OpenRouter?
OpenRouter added embeddings in late 2025, and it is excellent. EmbedRoute is complementary: it is BYOK (your keys, your provider bill, no markup), it covers Voyage and Cohere embeddings that OpenRouter does not, and it pairs the router with a model-comparison Lab. If you just want a unified paid embeddings endpoint, OpenRouter is great; if you want to bring your own keys and compare models on your data, that is this.
Do I need an account?
No. The router and the Lab work without signing in. An optional free account adds an EmbedRoute API key so you can see your usage history across requests.