skillfed

subarulink

A package for interacting with the MySubaru Connected Services API.

subarulink v0.7.21 74.4K downloads/30d#14,834 on PyPI123
Permissive license Apache-2.0 Active released

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 subarulink

uv

uv add subarulink

poetry

poetry add subarulink

Installing 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

Development Status :: 3 - AlphaIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3.14Topic :: Internet

Tags

subaru vehicle api integrationmysubaru connected servicesremote vehicle control pythonsubaru telematics apivehicle status monitoringsubaru home assistantremote lock unlock vehicle
vehicle-apihome-assistantasync-http

More Internet packages