The European alternative to the OpenAI API
EUrouter is the European alternative to the OpenAI API: a Dutch company with an OpenAI-compatible API that routes every request to EU-hosted providers on every plan, Free included. OpenAI offers EU data residency only to customers it approves, and OpenAI is a US company that the CLOUD Act reaches. Switching takes a new base URL and key.
By David Lo Dico, Founder, EUrouterReviewed on
EUrouter and OpenAI side by side
| Topic | EUrouter | OpenAI | Source |
|---|---|---|---|
| Company and law | EUrouter B.V., Amsterdam, the Netherlands. Terms and DPA are governed by Dutch law. | A public benefit corporation controlled by OpenAI, Inc., a Delaware nonprofit corporation, United States. | Checked 28 October 2026 |
| EU data residency | Included on every plan, Free included. Requests go only to EU/EEA-hosted provider endpoints by default. | A project setting for eligible customers, who ask OpenAI's sales team whether they qualify. Regions outside the US also need approval for abuse monitoring controls and a Modified Retention amendment. | Checked 28 October 2026 |
| What stays in the region | Customer API data is routed through EU/EEA configurations only, and personal data is processed only in the EEA (DPA section 5). | Customer content for eligible endpoints and models in an EU project. System data, such as account data, usage, billing, support requests and structured output schemas, may be processed and stored outside the region. | Checked 28 October 2026 |
| Prompt storage | Request and response content is not stored after the request completes, by default (DPA section 10). | Abuse monitoring logs, which may contain prompts and responses, are kept for up to 30 days by default. Zero Data Retention needs OpenAI's prior approval. | Checked 28 October 2026 |
| Training on API data | Customer API data is not used to train, fine-tune or improve models, and all 17 providers are listed with no training (DPA sub-processor list). | API data has not been used to train OpenAI models since 1 March 2023, unless the customer opts in. | Checked 28 October 2026 |
| Who processes a request | 17 providers, 15 of them headquartered in the EU. eu_owned: true limits a request to those 15. | OpenAI and its sub-processors. For eu.api.openai.com, Cloudflare Regional Services terminates TLS and decrypts HTTPS in the region. | Checked 28 October 2026 |
| Models in the EU | 156 models from 26 labs, all served from EU/EEA-hosted providers, among them 23 OpenAI models and 23 Mistral models. | EU data residency covers the endpoints, models and snapshots OpenAI lists as eligible. Some features are left out, such as Fast mode for GPT-6 Astra and GPT-6 Sol. | Checked 28 October 2026 |
| API | OpenAI-compatible at https://api.eurouter.ai/api/v1. The OpenAI SDKs work with a new base URL and an EUrouter key. | The OpenAI API, with eu.api.openai.com for projects set to the Europe (EEA and Switzerland) region. | Checked 28 October 2026 |
Why do teams in the EU leave the OpenAI API?
Because an EU region doesn't make OpenAI European. OpenAI is a US company: its for-profit arm is a public benefit corporation controlled by OpenAI, Inc., a Delaware nonprofit corporation (Delaware Attorney General, 28 October 2025). US law follows US companies, not servers: the CLOUD Act obliges a US provider to hand over data in its possession, custody or control, wherever that data is stored (18 U.S.C. § 2713). For a European company that sends contracts, source code or customer data to an AI API, that is a strategic dependency, not only a compliance question.
OpenAI's own data controls page, checked on 28 October 2026, shows where the gaps are:
- EU data residency is by approval. It is a project setting for eligible customers, and OpenAI tells customers to ask its sales team whether they qualify. Any region outside the US also needs approval for abuse monitoring controls and a signed Modified Retention amendment.
- Part of your data still leaves the region. Data residency doesn't cover system data: account data, usage statistics, billing information, support requests and structured output schemas may be processed and stored outside the selected region.
- Prompts sit in abuse logs for 30 days. By default, OpenAI keeps abuse monitoring logs, which may contain prompts and responses, for up to 30 days. Zero Data Retention needs OpenAI's prior approval.
- Not every model or feature is covered. EU residency applies to the endpoints, models and snapshots OpenAI lists as eligible; Fast mode, for example, is not available with EU data residency for GPT-6 Astra or GPT-6 Sol.
To be fair to OpenAI: its API data has not been used to train OpenAI models since 1 March 2023, unless a customer opts in. The question for an EU team is not training. It is who controls the data, and under which law.
EUrouter answers each of these the other way around. EUrouter B.V. is an Amsterdam company, and its terms and DPA are governed by Dutch law. Every plan routes only to EU-hosted providers, with no sales call and no amendment, and personal data in API traffic is processed only in the EEA (EUrouter DPA, section 5).
What do you get with EUrouter?
EUrouter is an OpenAI-compatible API that is European by default: a European company, European infrastructure and mostly European providers, on every plan.
EU-hosted by default, on every plan
EUrouter sends inference traffic only to providers with EU-hosted endpoints, from the first request on the Free plan (routing docs). There is no residency setting to request and no plan to upgrade to. When a provider is down, EUrouter falls back to another EU-hosted provider of the same model, so a request never leaves Europe to stay online.
European companies all the way down
On 28 October 2026, 15 of the 17 providers in the EUrouter catalog are headquartered in the EU, among them Mistral AI, Scaleway, OVHcloud, IONOS and Nebul (providers). AWS Bedrock and Microsoft Foundry serve models from EU regions. When your policy asks for European companies only, set eu_owned: true on a request, or once in a routing rule set as your API keys' default (routing rules), and those two are excluded.
OpenAI models in Europe, and European models next to them
EUrouter serves 156 models from 26 labs on 28 October 2026, among them 23 OpenAI models and 23 Mistral models. GPT models run on Microsoft Foundry in EU regions. OpenAI's open-weight gpt-oss-120b runs on 9 providers, and 8 of them are European companies: AKI.IO, GreenPT, Infercom, IONOS, Nebul, OVHcloud, Regolo and Scaleway. The tables below read the live catalog, so models, prices and providers are always current.
OpenAI models, served from EU regions:
| Model | Lab | Context (tokens) | Input per 1M tokens | Output per 1M tokens | Providers |
|---|---|---|---|---|---|
| GPT-4.1 | OpenAI | 1,047,576 | $2.20 | $8.80 | Microsoft Foundry |
| GPT-4.1 Mini | OpenAI | 1,047,576 | $0.44 | $1.76 | Microsoft Foundry |
| GPT-4.1 Nano | OpenAI | 1,047,576 | $0.11 | $0.44 | Microsoft Foundry |
| GPT-4o | OpenAI | 128,000 | $2.75 | $11.00 | Microsoft Foundry |
| GPT-4o Mini | OpenAI | 128,000 | $0.17 | $0.66 | Microsoft Foundry |
| GPT-5 Mini | OpenAI | 400,000 | $0.28 | $2.20 | Microsoft Foundry |
| GPT-5 Nano | OpenAI | 400,000 | $0.06 | $0.44 | Microsoft Foundry |
| GPT-5.4 | OpenAI | 1,050,000 | $2.75 | $16.50 | Microsoft Foundry |
| GPT-5.6 Luna | OpenAI | 1,050,000 | $0.22 | $1.32 | Microsoft Foundry |
| GPT-5.6 Sol | OpenAI | 1,050,000 | $4.40 | $22.00 | Microsoft Foundry |
| GPT-5.6 Terra | OpenAI | 1,050,000 | $2.20 | $13.20 | Microsoft Foundry |
| GPT-6 Luna | OpenAI | 1,050,000 | $0.12 | $0.60 | Microsoft Foundry |
| GPT-6 Sol | OpenAI | 1,050,000 | $2.40 | $12.00 | Microsoft Foundry |
| GPT-6.1 Sol | OpenAI | 1,050,000 | $2.40 | $12.00 | Microsoft Foundry |
| GPT-OSS 120B | OpenAI | 131,072 | €0.08 | €0.40 | AKI.IO, AWS Bedrock, GreenPT, Infercom, IONOS Cloud, Nebul, OVHcloud, Regolo, Scaleway |
| GPT-OSS 20B | OpenAI | 131,072 | €0.04 | €0.15 | AWS Bedrock, OVHcloud, Regolo |
| o3-mini | OpenAI | 200,000 | $1.21 | $4.84 | Microsoft Foundry |
| o4-mini | OpenAI | 200,000 | $1.21 | $4.84 | Microsoft Foundry |
Mistral models on European providers:
| Model | Lab | Context (tokens) | Input per 1M tokens | Output per 1M tokens | Providers |
|---|---|---|---|---|---|
| Codestral | Mistral AI | 131,072 | $0.33 | $0.99 | Mistral AI |
| Devstral 2 123B Instruct | Mistral AI | 200,000 | $0.48 | $2.40 | GreenPT, AWS Bedrock |
| Magistral Medium 1.2 | Mistral AI | 40,000 | $2.20 | $5.50 | Mistral AI |
| Magistral Small 1.2 | Mistral AI | 40,000 | $0.55 | $1.65 | Mistral AI |
| Ministral 3 14B | Mistral AI | 262,144 | $0.22 | $0.22 | Nebul, Mistral AI |
| Ministral 3 3B | Mistral AI | 262,144 | $0.11 | $0.11 | Mistral AI |
| Ministral 3 8B | Mistral AI | 262,144 | $0.17 | $0.17 | Mistral AI |
| Mistral Large 3 | Mistral AI | 262,144 | $0.55 | $1.65 | Nebul, Mistral AI |
| Mistral Large 4 | Mistral AI | 1,048,576 | $1.50 | $4.60 | Mistral AI |
| Mistral Medium 3.1 | Mistral AI | 131,072 | $1.65 | $8.25 | Mistral AI |
| Mistral Medium 3.5 | Mistral AI | 180,000 | €1.50 | €7.50 | GreenPT, Scaleway |
| Mistral Nemo 12B | Mistral AI | 120,832 | €0.13 | €0.13 | IONOS Cloud, OVHcloud |
| Mistral Small 24B Instruct | Mistral AI | 128,000 | $0.11 | $0.33 | IONOS Cloud |
| Mistral Small 3.2 24B | Mistral AI | 131,072 | €0.09 | €0.28 | Berget AI AB, GreenPT, OVHcloud, Scaleway |
| Mistral Small 4 | Mistral AI | 262,144 | $0.17 | $0.66 | Regolo, Mistral AI, AKI.IO |
| Voxtral Small 24B | Mistral AI | 32,000 | $0.11 | $0.44 | Mistral AI |
Every model, with its providers and prices, is in the EUrouter model catalog.
No prompts stored
EUrouter doesn't store the content of requests or responses after a request completes; it keeps only metadata such as timestamps, model identifiers and token counts for billing (EUrouter DPA, section 10). All 17 providers are listed in the DPA with no prompt retention and no training.
How do you switch from the OpenAI API to EUrouter?
Switching from the OpenAI API to EUrouter takes two changes in an OpenAI SDK client: the base URL becomes https://api.eurouter.ai/api/v1 and the API key becomes an EUrouter key. Messages, streaming and tool calls stay the same (OpenAI SDK guide).
- Create a free account at EUrouter sign-up and create a key under API Keys in the dashboard. EUrouter keys start with
eur_(quickstart). - Replace the base URL and the key in your client, as in the examples below.
- Pick the model: keep a GPT model, or move to
gpt-oss-120bor a Mistral model on European providers. Model IDs are in the model catalog. - Add the European controls your policy asks for:
eu_owned,data_residencyandmax_retention_days(routing docs).
Python, with OpenAI's open-weight model on European providers only:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.eurouter.ai/api/v1",
api_key=os.environ["EUROUTER_API_KEY"],
)
response = client.chat.completions.create(
model="gpt-oss-120b",
messages=[{"role": "user", "content": "Name three EU member states."}],
extra_body={"provider": {"eu_owned": True}},
)
print(response.choices[0].message.content)TypeScript, with a Mistral model:
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.eurouter.ai/api/v1",
apiKey: process.env.EUROUTER_API_KEY,
});
const response = await client.chat.completions.create({
model: "mistral-large-3",
messages: [{ role: "user", content: "Name three EU member states." }],
});
console.log(response.choices[0].message.content);The same request without an SDK:
curl https://api.eurouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $EUROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-oss-120b",
"messages": [{"role": "user", "content": "Name three EU member states."}],
"provider": {"eu_owned": true}
}'What changes and what stays, checked against the EUrouter API reference on 28 October 2026:
| What | OpenAI API | EUrouter |
|---|---|---|
| Base URL | api.openai.com, or eu.api.openai.com for approved EU projects | https://api.eurouter.ai/api/v1 on every plan |
| API key | OpenAI key | EUrouter key, starting with eur_ |
| Chat model | gpt-5.6-terra | gpt-5.6-terra on Microsoft Foundry in the EU, or gpt-oss-120b and Mistral models on European providers |
| Embeddings | text-embedding-3-small | text-embedding-3-small on Microsoft Foundry in the EU, or mistral-embed from Mistral AI |
| Transcription | whisper-1 | openai/whisper-large-v3 on Scaleway and OVHcloud |
| Endpoints | Chat Completions, Responses, Embeddings, Audio and more | Chat Completions, Responses, Embeddings, Audio transcription, Rerank |
| OpenAI-only endpoints | Assistants, Threads, Vector stores, Files, Batch, Fine-tuning and Realtime | No EUrouter equivalent |
What other European options are there?
Besides EUrouter, three other routes keep your AI in Europe:
- Mistral AI (Paris, France): Mistral's own API, which hosts data in the European Union by default unless you choose its US endpoint (Mistral help center). A fit when Mistral's models are all you need.
- OVHcloud AI Endpoints (France): an OpenAI-compatible API for open models, hosted and run in the European Union (OVHcloud). A fit for teams already on OVHcloud.
- IONOS AI Model Hub (Germany): open-source models through an OpenAI-compatible REST API in IONOS Cloud data centers (IONOS). A fit for teams already on IONOS.
EUrouter routes to Mistral AI, OVHcloud and IONOS too, so you can use all three through one key and one contract. If your workload has no European requirement and you want OpenAI's newest models and features first, OpenAI's own API is built for that.
Moving away from OpenRouter instead? See the European alternative to OpenRouter, and for the difference between an EU region and European control, read data sovereignty for AI.
Start in Europe today
Create a free account, point your OpenAI client at https://api.eurouter.ai/api/v1, and your next request runs in Europe. Start free, read the routing docs, or talk to us about your DPA review.
Frequently asked questions
- Does the OpenAI API have EU data residency?
- Yes, for customers OpenAI approves. EU data residency is a project setting for eligible customers, who ask OpenAI's sales team whether they qualify, and it needs approval for abuse monitoring controls and a Modified Retention amendment. It covers customer content for eligible endpoints and models; account, usage and billing data may be processed outside the region. EUrouter is EU-hosted by default on every plan.
- Does OpenAI train on API data?
- No, not by default. OpenAI's data controls page says data sent to the OpenAI API has not been used to train OpenAI models since 1 March 2023, unless a customer opts in. OpenAI does keep abuse monitoring logs, which may contain prompts and responses, for up to 30 days by default. EUrouter doesn't store request or response content after a request completes.
- Is the OpenAI API GDPR compliant?
- That depends on your setup and your DPO's assessment, not on a label. OpenAI offers data controls and, for approved customers, EU data residency. OpenAI is still a US company, so US law such as the CLOUD Act applies to data it controls wherever it is stored. EUrouter is a European company whose API traffic is processed in the EEA, and eu_owned: true keeps a request with European providers.
- Can I keep using GPT models with EUrouter?
- Yes. EUrouter serves 23 OpenAI models on 28 October 2026. GPT models run on Microsoft Foundry in EU regions, and OpenAI's open-weight gpt-oss-120b runs on 9 providers, 8 of them headquartered in the EU, such as Scaleway, OVHcloud and IONOS. Set eu_owned to true to use only European companies.
- Azure OpenAI or OpenAI: which is better for EU data?
- Both come from US companies: Azure OpenAI is a Microsoft service, and OpenAI is controlled by OpenAI, Inc., a Delaware nonprofit corporation. An EU region of either still leaves the data with a US company. EUrouter serves GPT models through Microsoft Foundry in EU regions when you want them, and eu_owned: true switches a request to European providers only.
- Mistral or OpenAI: which should a European team use?
- Mistral AI is a Paris company, and its help center says its API hosts data in the European Union by default. For a team that wants European models from a European company, Mistral is the closest match to OpenAI. EUrouter serves 23 Mistral models on 28 October 2026, 19 of them on European providers such as Mistral AI, Scaleway and OVHcloud, through one OpenAI-compatible API.
- Do I have to rewrite my code to move from the OpenAI API to EUrouter?
- No. In an OpenAI SDK client you change the base URL to https://api.eurouter.ai/api/v1 and the API key to an EUrouter key. Chat Completions, streaming and tool calls work as before. Check each model ID in the EUrouter catalog; OpenAI-only endpoints such as Assistants, Batch and fine-tuning have no EUrouter equivalent.
Sources
- Data controls in the OpenAI platform, OpenAI (accessed 28 October 2026)
- AG Jennings completes review of OpenAI recapitalization, Delaware Department of Justice (accessed 28 October 2026)
- 18 U.S. Code § 2713, Required preservation and disclosure of communications and records (CLOUD Act), Legal Information Institute, Cornell Law School (accessed 28 October 2026)
- Where do you store my data or my Organization's data? (updated 12 August 2026), Mistral AI (accessed 28 October 2026)
- AI Endpoints, OVHcloud (accessed 28 October 2026)
- AI Model Hub, IONOS (accessed 28 October 2026)
- Data Processing Agreement and provider and sub-processor list, EUrouter (accessed 28 October 2026)
- General Terms and Conditions, EUrouter (accessed 28 October 2026)
- Routing, EUrouter (accessed 28 October 2026)
- Models and providers API, EUrouter (accessed 28 October 2026)