Telemetry
Real-time performance metrics for Starlink terminals. Returns the most recent 5 minutes of data across all terminals accessible by your token.
Telemetry is only available for Starlink Terminal devices. Gateways and access points do not produce telemetry data.
The telemetry object
timetimestampWhen the sample was collected (UTC).
siteCodestringSite identifier for the terminal that produced this sample.
downlinkThroughputfloatDownload throughput in Mbps.
uplinkThroughputfloatUpload throughput in Mbps.
pingLatencyAvgfloatAverage round-trip latency in milliseconds.
pingDropRateAvgfloatAverage packet drop rate, between
0and1.snrfloatSignal-to-noise ratio.
List telemetry GET /v1/telemetries
Returns the last 5 minutes of telemetry samples for all terminals in your workspace, ordered by time descending.
GET/v1/telemetries
- cURL
- JavaScript
- Go
- PHP
curl https://polaris.revlv.com/v1/telemetries \
-H "Authorization: Bearer {token}"
const res = await fetch('https://polaris.revlv.com/v1/telemetries', {
headers: { 'Authorization': 'Bearer {token}' },
});
const { data } = await res.json();
req, _ := http.NewRequest("GET", "https://polaris.revlv.com/v1/telemetries", nil)
req.Header.Add("Authorization", "Bearer {token}")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
$response = $client->get('https://polaris.revlv.com/v1/telemetries', [
'headers' => ['Authorization' => 'Bearer {token}'],
]);
echo $response->getBody();
Response
{
"data": [
{
"time": "2026-05-02T10:30:00Z",
"siteCode": "REV-001-001",
"downlinkThroughput": 120.5,
"uplinkThroughput": 18.3,
"pingLatencyAvg": 42.1,
"pingDropRateAvg": 0.001,
"snr": 9.2
},
{
"time": "2026-05-02T10:25:00Z",
"siteCode": "REV-001-002",
"downlinkThroughput": 98.7,
"uplinkThroughput": 14.1,
"pingLatencyAvg": 38.5,
"pingDropRateAvg": 0.0,
"snr": 10.1
}
]
}