As of October 2026, Eden AI's EU endpoint, Requesty's Frankfurt gateway and Opper's Stockholm gateway support EU model routes. OpenRouter routes shared requests across a wider European boundary, while LiteLLM and Kong let you host the gateway yourself. Keeping a request in the EU means selecting both an EU gateway and an EU model deployment. We make Requesty, one of the products compared here.
EU AI gateways compared
Product facts were checked October 2026. Pick Eden AI for its EU endpoint and multiple AI modalities; Opper for organization-wide location rules; Requesty for Frankfurt and configurable access; OpenRouter for its wider European boundary; LiteLLM for self-hosting; or Kong for an existing API gateway deployment.
| Product and fit | Gateway and inference | DPA and retention | Pricing basis |
|---|---|---|---|
| Requesty: Frankfurt and configurable governance | Frankfurt; select EU deployments and EU-only fallbacks | DPA on request; self-serve payload logging on by default for up to 30 days; ZDR available | 5% fee on top of prepaid credit top-ups; free start |
| Eden AI: EU endpoint and AI modalities | EU endpoint; eligible EU infrastructure, unavailable routes rejected | DPA; synchronous content not persisted by default; async and provider terms differ | 5.5% on credit purchases |
| Opper: Stockholm and route-level privacy | Stockholm; select EU routes or set EU rules on Control Plane | Standard DPA; no prompt storage by default; provider retention varies | 3% Gateway or 5.5% Control Plane on credit purchases |
| OpenRouter Business: regional shared routing | EU hostname; shared routes cover EU/EEA, UK and Switzerland; BYOK location is customer-controlled | DPA; regional payload logging skipped; provider and legal terms apply | 8% on Business credit purchases |
| Portkey: hybrid deployment | Customer VPC data plane; configure provider location separately | DPA link; log location and retention depend on configuration | Enterprise quote for VPC hosting |
| LiteLLM: self-hosted gateway | Customer-selected infrastructure and model deployments | Operator's infrastructure and provider agreements; operator configures logs | Edition, compute, database, logging and operations depend on setup |
| Kong: existing API management | Self-managed or hybrid gateway; customer configures inference | Terms and retention depend on deployment, logging and agreement | Deployment and agreement dependent |
Assume each service sells $100 of credits, the same model and region cost the same amount, all credits are spent, and there are no taxes or other charges. The total is $105 with Requesty, $103 with Opper Gateway, $105.50 with Opper Control Plane or Eden AI, and $108 with OpenRouter Business. For example, $100 + (5% of $100) = $105. BYOK fees, regional premiums and provider prices change the result. Requesty has no seat fees or minimums; enabled guardrail scanners can add standard-plan charges, and Enterprise pricing is custom.
Pick Cortecs for a French-hosted router with a public provider list and no persistent gateway payload logging. Its Sovereign Cloud setting selects EU-based providers, but its DPA lists some destinations outside EU member states. Disable request overwrites and review team settings, fallbacks and BYOK separately. Pick Orq.ai for a gateway bundled with evaluations and observability; check its workspace and provider locations, full-payload traces and account-data policy.
An EU gateway is only the first part of the route
The gateway routes the request; the model deployment runs inference. Either one can sit outside the EU, which is the part most teams miss.

EU, EEA and Europe are different boundaries
OpenRouter defines its European shared-routing region as the EU/EEA, UK and Switzerland. That is wider than EU member states. Eden AI's DPA describes EU inference for eligible content, with a legal-requirement exception; account data, support interactions and operational subprocessors are outside that content commitment.
Opper's DPA says billing and email processing can be outside the EEA. OpenRouter says account and operational data can be processed in the US. Review those categories separately. For tool calls, see how provider-native tools work through a gateway and check each tool's destination.
OpenRouter's regional shared-endpoint filter does not apply in the same way to your own provider resources. An Azure resource in the US can process a request sent through the EU hostname. Set its location explicitly and check external trace destinations. See OpenRouter's BYOK guidance.
What the regional controls enforce
Eden AI's EU endpoint is https://api.eu.edenai.run/v3/. Its DPA says administrative restrictions take precedence over fallback and requests fail when no eligible option is available.
Opper lets you select an EU route on any plan. On Control Plane, set both Inference location and Storage location to EU in the organization rule. A pinned disallowed route gets a 403 before reaching the provider. For pooled routes, excluded candidates are skipped and the call fails if none remain. Unknown inference locations fail the EU rule.
Opper's regional route directory includes Norway, so select the route's country for an EU-member-state policy. Its provider ZDR directory includes routes with abuse monitoring; some routes require an Enterprise agreement.
OpenRouter Business and Enterprise use https://eu.openrouter.ai/api/v1. Set allowed_data_regions to ["europe"] on the workspace default guardrail to enforce regional entry. This controls the hostname, not your BYOK infrastructure. On the EU endpoint, the web search plugin, web search and web fetch server tools, Batch and non-native PDF parsing are unavailable.
OpenRouter's DPA requires a written election for its API-payload addendum, which describes an EU/EEA boundary and exceptions for applicable law or customer instructions. Its Sensitive Data section requires agreement on covered categories. Ask how that commitment works with the wider shared-routing boundary if your policy requires EU member states only.
Pick Portkey hybrid for a data plane in your VPC and a control plane hosted by Portkey. Logs can stay in your VPC or go to Portkey's cloud. With LiteLLM or Kong, your team owns patching, databases and backups. PCG can scope an implementation in your cloud.
You can also skip the gateway and build on cloud inference directly. Amazon Bedrock geographic profiles route among destinations in a specified geography; global profiles can use supported regions worldwide. An EU profile can use more than one EU region, with the processing region recorded in CloudTrail's additionalEventData.inferenceRegion field. Google Vertex AI has an eu multi-region for eligible models. Microsoft Foundry distinguishes regional, data-zone and global deployments; obtain written clarification for a strict EU-member-state policy because Microsoft's deployment-types page describes the boundary differently.
Configure an EU request path on Requesty
Our Frankfurt gateway gives you one endpoint for EU deployments across providers. Restrict gateway entry, select the model deployments and decide what to retain. The EU routing documentation covers the endpoint and serving-region setup.

- 1Set the gateway region
As an organization admin, open Compliance. Under Serving region, choose Restrict regions, select EU and save. Use
https://router.eu.requesty.ai/v1as the OpenAI-compatible base URL. - 2Select EU deployments
Filter the Model Library for EU deployments and approve the ones you need. Keep organization Approved Models and every key, group and group-default access list, including lists available for future assignment, EU-only. Review every terminal candidate in nested fallback policies and restrict who can change these settings.
- 3Choose retention and review terms
Turn payload logging off per key or request organization-wide ZDR. If you require provider-side ZDR, use Model provider controls in Compliance to require zero-data-retention models. This is separate from Requesty-side ZDR. Request the DPA in Compliance. It covers Requesty as a processor, not upstream model providers. Review provider terms and the subprocessor list.
Groups and audit logs require Enterprise. On pay as you go, members can see organization-wide logs and analytics; disable payload logging for sensitive keys and review organization access. Enterprise adds role-scoped log visibility.
Create a Requesty API key, fund your balance for the paid model, set REQUESTY_API_KEY, and install the OpenAI Python SDK with pip install openai. The prompt uses a catalog-listed EU Bedrock deployment:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["REQUESTY_API_KEY"],
base_url="https://router.eu.requesty.ai/v1",
)
response = client.chat.completions.create(
model="bedrock/claude-sonnet-5-5@eu-central-1",
messages=[{"role": "user", "content": "Hello from Europe"}],
)
print(response.choices[0].message.content)The catalog also listed azure/gpt-6.1-terra@francecentral and vertex/gemini-3.5-flash@eu as EU deployments on October 30. For the Anthropic SDK, use https://router.eu.requesty.ai without /v1 as the base URL.
Test denial and fallback
In a separate test environment, use synthetic prompts and representative production key configurations. Record the configuration, response and provider evidence. Test an unapproved EU-hosted deployment first. Test a non-EU model ID only with an approved test destination and no personal data; never send production data outside your permitted boundary.
| Test | Expected result |
|---|---|
| Approved EU deployment through EU gateway | Request succeeds if the deployment is available |
| Unapproved EU-hosted or non-EU model through EU gateway | Configured model policy rejects the request before forwarding |
| Requesty global gateway with EU-only serving region | Request is rejected |
| Primary unavailable, EU fallback healthy | Configured EU fallback is attempted and serves the request |
| Primary and all eligible EU fallbacks unavailable | Request fails; inspect attempts for unexpected destinations |
| OpenRouter regional request with customer BYOK | Cloud resource and deployment type match your boundary |
Call a Requesty fallback with model="policy/your-policy-name"; the fallback guide covers nested chains. Test a disallowed EU-hosted nested candidate separately. Configuration rejection, runtime rejection and a skipped candidate are different outcomes. If you cannot establish that the candidate was evaluated and never contacted, the result is inconclusive; a credentials, balance or availability error alone does not prove the access check ran.
Test fallback with an isolated Vertex permission failure
Confirm the procedure and attempt evidence with Requesty first. In an isolated Google Cloud test project, create a Vertex service account without effective aiplatform.endpoints.predict permission. Google documents the required permission and the 403 PERMISSION_DENIED for insufficient permission. Register it as Vertex BYOK in a test organization. Set an EU Vertex primary to My own key and a healthy EU fallback on another provider to Requesty provided key. Avoid a strategy that switches the primary to Requesty credentials.
Set policy retries to zero, verify the fallback independently, and set max_retries=0 on the SDK client to avoid resending the whole request; see the SDK retry docs. For fallback success, confirm the primary reached the provider and failed, then the EU fallback served the request. For an all-failed test, use a separate policy with two EU Vertex candidates using the restricted key; confirm both failures and the final error. Confirm that the observed 403 advances the policy. A rejection before dispatch does not exercise an upstream failure.
Filter Logs by request ID, key, model and provider, and Analytics by policy. Requesty documents all failures in request logs when every candidate fails, but the Logs table is organized by API request. For a successful fallback, obtain provider-side evidence or ask Requesty for attempt-level evidence if the intermediate failure is not visible. Verify physical inference location with the provider; a response or model name alone cannot establish it.
EU AI gateway launch checklist
0 of 7 done
For assigning owners and recording decisions, use the AI governance framework.
What GDPR and zero retention cover
The European Data Protection Board identifies a GDPR transfer using three criteria: a GDPR-subject controller or processor makes personal data available to another organization in a non-EEA country or an international organization. A qualifying transfer must meet Chapter V conditions as well as ordinary GDPR obligations. GDPR does not require every personal-data workload to remain in the EU; a contract, sector rule or internal policy can impose that boundary. Adequacy decisions and appropriate safeguards such as standard contractual clauses are routes the EDPB describes for qualifying transfers.
Location is one part of the assessment. Access from another country, the organizations involved and their legal relationship also need review. GDPR Article 28 sets processor-contract requirements. A gateway DPA can cover onward subprocessors depending on its terms; BYOK can bring a separate provider agreement. The EU AI Act is a separate, risk-based framework. See the European Commission's timeline.
Zero data retention, or ZDR, needs a scope: which content, at which processor, and for which features? It does not prevent a prompt from reaching the model. Requesty's data privacy documentation says metadata and historical payload logs remain after organization ZDR is enabled; provider retention is separate. Eden AI's DPA permits supported asynchronous results to be kept for up to seven days. OpenRouter's provider ZDR controls have separate terms, and its planned in-flight CSAM screening may retain flagged content for review or legally required preservation.
Requesty's compliance report exports that evidence as a PDF or verifiable JSON file, covering chat completion traffic and the policies in force. Use the Enterprise audit log for policy changes and request separate evidence for other modalities.
This week, send a synthetic request to a disallowed model through the workload's intended key. Check the policy denial against provider evidence. Start with Requesty if the Frankfurt setup fits your boundary.
Frequently asked questions
- Which AI gateway keeps LLM requests in the EU?
- Eden AI has a dedicated EU endpoint for eligible request and response content. Requesty's Frankfurt gateway and Opper's Stockholm gateway support EU model deployments, with route controls that must be configured. OpenRouter's shared regional routes cover a wider European boundary that includes the UK and Switzerland.
- Is an EU-hosted AI gateway enough for GDPR compliance?
- No. Requesty, Eden AI, OpenRouter and other gateways have different model, retention and contract settings. You also need a lawful basis, appropriate processor agreements, security measures and an assessment of applicable transfers.
- Does GDPR require AI data to stay in the EU?
- GDPR does not impose a general EU-only hosting requirement. Qualifying transfers of personal data outside the European Economic Area must meet applicable GDPR conditions, while a contract, sector rule or internal policy may require a stricter location.
- Does OpenRouter have EU data residency?
- OpenRouter Business and Enterprise have an EU regional endpoint for shared routes within a European boundary that includes the EU, EEA, UK and Switzerland. Customers must check the location of their own BYOK deployments and observability destinations.
- Can Requesty route Claude, GPT and Gemini to EU deployments?
- Requesty lists EU-region deployments of Claude on Bedrock, GPT on Azure and Gemini on Vertex. Use the Frankfurt gateway and approve specific EU deployments and fallback routes; the gateway hostname alone does not restrict inference location.
- What does zero data retention mean for an AI gateway?
- Requesty gateway ZDR stops new prompt and output storage at Requesty; historical payload logs remain. Model-provider retention terms and operational metadata require separate review.
- What happens if an EU model is unavailable?
- Eden AI's EU endpoint and OpenRouter's regional shared routing reject requests when no eligible endpoint is available. With Requesty, configure EU-only fallback candidates and test that the request fails when none can serve it.
- JUL '26
Do provider native tools still work through an LLM gateway?
Web search, Gemini grounding, file search, MCP, prompt caching, reasoning tokens. The most repeated gateway question of the week, answered feature by feature with what passes through, what needs a flag, and what does not.
- SEP '26
An AI Governance Framework for Engineering Teams (Template)
Use this AI governance framework template to approve LLMs, control data and spend, assign owners, test agent permissions, and keep audit evidence.
