Analytics API

The Eagle 3D Streaming Analytics API returns every streaming session in a date range — app, version, where the viewer was, when it started and stopped, and how long it ran.

Request

POST https://agw.eagle3dstreaming.com/api/v4/fb/user-data-by-range
{
  "start": "2026-06-01T00:00:00.000Z",
  "end":   "2026-06-15T00:00:00.000Z",
  "apiKey": "YOUR_PERSONAL_API_KEY",
  "uid":    "YOUR_ASSIGNED_UID"
}
ParameterTypeRequiredWhat it is
startstringYesStart of the range, ISO 8601 UTC.
endstringYesEnd of the range, ISO 8601 UTC.
apiKeystringYesYour API key.
uidstringYesYour Eagle user identifier. If you do not have it, ask support — it is not shown in the Control Panel.

Node.js

const axios = require("axios");

const API_URL = "https://agw.eagle3dstreaming.com/api/v4/fb/user-data-by-range";

const getUserDataByRange = async (uid, start, end, apiKey) => {
  try {
    const response = await axios.post(
      API_URL,
      { uid, start, end, apiKey },
      { headers: { "Content-Type": "application/json" } }
    );
    return response.data;
  } catch (error) {
    console.error("API Error:", error.response);
    throw error;
  }
};

Response

{
  "data": {
    "count": 138,
    "streamedMinutes": 515.45,
    "data": [
      {
        "appName": "DemoAppTP",
        "appVersion": "3",
        "city": "Texas",
        "country": "USA",
        "videoStartTime": "Mon, 01 Jun 2026 06:10:04 GMT",
        "videoStopTime":  "Mon, 01 Jun 2026 06:11:04 GMT",
        "streamTime": 1
      }
    ]
  }
}
FieldTypeWhat it is
countintegerNumber of sessions in the range.
streamedMinutesnumberTotal minutes across all of them.
dataarrayOne record per session.

And per session:

FieldTypeWhat it is
appNamestringThe application streamed.
appVersionstringWhich version of it.
city, countrystringWhere the viewer was.
videoStartTime, videoStopTimestringUTC start and end. videoStopTime can be missing on some records.
streamTimenumberSession length in minutes. Present even when videoStopTime is missing — the length is then measured to the last data-channel heartbeat — so use streamTime, not the difference between the two times.

Which sessions are counted

Two things that catch people out

Where else this data lives

Similar figures, without writing any code, are in the Control Panel's Analytics section. It reads from a different endpoint, so its totals are not guaranteed to match this API's to the minute. The API is for putting them somewhere else — your own dashboard, a billing system, a customer-facing usage report.

Last updated