Requesty
Back|OCT '26AI GATEWAY / SECURITY
11 MIN READ|

EU AI Gateways Compared (2026): Keeping LLM Data in Europe

Last updated

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 fitGateway and inferenceDPA and retentionPricing basis
Requesty: Frankfurt and configurable governanceFrankfurt; select EU deployments and EU-only fallbacksDPA on request; self-serve payload logging on by default for up to 30 days; ZDR available5% fee on top of prepaid credit top-ups; free start
Eden AI: EU endpoint and AI modalitiesEU endpoint; eligible EU infrastructure, unavailable routes rejectedDPA; synchronous content not persisted by default; async and provider terms differ5.5% on credit purchases
Opper: Stockholm and route-level privacyStockholm; select EU routes or set EU rules on Control PlaneStandard DPA; no prompt storage by default; provider retention varies3% Gateway or 5.5% Control Plane on credit purchases
OpenRouter Business: regional shared routingEU hostname; shared routes cover EU/EEA, UK and Switzerland; BYOK location is customer-controlledDPA; regional payload logging skipped; provider and legal terms apply8% on Business credit purchases
Portkey: hybrid deploymentCustomer VPC data plane; configure provider location separatelyDPA link; log location and retention depend on configurationEnterprise quote for VPC hosting
LiteLLM: self-hosted gatewayCustomer-selected infrastructure and model deploymentsOperator's infrastructure and provider agreements; operator configures logsEdition, compute, database, logging and operations depend on setup
Kong: existing API managementSelf-managed or hybrid gateway; customer configures inferenceTerms and retention depend on deployment, logging and agreementDeployment 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.

A four-cell matrix compares gateway location and model inference location. Only the cell with both gateway and model in the EU satisfies both location requirements. Logs, account data, support and external traces also need review.
Both the gateway and inference legs need an EU location. Review data sent to logs, support and external services separately.

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.

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.

With an EU-only serving region and EU-only effective model lists configured, a wrong gateway or a disallowed direct model is rejected. The Frankfurt gateway forwards an allowed request to an approved EU deployment. A list that permits non-EU models can authorize a non-EU deployment; policy-candidate behavior needs a separate test.
These direct-call denials depend on the configured serving region and effective model lists. Test fallback-policy candidates separately.
  1. 1
    Set 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/v1 as the OpenAI-compatible base URL.

  2. 2
    Select 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.

  3. 3
    Choose 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:

Python
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.

TestExpected result
Approved EU deployment through EU gatewayRequest succeeds if the deployment is available
Unapproved EU-hosted or non-EU model through EU gatewayConfigured model policy rejects the request before forwarding
Requesty global gateway with EU-only serving regionRequest is rejected
Primary unavailable, EU fallback healthyConfigured EU fallback is attempted and serves the request
Primary and all eligible EU fallbacks unavailableRequest fails; inspect attempts for unexpected destinations
OpenRouter regional request with customer BYOKCloud 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

Scope
Contracts
Routing
Retention
Evidence

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.
Related reading

Start building with Requesty

One line of code. 600+ models. Full control.

Speak to founders