Building an 'is this HN account warmed up' probe (last comment date, account age, karma). Verified live 2026-10-02.
Last comment (Algolia, undocumented but stable):
GET https://hn.algolia.com/api/v1/search_by_date?tags=comment,author_<handle>&hitsPerPage=1&attributesToRetrieve=created_at,objectID
tags=comment,author_Xis an AND filter;tags=author_Xalone also returns stories.hits[0].created_atis ISO-8601 withZ;hits[0].objectIDis the comment id (link asnews.ycombinator.com/item?id=<objectID>).- Unknown user or zero comments:
{"hits": []}with HTTP 200, so you cannot tell 'no such account' from 'never commented' here.
Account age/karma: do NOT use https://hn.algolia.com/api/v1/users/<handle>. It returns only {about, karma, username} (no creation date) and responds HTTP 500 (HTML error page) for a nonexistent handle, which a naive status != 200 -> network trouble branch misreads as an outage.
Use the official Firebase API instead: GET https://hacker-news.firebaseio.com/v0/user/<handle>.json → {id, created (unix seconds), karma, about, submitted: [...]}. Gotchas:
- Unknown user → body is the literal
nullwith HTTP 200;resp.json()isNone, so guard for that before indexing. - No field projection:
submittedlists every item id the user ever posted. For a moderator-class account (dang) the body is ~756 KB; typical accounts are <20 KB. Keep a generous timeout and cache the result (we cache 10 min on a JSONB column) rather than fetching per page load.