Starlink Satellite Trace Tracker
Python project for tracking and visualizing real-time Starlink satellite communications with your dish. Identifies which satellite is currently in line-of-sight connection.
The Starlink Satellite Tracer, an open-source Python project hosted on GitHub, provides a specialized utility for users and researchers to monitor and analyze the real-time communication between a Starlink dish and its orbiting satellites. This tool leverages the starlink-grpc library to interact directly with a connected Starlink dish, enabling the identification and tracking of the specific satellite currently providing connectivity. Its primary objective is to offer detailed insights into which satellite is within the dish's line of sight and actively engaged in data transmission, making it a valuable resource for understanding the dynamic operational characteristics of the Starlink constellation.
Inspired by the research presented in the paper "Making Sense of Constellations Methodologies for Understanding Starlink’s Scheduling Algorithms," this project aims to demystify some of the complex scheduling and handover mechanisms inherent in large satellite constellations. By providing empirical data on satellite interactions, it offers a practical approach to investigate the intricate dance of satellite selection and communication protocols. The project is designed to be accessible, allowing users with a basic understanding of Python and command-line operations to deploy and utilize it.
Key Features and Capabilities
The Starlink Satellite Tracer is equipped with several core features designed to provide a comprehensive view of Starlink dish-to-satellite connectivity:
- Real-time Satellite Identification: The application continuously fetches and displays the unique identifier of the Starlink satellite that is actively communicating with the user's dish. This provides immediate visibility into the specific orbital asset responsible for the current internet connection.
- Trace Data Acquisition: The tool collects real-time trace data, detailing the communication path and characteristics. This data is logged for subsequent analysis, offering a historical record of satellite interactions over the observation period.
- Automated Data Collection Sequence: Upon initiation, the application performs a brief 3-minute reboot of the Starlink dish to ensure a fresh operational state. Following this, it systematically fetches and logs real-time satellite position data and communication traces every 15 seconds over a total duration of 15 minutes. This structured data collection methodology ensures consistent and comparable datasets.
- Visualization and Analysis: Beyond data collection, the project offers capabilities for visualizing the tracked satellite's position and movement. It generates plots from the logged communication traces, which can be used to understand signal paths and potential handovers. Crucially, the application performs a matching process, comparing the measured traces of minimum distance with all available satellite traces to identify the most likely communicating satellite. These resulting figures, which include plotted traces and matching results, are automatically saved in a dedicated "figures" directory for review and further study.
Technical Implementation and Requirements
As a Python-based application, the Starlink Satellite Tracer relies on standard Python libraries, with starlink-grpc being its foundational dependency. This library provides the necessary interface to communicate with the Starlink dish's internal gRPC API, allowing the project to query for operational metrics and satellite-specific information. Installation is straightforward, requiring users to clone the GitHub repository, navigate to the project directory, and install dependencies via pip install -r requirements.txt. Running the main script, python main.py, then initiates the data collection and analysis process. The project's structure, with distinct Python modules like main.py, starlinkgrpc.py, and starlinkmatch.py, indicates a modular design focused on data acquisition, gRPC interaction, and trace matching respectively.
Target Audience and Applications
This resource is particularly valuable for a diverse audience interested in the intricacies of the Starlink network:
- Researchers and Academics: Those studying satellite constellation dynamics, network scheduling algorithms, and real-time performance of low Earth orbit (LEO) satellite internet can utilize this tool to gather empirical data for their studies, directly informing models and hypotheses about Starlink's operational strategies.
- Network Engineers and Performance Analysts: Professionals involved in network monitoring or analysis may find the tracer useful for understanding the micro-level behavior of Starlink connectivity, including satellite handovers, signal quality variations, and latency characteristics related to specific satellite links.
- Satellite Enthusiasts and Hobbyists: Individuals with a keen interest in satellite technology and the Starlink system can use this tool to gain a deeper, technical appreciation of how their dish interacts with the constellation, moving beyond a simple "it just works" understanding.
- Developers and Innovators: The open-source nature of the project provides a foundation for developers to build upon, potentially integrating its tracing capabilities into larger monitoring dashboards or extending its analysis features.
Open-Source Collaboration and Community
The Starlink Satellite Tracer is released under the permissive MIT License, making it freely available for use, modification, and distribution. Its presence on GitHub fosters an environment for community collaboration, where users are encouraged to contribute. The project explicitly welcomes contributions, whether through reporting issues, suggesting new features, or submitting code via pull requests. This open development model allows the tool to evolve, incorporate new functionalities, and adapt to changes in the Starlink system or user requirements, ensuring its continued relevance and utility within the technical community.
Keep reading

Amazon Leo for business (2026): network status, antennas, partners and how to buy it
Amazon Leo, formerly Project Kuiper, had 396 satellites in orbit on 28 October 2026 and plans initial service in certain latitudes before the end of…

How to become a Starlink authorized reseller in 2026 (and the routes that remain open)
Starlink no longer accepts reseller applications: the programme is invite-only and indirect reselling on Local Priority plans was paused in April…

How to choose a Starlink installer for your business (2026): reseller, installer or managed provider
Starlink's own installers cover residential plans only, so a business site goes through an independent installer or an authorized reseller. This…
Related resources
Hypatia: LEO satellite network simulation framework (ETH Zurich)
Hypatia is the reference open-source framework for simulating LEO networks: it generates a constellation and its routing over time (satgenpy), runs packet-level ns-3 simulations (ns3-sat-sim) and renders Cesium visualisations. From the IMC 2020 paper; 518 GitHub stars, last update May 2024.
DataMiner Starlink Enterprise connector: NOC monitoring of Starlink fleets
Skyline's DataMiner connector polls Starlink's Enterprise Telemetry API every 60 seconds and the Management API for usage and activation, giving a NOC per-terminal signal quality, throughput, alerts, service lines and 12 months of data usage. Versions 1.1.0.x support API v2.
starlink-grpc-tools: the reference scripts for the Starlink dish's gRPC interface
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.