Streaming Endpoints and Data Zones

Choose the endpoint that best fits your application’s requirements—whether that’s achieving the lowest possible latency or ensuring your audio data stays within a specific geographic region.

Edge Routing

The default endpoint (streaming.assemblyai.com) automatically routes requests to the nearest available region, minimizing latency for real-time transcription. With infrastructure in Oregon, Virginia, and Ireland, this endpoint delivers best-in-class streaming performance regardless of where your users are located.

Data Zone Routing

Data Zone endpoints guarantee your data never leaves the specified region. This is designed for organizations with strict data residency and governance requirements—your audio and transcription data will remain entirely within the US or EU, respectively.

Endpoints

EndpointWebSocket URLDescription
Edge Routing (default)wss://streaming.assemblyai.com/v3/wsLowest latency, nearest region
US data residencywss://streaming.us.assemblyai.com/v3/wsData stays in the US
EU data residencywss://streaming.eu.assemblyai.com/v3/wsData stays in the EU

Which endpoint should I use?

  • Optimizing for latency? Use Edge Routing (default). No configuration change is needed — it automatically routes to the nearest region for the fastest response.
  • Need data residency? Use a Data Zone endpoint. Choose US or EU to ensure your audio and transcription data stays within that region.

How to use it

Update your WebSocket connection URL to your preferred endpoint. Select an endpoint tab below to see examples for each.

Edge Routing is the default. If you’re using the SDKs without overriding the base URL, you’re already using this endpoint. No configuration change is required.

1import assemblyai as aai
2from assemblyai.streaming.v3 import (
3 StreamingClient,
4 StreamingClientOptions,
5 StreamingParameters,
6)
7
8api_key = "<YOUR_API_KEY>"
9
10# No api_host override needed — Edge Routing is the default
11client = StreamingClient(
12 StreamingClientOptions(
13 api_key=api_key,
14 )
15)
16
17client.connect(
18 StreamingParameters(
19 sample_rate=16000,
20 speech_model="u3-rt-pro",
21 )
22)
23client.stream(aai.extras.MicrophoneStream(sample_rate=16000))