{
 "meta": {
  "dataset": "Subscriber history — @codefreecambodia",
  "channel": "https://tgregister.com/channel/codefreecambodia",
  "retrieved_at": "2026-09-16T18:28:28.262Z",
  "licence": "CC BY 4.0 — attribute to tgregister.com",
  "n_readings": 32,
  "window": {
   "from": "2026-08-07T19:44:42.058Z",
   "to": "2026-09-16T12:38:55.430Z"
  },
  "columns": {
   "ts": "when this reading was taken, UTC",
   "subscribers": "the count read (or, for source 3, carried over) — see source below",
   "source": {
    "0": "sweep.py — t.me/<name> profile page",
    "1": "promote.py — Bot API getChat",
    "2": "resolve.py — MTProto",
    "3": "spromote.py — t.me/s/<name> post preview (figure carried over from an earlier profile read, not the preview’s own rounded header)",
    "4": "remeasure.py — t.me/<name> profile page, re-read on a schedule"
   }
  },
  "note": "Snapshots are written only when a reading changes: a gap in ts means \"no change observed between readings\", never \"not measured\" and never \"interpolated\". Readings from different sources are separate lineages that do not confirm one another — subtracting across them can attribute a change to a period nothing was actually read in. Full method: https://tgregister.com/methodology#measuring"
 },
 "rows": [
  {
   "ts": "2026-08-07T19:44:42.058Z",
   "subscribers": 14488,
   "source": 0
  },
  {
   "ts": "2026-08-08T19:05:37.693Z",
   "subscribers": 14396,
   "source": 4
  },
  {
   "ts": "2026-08-09T16:32:45.248Z",
   "subscribers": 14373,
   "source": 4
  },
  {
   "ts": "2026-08-10T13:59:01.538Z",
   "subscribers": 14339,
   "source": 4
  },
  {
   "ts": "2026-08-11T16:17:49.152Z",
   "subscribers": 14219,
   "source": 4
  },
  {
   "ts": "2026-08-12T18:43:47.576Z",
   "subscribers": 14164,
   "source": 4
  },
  {
   "ts": "2026-08-14T00:25:28.226Z",
   "subscribers": 14137,
   "source": 4
  },
  {
   "ts": "2026-08-15T15:06:48.214Z",
   "subscribers": 14091,
   "source": 4
  },
  {
   "ts": "2026-08-16T21:33:19.237Z",
   "subscribers": 13965,
   "source": 4
  },
  {
   "ts": "2026-08-17T21:04:28.675Z",
   "subscribers": 13636,
   "source": 4
  },
  {
   "ts": "2026-08-18T22:36:19.805Z",
   "subscribers": 13567,
   "source": 4
  },
  {
   "ts": "2026-08-19T20:03:26.715Z",
   "subscribers": 13567,
   "source": 1
  },
  {
   "ts": "2026-08-19T23:07:29.329Z",
   "subscribers": 13557,
   "source": 4
  },
  {
   "ts": "2026-08-20T21:35:18.873Z",
   "subscribers": 13560,
   "source": 4
  },
  {
   "ts": "2026-08-22T01:08:18.338Z",
   "subscribers": 13555,
   "source": 4
  },
  {
   "ts": "2026-08-23T16:48:32.354Z",
   "subscribers": 13541,
   "source": 4
  },
  {
   "ts": "2026-08-25T03:03:31.763Z",
   "subscribers": 13523,
   "source": 4
  },
  {
   "ts": "2026-08-26T05:44:41.440Z",
   "subscribers": 13492,
   "source": 4
  },
  {
   "ts": "2026-08-27T02:34:50.177Z",
   "subscribers": 13484,
   "source": 4
  },
  {
   "ts": "2026-08-28T06:12:15.437Z",
   "subscribers": 13490,
   "source": 4
  },
  {
   "ts": "2026-08-29T05:24:44.095Z",
   "subscribers": 13436,
   "source": 4
  },
  {
   "ts": "2026-08-30T09:02:48.356Z",
   "subscribers": 13342,
   "source": 4
  },
  {
   "ts": "2026-08-31T11:03:39.654Z",
   "subscribers": 13296,
   "source": 4
  },
  {
   "ts": "2026-09-01T09:55:00.835Z",
   "subscribers": 13276,
   "source": 4
  },
  {
   "ts": "2026-09-02T08:35:46.023Z",
   "subscribers": 13252,
   "source": 4
  },
  {
   "ts": "2026-09-03T17:57:57.831Z",
   "subscribers": 13207,
   "source": 4
  },
  {
   "ts": "2026-09-05T17:01:45.047Z",
   "subscribers": 13167,
   "source": 4
  },
  {
   "ts": "2026-09-09T00:19:16.769Z",
   "subscribers": 13133,
   "source": 4
  },
  {
   "ts": "2026-09-11T14:38:05.248Z",
   "subscribers": 13091,
   "source": 4
  },
  {
   "ts": "2026-09-13T09:57:17.015Z",
   "subscribers": 12953,
   "source": 4
  },
  {
   "ts": "2026-09-14T20:01:21.614Z",
   "subscribers": 12912,
   "source": 4
  },
  {
   "ts": "2026-09-16T12:38:55.430Z",
   "subscribers": 12790,
   "source": 4
  }
 ]
}
