{
 "meta": {
  "dataset": "Subscriber history — @pdfreading",
  "channel": "https://tgregister.com/channel/pdfreading",
  "retrieved_at": "2026-09-12T21:39:56.135Z",
  "licence": "CC BY 4.0 — attribute to tgregister.com",
  "n_readings": 30,
  "window": {
   "from": "2026-08-06T04:21:29.288Z",
   "to": "2026-09-11T14:41:52.334Z"
  },
  "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-06T04:21:29.288Z",
   "subscribers": 16899,
   "source": 0
  },
  {
   "ts": "2026-08-06T22:20:39.612Z",
   "subscribers": 16905,
   "source": 4
  },
  {
   "ts": "2026-08-08T01:26:02.271Z",
   "subscribers": 16911,
   "source": 4
  },
  {
   "ts": "2026-08-08T23:03:46.257Z",
   "subscribers": 16914,
   "source": 4
  },
  {
   "ts": "2026-08-09T22:14:27.076Z",
   "subscribers": 16918,
   "source": 4
  },
  {
   "ts": "2026-08-11T01:35:29.234Z",
   "subscribers": 16916,
   "source": 4
  },
  {
   "ts": "2026-08-12T03:52:16.294Z",
   "subscribers": 16917,
   "source": 4
  },
  {
   "ts": "2026-08-13T07:15:17.987Z",
   "subscribers": 16920,
   "source": 4
  },
  {
   "ts": "2026-08-14T13:25:20.726Z",
   "subscribers": 16921,
   "source": 4
  },
  {
   "ts": "2026-08-16T04:18:24.997Z",
   "subscribers": 16927,
   "source": 4
  },
  {
   "ts": "2026-08-17T12:59:03.001Z",
   "subscribers": 16929,
   "source": 4
  },
  {
   "ts": "2026-08-17T20:11:59.080Z",
   "subscribers": 16929,
   "source": 1
  },
  {
   "ts": "2026-08-18T09:34:39.303Z",
   "subscribers": 16932,
   "source": 4
  },
  {
   "ts": "2026-08-19T09:45:58.645Z",
   "subscribers": 16935,
   "source": 4
  },
  {
   "ts": "2026-08-21T12:23:54.821Z",
   "subscribers": 16943,
   "source": 4
  },
  {
   "ts": "2026-08-22T19:09:15.977Z",
   "subscribers": 16947,
   "source": 4
  },
  {
   "ts": "2026-08-24T13:47:31.895Z",
   "subscribers": 16946,
   "source": 4
  },
  {
   "ts": "2026-08-25T12:09:22.171Z",
   "subscribers": 16948,
   "source": 4
  },
  {
   "ts": "2026-08-26T15:03:15.549Z",
   "subscribers": 16943,
   "source": 4
  },
  {
   "ts": "2026-08-27T16:47:51.391Z",
   "subscribers": 16945,
   "source": 4
  },
  {
   "ts": "2026-08-28T13:13:31.408Z",
   "subscribers": 16942,
   "source": 4
  },
  {
   "ts": "2026-08-29T15:44:08.447Z",
   "subscribers": 16944,
   "source": 4
  },
  {
   "ts": "2026-08-30T16:22:42.473Z",
   "subscribers": 16941,
   "source": 4
  },
  {
   "ts": "2026-08-31T13:28:14.397Z",
   "subscribers": 16942,
   "source": 4
  },
  {
   "ts": "2026-09-01T10:29:05.135Z",
   "subscribers": 16945,
   "source": 4
  },
  {
   "ts": "2026-09-02T10:44:51.715Z",
   "subscribers": 16942,
   "source": 4
  },
  {
   "ts": "2026-09-03T19:16:33.265Z",
   "subscribers": 16947,
   "source": 4
  },
  {
   "ts": "2026-09-05T19:40:43.315Z",
   "subscribers": 16954,
   "source": 4
  },
  {
   "ts": "2026-09-09T00:38:09.425Z",
   "subscribers": 16966,
   "source": 4
  },
  {
   "ts": "2026-09-11T14:41:52.334Z",
   "subscribers": 16964,
   "source": 4
  }
 ]
}
