{
 "meta": {
  "dataset": "Subscriber history — @KFP_BOOKS",
  "channel": "https://tgregister.com/channel/KFP_BOOKS",
  "retrieved_at": "2026-09-10T04:41:57.669Z",
  "licence": "CC BY 4.0 — attribute to tgregister.com",
  "n_readings": 30,
  "window": {
   "from": "2026-08-06T14:10:03.361Z",
   "to": "2026-09-10T04:21:01.182Z"
  },
  "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-06T14:10:03.361Z",
   "subscribers": 20369,
   "source": 0
  },
  {
   "ts": "2026-08-06T22:31:17.147Z",
   "subscribers": 20363,
   "source": 4
  },
  {
   "ts": "2026-08-07T20:38:00.092Z",
   "subscribers": 20341,
   "source": 4
  },
  {
   "ts": "2026-08-08T20:54:02.819Z",
   "subscribers": 20313,
   "source": 4
  },
  {
   "ts": "2026-08-09T23:34:39.609Z",
   "subscribers": 20302,
   "source": 4
  },
  {
   "ts": "2026-08-11T02:16:13.213Z",
   "subscribers": 20285,
   "source": 4
  },
  {
   "ts": "2026-08-12T05:07:05.892Z",
   "subscribers": 20374,
   "source": 4
  },
  {
   "ts": "2026-08-13T05:24:15.112Z",
   "subscribers": 20536,
   "source": 4
  },
  {
   "ts": "2026-08-14T10:17:31.419Z",
   "subscribers": 20631,
   "source": 4
  },
  {
   "ts": "2026-08-15T19:15:06.058Z",
   "subscribers": 20584,
   "source": 4
  },
  {
   "ts": "2026-08-16T17:23:04.930Z",
   "subscribers": 20584,
   "source": 1
  },
  {
   "ts": "2026-08-17T10:15:19.547Z",
   "subscribers": 20565,
   "source": 4
  },
  {
   "ts": "2026-08-18T12:37:33.630Z",
   "subscribers": 20549,
   "source": 4
  },
  {
   "ts": "2026-08-19T12:22:30.428Z",
   "subscribers": 20607,
   "source": 4
  },
  {
   "ts": "2026-08-20T14:38:45.892Z",
   "subscribers": 20729,
   "source": 4
  },
  {
   "ts": "2026-08-21T16:46:59.825Z",
   "subscribers": 20717,
   "source": 4
  },
  {
   "ts": "2026-08-23T01:04:10.536Z",
   "subscribers": 20735,
   "source": 4
  },
  {
   "ts": "2026-08-24T14:35:30.618Z",
   "subscribers": 20799,
   "source": 4
  },
  {
   "ts": "2026-08-25T16:09:03.073Z",
   "subscribers": 20780,
   "source": 4
  },
  {
   "ts": "2026-08-26T18:39:00.627Z",
   "subscribers": 20926,
   "source": 4
  },
  {
   "ts": "2026-08-27T17:17:55.949Z",
   "subscribers": 21028,
   "source": 4
  },
  {
   "ts": "2026-08-28T13:58:55.781Z",
   "subscribers": 20987,
   "source": 4
  },
  {
   "ts": "2026-08-29T11:25:07.234Z",
   "subscribers": 20958,
   "source": 4
  },
  {
   "ts": "2026-08-30T13:54:38.546Z",
   "subscribers": 21058,
   "source": 4
  },
  {
   "ts": "2026-08-31T14:33:28.625Z",
   "subscribers": 21056,
   "source": 4
  },
  {
   "ts": "2026-09-01T17:24:19.972Z",
   "subscribers": 21039,
   "source": 4
  },
  {
   "ts": "2026-09-02T20:48:57.371Z",
   "subscribers": 21222,
   "source": 4
  },
  {
   "ts": "2026-09-04T06:02:17.869Z",
   "subscribers": 21342,
   "source": 4
  },
  {
   "ts": "2026-09-06T21:20:28.743Z",
   "subscribers": 21376,
   "source": 4
  },
  {
   "ts": "2026-09-10T04:21:01.182Z",
   "subscribers": 21563,
   "source": 4
  }
 ]
}
