Home · Docs · Endpoints · github/issue/comments
github/issue/comments — the conversation, with nobody's name
The comments on an issue or pull request by `owner/name` and `number`. Text, dates and reactions — and not one field saying who wrote them, removed by us.
The call
| Path | GET /api/v1/github/issue/comments |
|---|---|
| Catalogue id | github/issue/comments |
| Cost | 1 credit per call. A call that finds nothing costs nothing. |
| Key | Required — Authorization: Bearer hk_live_... |
Parameters (2)
| Name | In | Required |
|---|---|---|
repo | query | yes |
number | query | yes |
That list is the whole list, and anything else is ignored in silence. An undeclared parameter is not rejected — it produces no error, no warning and no filtering. Check a parameter against this table before assuming a narrower result came back.
What the parameter list does not tell you
⚠️ THERE ARE NO AUTHOR FIELDS, AND THE UPSTREAM HAD THEM. Login, avatar URL, profile URL and `author_association` all arrive in the GitHub response and are discarded before it reaches you. This is ours, not a limitation we inherited — the same line we drew on `youtube/video/comments`, for the same reason: a comment is a published sentence, and the person who wrote it did not publish a profile by writing it.
SO THE SAME THINGS ARE IMPOSSIBLE HERE. You cannot group comments by commenter, count how often an account appears, or follow someone to their profile. `author_association` would also have told you whether a commenter is a maintainer or a first-time contributor, which is a genuinely useful signal and is also an attribute of the person. It is dropped with the rest.
⚠️ AN EMPTY LIST IS AN ANSWER, AND WE MEASURED THE CASE. A real call for number 9 of `vercel/next.js` returned `items: []`, and the GitHub API itself reports `comments: 0` on that issue — so the empty list is correct, not a failure. An issue that does not exist is a real 404 instead. Branch on `items.length` for the first and on the status code for the second; they are different facts and the response distinguishes them.
CODE REVIEW COMMENTS ARE NOT HERE. On a pull request, line-level review comments live at a different upstream endpoint. This route returns the conversation thread only, which is why a PR with a long review can come back with few items.
Measured caveats (1)
The comment routes carry no author fields at all
`youtube/video/comments` and `youtube/video/comment/replies` return the comment text and its counters and NOTHING identifying who wrote it — no handle, no display name, no avatar, no channel id. This is a deliberate narrowing, not a gap in the upstream: the official API offers those fields and we drop them before they reach you. A comment is a published sentence; the person who wrote it did not publish a profile by writing it. If your use case needs the author, these two routes are the wrong source and will stay that way.
Source: Real production calls on 4 October 2026 — 100 comments and 100 replies, checked field by field against the upstream Google Data API v3 response, which did carry the author fields we removed.
Why there is no success body on this page
The 200 body for this endpoint is not transcribed here. Reading it needs a client key, and there is no client key on the machine these pages were built from — internal keys exist only as hashes, by design. An example we never received would look exactly like one we did, so instead of composing one, the response shape is documented field by field on the schema pages below. Those are generated from the contract and tested against it in both directions; an invented example would be tested by nothing.
Response shapes (2)
PostsEnvelope— Every posts endpoint answers with this envelope. Eight fields, all required: you can read `success` and `credits_used` without checking whether they came.ApiError— Every 4xx and 5xx from the API carries this object. The `error` value is a stable string you can branch on; the extra fields appear only for the errors that have something to report.
Error codes (8)
Every one of them carries the same body shape: ApiError. The error value is a stable string you can branch on — branch on that, never on the message text.
400 · 401 · 402 · 404 · 405 · 451 · 503 · 502
Machine-readable
This endpoint is in /openapi.json (OpenAPI 3.1), with its cost on the operation itself. If you are generating a client, use the spec rather than this page — and note that the spec is filtered by what is switched on right now, so it is the better answer to "can I call this today".
The other 24 endpoint pages
archive/trends · archive/movers · archive/coverage · profile/history · youtube/channel · pinterest/boards · bluesky/post · tiktok/post · tiktok/search_suggestions · tiktok/video_screen_text · tiktok/post_transcript · youtube/video · youtube/channel/videos · youtube/playlist · youtube/channel/shorts · youtube/channel/lives · youtube/channel/playlists · youtube/video/comments · youtube/video/comment/replies · github/repo · github/repo/issues · github/repo/readme · github/repo/releases · github/issue