EU GPT logo
EU GPT

Public preview — This API is in public preview. Endpoints, schemas, and limits may change before general availability.

API

EU GPT API

Sovereign, OpenAI-compatible AI for European applications. Build with the same shape you already know, on infrastructure that stays in Europe.

The EU GPT API gives your application programmatic access to sovereign, EU-hosted large language models. It speaks the OpenAI Responses API shape, so the official openai SDKs and most existing integrations work with only a base URL change.

This documentation covers everything you need to integrate: authentication, the request and response shapes, streaming events, tool use, and the full OpenAPI reference.

Why EU GPT#

  • European jurisdiction. All inference, storage, and logs stay within Scaleway’s EU regions. No data egress to non-European providers.
  • GDPR and EU AI Act by default. Compliance is the starting point, not a feature flag.
  • OpenAI-compatible shape. If your code calls the OpenAI Responses API today, switching is a configuration change.
  • Built-in tools. Web search, web fetch, calculator, and datetime are auto-approved for API callers.

What you can build#

  • Internal copilots that ground answers in your own documents (RAG-ready when paired with file upload).
  • Multi-step agents that call tools, fetch sources, and cite them.
  • Document analysis pipelines that stream long-form output efficiently.
  • Public-facing assistants that must keep all data in Europe.

Three steps to your first response#

  1. Get an API key from the EU GPT web app under Settings → API Keys.
  2. Make your first request with curl, the OpenAI SDK, or any HTTP client.
  3. Handle the stream as Server-Sent Events, or set stream: false for a single JSON blob.

Conventions#

  • All endpoints are versioned under /v1. Breaking changes will land on a new prefix.
  • Request and response bodies are JSON unless explicitly multipart.
  • Streaming responses use Server-Sent Events with OpenAI-compatible event names.
  • Timestamps are Unix epoch milliseconds. IDs are UUIDs.
  • Errors return a JSON body with both detail and error fields — see Errors.