{
 "meta": {
  "dataset": "Subscriber history — @pythonzh",
  "channel": "https://tgregister.com/channel/pythonzh",
  "retrieved_at": "2026-09-08T20:46:27.172Z",
  "licence": "CC BY 4.0 — attribute to tgregister.com",
  "n_readings": 30,
  "window": {
   "from": "2026-08-06T02:30:47.823Z",
   "to": "2026-09-08T12:36:08.773Z"
  },
  "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-06T02:30:47.823Z",
   "subscribers": 23094,
   "source": 0
  },
  {
   "ts": "2026-08-07T00:45:54.492Z",
   "subscribers": 23086,
   "source": 4
  },
  {
   "ts": "2026-08-08T00:03:56.407Z",
   "subscribers": 23074,
   "source": 4
  },
  {
   "ts": "2026-08-09T01:20:50.743Z",
   "subscribers": 23060,
   "source": 4
  },
  {
   "ts": "2026-08-09T23:35:56.271Z",
   "subscribers": 23047,
   "source": 4
  },
  {
   "ts": "2026-08-10T21:01:15.564Z",
   "subscribers": 23038,
   "source": 4
  },
  {
   "ts": "2026-08-11T19:35:28.710Z",
   "subscribers": 23018,
   "source": 4
  },
  {
   "ts": "2026-08-12T22:43:18.288Z",
   "subscribers": 23008,
   "source": 4
  },
  {
   "ts": "2026-08-14T02:35:03.032Z",
   "subscribers": 22999,
   "source": 4
  },
  {
   "ts": "2026-08-15T12:37:28.738Z",
   "subscribers": 22985,
   "source": 4
  },
  {
   "ts": "2026-08-15T19:37:10.090Z",
   "subscribers": 22985,
   "source": 1
  },
  {
   "ts": "2026-08-16T20:26:27.178Z",
   "subscribers": 22969,
   "source": 4
  },
  {
   "ts": "2026-08-17T23:07:39.494Z",
   "subscribers": 22958,
   "source": 4
  },
  {
   "ts": "2026-08-18T23:25:43.149Z",
   "subscribers": 22946,
   "source": 4
  },
  {
   "ts": "2026-08-19T20:29:06.981Z",
   "subscribers": 22936,
   "source": 4
  },
  {
   "ts": "2026-08-20T19:48:10.059Z",
   "subscribers": 22919,
   "source": 4
  },
  {
   "ts": "2026-08-22T01:38:19.782Z",
   "subscribers": 22910,
   "source": 4
  },
  {
   "ts": "2026-08-23T12:05:56.964Z",
   "subscribers": 22896,
   "source": 4
  },
  {
   "ts": "2026-08-24T23:17:35.860Z",
   "subscribers": 22888,
   "source": 4
  },
  {
   "ts": "2026-08-26T02:07:52.733Z",
   "subscribers": 22879,
   "source": 4
  },
  {
   "ts": "2026-08-27T05:37:26.785Z",
   "subscribers": 22874,
   "source": 4
  },
  {
   "ts": "2026-08-28T08:34:26.290Z",
   "subscribers": 22866,
   "source": 4
  },
  {
   "ts": "2026-08-29T07:04:26.093Z",
   "subscribers": 22858,
   "source": 4
  },
  {
   "ts": "2026-08-30T06:24:14.847Z",
   "subscribers": 22842,
   "source": 4
  },
  {
   "ts": "2026-08-31T06:07:13.926Z",
   "subscribers": 22828,
   "source": 4
  },
  {
   "ts": "2026-09-01T08:35:34.681Z",
   "subscribers": 22811,
   "source": 4
  },
  {
   "ts": "2026-09-02T08:25:05.058Z",
   "subscribers": 22796,
   "source": 4
  },
  {
   "ts": "2026-09-03T13:21:06.098Z",
   "subscribers": 22785,
   "source": 4
  },
  {
   "ts": "2026-09-05T09:01:30.930Z",
   "subscribers": 22768,
   "source": 4
  },
  {
   "ts": "2026-09-08T12:36:08.773Z",
   "subscribers": 22720,
   "source": 4
  }
 ]
}
