ToolFeatured

starlink-grpc-tools: the reference scripts for the Starlink dish's gRPC interface

Dec 22, 2020sparky8512 and contributorsSource: GitHub210 views

The most used open-source toolkit for reading a Starlink terminal: Python scripts and a Docker image that pull status, obstruction, alert and history data from the dish's gRPC service and write it to text, InfluxDB, SQLite, MQTT or a Prometheus endpoint. Public domain, 706 stars, updated September 2026.

What it is

starlink-grpc-tools is a public-domain (Unlicense) repository started in December 2020 by the GitHub user sparky8512. It documents and exploits the user terminal's gRPC service, the same interface the official Starlink app uses, reachable at the dish's fixed address 192.168.100.1. With 706 stars and 118 forks and commits as recent as 19 September 2026, it is the most maintained community project around the dish, and the place where changes in the terminal's firmware are first documented (for instance the May 2026 removal of GPS location from gRPC on most service plans).

What you can do with it

  • Read status data: uptime, software version, alerts, obstruction detail (fraction obstructed, wedge data), current latency and throughput, and the terminal's orientation.
  • Read history data: the per-second ping-drop, download and upload history behind the app's Statistics page, over the last several hours.
  • Export with the script that matches your stack: dish_grpc_text.py (CSV or readable output), dish_grpc_influx.py and dish_grpc_influx2.py, dish_grpc_sqlite.py, dish_grpc_mqtt.py, or dish_grpc_prometheus.py, which exposes a scrape endpoint.
  • Run periodically with -t to loop every N seconds, or in Docker/Podman without installing Python.

Who it is for

Installers who want a record of obstruction and ping-drop before and after a mast move; small fleets and enterprises that already run Prometheus, Grafana or InfluxDB and want the dish in the same dashboards as the router; integrators who need to prove an outage was the sky and not the LAN. For a single terminal it is more capable than any commercial tool, because it reads the local interface directly. For hundreds of terminals across an account, Starlink's Enterprise API (see the DataMiner connector) is the scalable route, and a mobile alternative for on-site work is Star Debug.

How to use it

  1. Make sure the dish is reachable at 192.168.100.1 from the machine (if you use your own router, add the route the Starlink knowledge base describes).
  2. Either pip install -r requirements.txt in a virtual environment or pull the Docker image.
  3. Run python3 dish_grpc_text.py status obstruction_detail alert_detail to see all status groups; add -v for readable output.
  4. For monitoring, start dish_grpc_prometheus.py and point Prometheus at it, or loop dish_grpc_influx.py -t 30 status into InfluxDB.

Limits

It only sees the terminal it is connected to; there is no account view, no billing and no plan management. The gRPC interface is undocumented by SpaceX and changes with firmware, so scripts occasionally break until the maintainers catch up. Location data is no longer available on most plans.

Related

Definitions: phased-array antenna, satellite modem, Starlink. Directories: Starlink installers, enterprise satellite solutions.

Find a provider

The listings this resource is relevant to — every company is profiled with services, coverage and contact details.

Keep reading

Related resources