speechmatics-rt
Speechmatics Real-Time API Client
What it is and what it does
This is an async-first Python client library for Speechmatics' real-time speech-to-text API. It wraps WebSocket communication to the Speechmatics service, allowing you to send audio streams and receive transcription results as they arrive. The library handles connection lifecycle, authentication (via API key or JWT), and event dispatch for transcript updates.
The package supports two main use patterns: single-stream transcription for simple cases where you're processing one audio source, and multi-channel transcription for scenarios where you need to simultaneously process multiple audio inputs with channel identification and diarization. Both patterns use an event-driven architecture where you register handlers for transcript events and let the client invoke them as results arrive. Type hints throughout the codebase provide IDE support and runtime safety.
Use it for:
- Build a real-time call transcription service that processes multiple participant audio streams simultaneously and labels output by speaker.
- Create a live meeting assistant that transcribes audio as it streams and triggers downstream actions on transcript events.
- Implement a voice command interface that sends microphone input to Speechmatics and reacts to recognized commands.
- Develop a multi-language customer support dashboard that transcribes calls from multiple channels in real time.
- Integrate speech-to-text into a browser application using JWT tokens for secure, short-lived authentication.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Async Python client for real-time speech-to-text transcription via the Speechmatics API, supporting both single-stream and multi-channel audio processing over WebSocket.
Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, and offers a clean async interface for a specific task (real-time Speechmatics transcription). Install it if you need to integrate Speechmatics' real-time API; skip it if you're using a different speech-to-text provider or don't need real-time streaming.
Install
speechmatics-rt on PyPI
pip
pip install speechmatics-rtuv
uv add speechmatics-rtpoetry
poetry add speechmatics-rtInstalling speechmatics-rt
Before you install
Low friction install with only two runtime dependencies (websockets and typing-extensions). Package is actively maintained with recent commits and is in beta status, having been released since June 2025.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for most projects.
Quickstart
pip install speechmatics-rt
import asyncio
from speechmatics.rt import AsyncClient, ServerMessageType
async def main():
async with AsyncClient() as client:
@client.on(ServerMessageType.ADD_TRANSCRIPT)
def handle_transcript(msg):
print(msg['metadata']['transcript'])
with open('audio.wav', 'rb') as f:
await client.transcribe(f)
asyncio.run(main())
Requires Python 3.9 or later; SPEECHMATICS_API_KEY environment variable or explicit authentication must be configured.
Verify before relying
- Actual latency and throughput characteristics for real-time transcription workloads.
- Supported audio formats, sample rates, and codec requirements.
- Rate limits and quota behavior under sustained multi-channel load.
- Retry and reconnection behavior for network interruptions.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — websockets, typing-extensions |
| Maintenance | actively maintained — 58 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 265,683/month — #8,318 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: speechmatics_rt-1.1.0-py3-none-any.whl
Keywords: speechmatics, speech-to-text, real-time, transcription, websocket
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
speechmatics-batchAsync Python client for submitting audio files…
permissive · top 15,000 on PyPI
rev-aiPython SDK for Rev AI's speech-to-text API,…
permissive · top 15,000 on PyPI
speechmatics-voicePython SDK for building real-time voice…
permissive · top 15,000 on PyPI
livekit-plugins-speechmaticsIntegrates Speechmatics speech-to-text into…
permissive · top 15,000 on PyPI
livekit-plugins-sonioxIntegrates Soniox speech-to-text and…
permissive · top 15,000 on PyPI
assemblyaiPython SDK for transcribing and understanding…
permissive · top 5,000 on PyPI
aws_sdk_transcribe_streamingProvides a Python client for AWS Transcribe…
permissive · top 15,000 on PyPI
SpeechRecognitionPerforms speech recognition and transcription…
permissive · top 5,000 on PyPI
deepgram-sdkOfficial Python SDK for Deepgram's speech…
permissive · top 5,000 on PyPI
centPython SDK for communicating with Centrifugo v5…
permissive · top 15,000 on PyPI