{
 "meta": {
  "dataset": "Subscriber history — @prjctr",
  "channel": "https://tgregister.com/channel/prjctr",
  "retrieved_at": "2026-09-09T10:24:41.752Z",
  "licence": "CC BY 4.0 — attribute to tgregister.com",
  "n_readings": 30,
  "window": {
   "from": "2026-08-06T00:22:30.177Z",
   "to": "2026-09-08T03:56:53.472Z"
  },
  "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-06T00:22:30.177Z",
   "subscribers": 16123,
   "source": 0
  },
  {
   "ts": "2026-08-06T02:19:46.239Z",
   "subscribers": 16123,
   "source": 3
  },
  {
   "ts": "2026-08-06T21:00:13.953Z",
   "subscribers": 16124,
   "source": 4
  },
  {
   "ts": "2026-08-07T18:20:32.127Z",
   "subscribers": 16118,
   "source": 4
  },
  {
   "ts": "2026-08-08T15:21:56.671Z",
   "subscribers": 16116,
   "source": 4
  },
  {
   "ts": "2026-08-09T14:12:07.899Z",
   "subscribers": 16109,
   "source": 4
  },
  {
   "ts": "2026-08-10T13:33:15.204Z",
   "subscribers": 16107,
   "source": 4
  },
  {
   "ts": "2026-08-11T10:19:05.804Z",
   "subscribers": 16105,
   "source": 4
  },
  {
   "ts": "2026-08-12T09:48:26.756Z",
   "subscribers": 16108,
   "source": 4
  },
  {
   "ts": "2026-08-13T08:16:12.782Z",
   "subscribers": 16110,
   "source": 4
  },
  {
   "ts": "2026-08-14T16:13:35.429Z",
   "subscribers": 16103,
   "source": 4
  },
  {
   "ts": "2026-08-16T05:07:33.828Z",
   "subscribers": 16105,
   "source": 4
  },
  {
   "ts": "2026-08-17T14:14:58.277Z",
   "subscribers": 16102,
   "source": 4
  },
  {
   "ts": "2026-08-18T17:07:07.446Z",
   "subscribers": 16091,
   "source": 4
  },
  {
   "ts": "2026-08-19T13:52:09.851Z",
   "subscribers": 16094,
   "source": 4
  },
  {
   "ts": "2026-08-20T13:06:30.274Z",
   "subscribers": 16093,
   "source": 4
  },
  {
   "ts": "2026-08-21T13:03:24.302Z",
   "subscribers": 16097,
   "source": 4
  },
  {
   "ts": "2026-08-22T22:53:46.747Z",
   "subscribers": 16096,
   "source": 4
  },
  {
   "ts": "2026-08-24T16:33:19.427Z",
   "subscribers": 16081,
   "source": 4
  },
  {
   "ts": "2026-08-26T15:08:30.372Z",
   "subscribers": 16073,
   "source": 4
  },
  {
   "ts": "2026-08-27T12:45:13.916Z",
   "subscribers": 16076,
   "source": 4
  },
  {
   "ts": "2026-08-28T12:36:24.300Z",
   "subscribers": 16077,
   "source": 4
  },
  {
   "ts": "2026-08-29T11:36:31.773Z",
   "subscribers": 16070,
   "source": 4
  },
  {
   "ts": "2026-08-30T11:37:16.522Z",
   "subscribers": 16068,
   "source": 4
  },
  {
   "ts": "2026-08-31T10:44:01.238Z",
   "subscribers": 16072,
   "source": 4
  },
  {
   "ts": "2026-09-01T11:03:46.072Z",
   "subscribers": 16067,
   "source": 4
  },
  {
   "ts": "2026-09-02T07:44:26.743Z",
   "subscribers": 16069,
   "source": 4
  },
  {
   "ts": "2026-09-03T10:06:23.639Z",
   "subscribers": 16093,
   "source": 4
  },
  {
   "ts": "2026-09-05T02:15:35.142Z",
   "subscribers": 16091,
   "source": 4
  },
  {
   "ts": "2026-09-08T03:56:53.472Z",
   "subscribers": 16077,
   "source": 4
  }
 ]
}
