{
 "meta": {
  "dataset": "Subscriber history — @programmerst",
  "channel": "https://tgregister.com/channel/programmerst",
  "retrieved_at": "2026-09-09T05:18:31.578Z",
  "licence": "CC BY 4.0 — attribute to tgregister.com",
  "n_readings": 30,
  "window": {
   "from": "2026-08-06T03:53:03.654Z",
   "to": "2026-09-07T05:17:11.861Z"
  },
  "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-06T03:53:03.654Z",
   "subscribers": 29692,
   "source": 0
  },
  {
   "ts": "2026-08-06T04:00:33.809Z",
   "subscribers": 29692,
   "source": 3
  },
  {
   "ts": "2026-08-06T15:18:54.717Z",
   "subscribers": 29682,
   "source": 4
  },
  {
   "ts": "2026-08-07T17:30:59.141Z",
   "subscribers": 29667,
   "source": 4
  },
  {
   "ts": "2026-08-08T15:13:21.889Z",
   "subscribers": 29658,
   "source": 4
  },
  {
   "ts": "2026-08-09T14:13:19.742Z",
   "subscribers": 29642,
   "source": 4
  },
  {
   "ts": "2026-08-10T16:41:32.824Z",
   "subscribers": 29628,
   "source": 4
  },
  {
   "ts": "2026-08-11T19:11:37.142Z",
   "subscribers": 29614,
   "source": 4
  },
  {
   "ts": "2026-08-12T18:38:06.771Z",
   "subscribers": 29593,
   "source": 4
  },
  {
   "ts": "2026-08-14T00:38:35.755Z",
   "subscribers": 29573,
   "source": 4
  },
  {
   "ts": "2026-08-15T05:56:19.651Z",
   "subscribers": 29549,
   "source": 4
  },
  {
   "ts": "2026-08-16T18:17:03.200Z",
   "subscribers": 29514,
   "source": 4
  },
  {
   "ts": "2026-08-17T20:27:08.349Z",
   "subscribers": 29498,
   "source": 4
  },
  {
   "ts": "2026-08-18T21:55:28.730Z",
   "subscribers": 29492,
   "source": 4
  },
  {
   "ts": "2026-08-19T20:43:35.440Z",
   "subscribers": 29475,
   "source": 4
  },
  {
   "ts": "2026-08-20T23:07:44.890Z",
   "subscribers": 29472,
   "source": 4
  },
  {
   "ts": "2026-08-22T09:15:05.034Z",
   "subscribers": 29445,
   "source": 4
  },
  {
   "ts": "2026-08-23T22:34:01.517Z",
   "subscribers": 29428,
   "source": 4
  },
  {
   "ts": "2026-08-25T04:34:28.807Z",
   "subscribers": 29405,
   "source": 4
  },
  {
   "ts": "2026-08-26T03:17:06.348Z",
   "subscribers": 29397,
   "source": 4
  },
  {
   "ts": "2026-08-27T03:09:25.037Z",
   "subscribers": 29390,
   "source": 4
  },
  {
   "ts": "2026-08-28T00:43:39.336Z",
   "subscribers": 29381,
   "source": 4
  },
  {
   "ts": "2026-08-28T23:47:21.136Z",
   "subscribers": 29376,
   "source": 4
  },
  {
   "ts": "2026-08-29T23:05:45.465Z",
   "subscribers": 29361,
   "source": 4
  },
  {
   "ts": "2026-08-30T20:48:45.476Z",
   "subscribers": 29347,
   "source": 4
  },
  {
   "ts": "2026-09-01T00:07:10.127Z",
   "subscribers": 29340,
   "source": 4
  },
  {
   "ts": "2026-09-02T00:42:38.890Z",
   "subscribers": 29319,
   "source": 4
  },
  {
   "ts": "2026-09-02T23:57:35.819Z",
   "subscribers": 29313,
   "source": 4
  },
  {
   "ts": "2026-09-04T14:57:33.581Z",
   "subscribers": 29287,
   "source": 4
  },
  {
   "ts": "2026-09-07T05:17:11.861Z",
   "subscribers": 29223,
   "source": 4
  }
 ]
}
