This python package is unofficial and is not related in any way to Telekom. It was developed by reversed engineered http requests and can stop working at anytime!
Speedport-API
Control Telekom Speedport routers with Python!
Installation
pip install speedport-api-expanded
For this fork's changes, install from a checkout with python -m pip install -e .
or download a wheel from GitHub releases.
The Python import remains from speedport import Speedport.
See local development and adding features,
contribution guidelines, and contributors.
Store local router credentials in an
ignored .env copied from .env.example; see the guide for loading it.
Supported Devices
- Speedport Smart 4
Commandline tool
With this shipped commandline tool can a speedport in your network be controlled.
Turn wifi off
$ speedport wifi off
Turn off wifi...
Turn guest wifi on
$ speedport guest-wifi on
Turn on guest wifi...
Reconnect for new ip address
$ speedport reconnect
123.45.67.89 / 5403:f3:35aa:12f:7287:41cf:fb1c:3c83
Reconnect with internet provider...
123.45.67.12 / 5403:f3:35fe:12f:7287:41cf:fb1c:3c83
Query IPv4 and IPv6 information
speedport --host 192.168.2.1 ip-info
speedport --host 192.168.2.1 --batch ip-info
Prints addresses, gateways, primary/secondary DNS servers, and IPv6 prefixes.
Batch output uses tab-separated field/value pairs. A password is prompted for
unless SPEEDPORT_PASSWORD is set.
To print only the public IPv4 address, without a label or table:
python -m speedport --host 192.168.2.1 ip-info --ipv4
93.218.250.118
If no public IPv4 address is available, the command exits with an error.
Enable wps connect
$ speedport wps
Enable wps connect...
wps connect enabled for 113s...
Reboot device
$ speedport reboot
Reboot speedport...
Print devices
$ speedport devices
+-------------+---------------------+-------+-----------+
| ipv4 | name | type | connected |
+-------------+---------------------+-------+-----------+
| 10.5.12.32 | Google-Home-Mini-1 | wlan | 1 |
| 10.5.12.157 | PC10-5-12-157 | lan | 0 |
| 10.5.12.227 | andre-xps | wlan5 | 1 |
Print calls
$ speedport calls
+-------------+--------+----------+---------------------+
| number | type | duration | date |
+-------------+--------+----------+---------------------+
| 01578212345 | missed | 0 | 2024-04-04 09:34:35 |
| 026361245 | taken | 1337 | 2024-04-06 05:12:53 |
| 7866 | dialed | 20 | 2024-04-06 18:39:00 |
Library
IP information example
import asyncio
import os
from speedport import Speedport
async def ip_info():
async with Speedport(
os.environ.get("SPEEDPORT_HOST", "192.168.2.1"),
os.environ["SPEEDPORT_PASSWORD"],
) as router:
info = await router.ip_info
print(info["public_ip_v4"], info["public_ip_v6"])
print(info) # All fields, including DNS servers and IPv6 prefixes.
asyncio.run(ip_info())
Reconnect example
import asyncio
from speedport import Speedport
async def reconnect():
speedport = Speedport("192.168.1.1")
await speedport.login("password123")
await speedport.reconnect()
asyncio.run(reconnect())
Devices example
import asyncio
from speedport import Speedport
devices = asyncio.run(Speedport().devices)
for device in devices:
print(device.ipv4, device.connected)
Metadata
Release files for speedport-api-expanded 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| speedport_api_expanded-0.7.0.tar.gz | 14.1 kB | With provenance | Details for speedport_api_expanded-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| speedport_api_expanded-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for speedport_api_expanded-0.7.0-py3-none-any.whl |
Total release size: 28.0 kB
Release files / speedport_api_expanded-0.7.0.tar.gz
| Download URL | speedport_api_expanded-0.7.0.tar.gz |
|---|---|
| Size | 14.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
425ee52ce8e6989578cbf76f7edb857c4a34d65d9748c7117c86225acb394313
|
|
BLAKE2b-256 checksum How to use checksums |
634e5ac2844b76037ab7c63791548423d09a52400146f7458cff8b61c11b9273
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logRelease files / speedport_api_expanded-0.7.0-py3-none-any.whl
| Download URL | speedport_api_expanded-0.7.0-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a4581b271c02a0b6ce73c0e69cedc62e8e439b2ad8ae750af4e25c4232f3a077
|
|
BLAKE2b-256 checksum How to use checksums |
480f1144586ca35dba50a15571f022ac8a74e2ceb6ff56d47591e0782274e3cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logSecurity for speedport-api-expanded 0.7.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for speedport_api_expanded-0.7.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.