subarulink
A package for interacting with the MySubaru Connected Services API.
What it is and what it does
subarulink is a Python client for Subaru's MySubaru Connected Services (formerly STARLINK), allowing programmatic access to vehicle telemetry and remote control. It wraps the undocumented MySubaru API by reverse-engineering the official Android app, so it may break without warning if Subaru changes their backend. The package supports vehicles from 2016 onward across four telematics generations, with feature availability depending on subscription tier (Safety/Companion vs. Security/Companion+) and vehicle model year.
The package is designed primarily for Home Assistant integration but works as a standalone library. It uses aiohttp for async HTTP communication and provides both a CLI tool (with the `cli` extra) and a programmatic API. Feature support varies significantly by generation: older vehicles (g1, 2016–2018) offer basic lock/unlock and location, while newer ones (g2–g3, 2019–2025) add remote engine start with climate control, charging, and sensor data. The library is in Alpha and actively maintained, though g4 support (2026+) is still being characterized.
Use it for:
- Integrate Subaru vehicle control into Home Assistant for remote lock/unlock and climate presets
- Monitor vehicle status (fuel, tire pressure, odometer) and trigger automations based on sensor data
- Build a standalone app to remotely start a vehicle or sound the horn from a phone or web interface
- Log vehicle telemetry over time for fuel economy tracking or maintenance scheduling
- Control PHEV charging remotely and check battery status through a custom dashboard
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Interact with Subaru's MySubaru Connected Services API to retrieve vehicle status and control remote features like locks, horn, lights, and engine start on supported vehicles.
Yes, if you own a compatible Subaru with an active MySubaru subscription and need programmatic vehicle control or status monitoring. The low install friction, active maintenance, and permissive license make it a reasonable choice for Home Assistant users or custom integrations. Be aware that it reverse-engineers an undocumented API (may break without warning), requires Python 3.14+, and is still in Alpha with incomplete g4 support. Not suitable if you need production-grade stability or support for vehicles outside the US/Canada.
Install
subarulink on PyPI
pip
pip install subarulinkuv
uv add subarulinkpoetry
poetry add subarulinkInstalling subarulink
Before you install
Low install friction with a single runtime dependency (aiohttp). Active maintenance with a recent release 13 days ago and ongoing commits. Marked as Alpha, so expect API changes and incomplete feature coverage across vehicle generations.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; attribution required.
Quickstart
pip install subarulink
import asyncio
from subarulink import Controller
async def get_status():
async with Controller(username, password) as conn:
await conn.update(vin)
# Access vehicle data via conn
Requires Python 3.14 or later. Needs active MySubaru Connected Services subscription (US/Canada only) and a configured MySubaru account with a compatible vehicle.
Verify before relying
- Whether the package works reliably across all advertised vehicle generations (g1–g4) or if g4 support is still experimental
- Current status of Home Assistant integration compatibility with this version
- Whether the known battery discharge issue from aggressive polling has been mitigated
Package facts
| License | Apache-2.0 (permissive) |
| Python support | capped below the current Python release (>=3.14) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — aiohttp |
| Maintenance | actively maintained — 13 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,429/month — #14,834 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: subarulink-0.7.21-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
myskodaMySkoda is an async Python library that…
unclear · top 15,000 on PyPI
renault-apiCommunicates with Renault's private API to read…
permissive · top 15,000 on PyPI
hyundai-kia-connect-apiProvides a Python API to authenticate with and…
permissive · top 15,000 on PyPI
kuksa-clientKUKSA Python SDK provides a client library and…
permissive · top 15,000 on PyPI
tesla-fleet-apiProvides Python bindings to Tesla's Fleet API…
permissive · top 15,000 on PyPI
py-unifi-accessAsync Python client for UniFi Access local API…
permissive · top 15,000 on PyPI
vininfoExtracts and verifies information from Vehicle…
permissive · top 15,000 on PyPI
udsoncanImplements the Unified Diagnostic Services…
permissive · top 15,000 on PyPI
pytrydanpytrydan provides Python bindings and a…
permissive · top 15,000 on PyPI
teslajsonpyAn async Python library for interacting with…
permissive · top 15,000 on PyPI