Reddit transcript API
Pass a Reddit post permalink or hosted video URL and get caption text as plainText plus timed segments when tracks exist.
GET /v1/reddit/posts/transcript1 credit per successful request.
About this endpoint
Research and brand jobs often land on a Reddit video post where the demo or rant is spoken, not written in the title. Reddit does not document a stable transcript field for arbitrary public clips, and hosted-video URLs plus player markup change often enough to make DIY caption parsers expensive.
`GET /v1/reddit/posts/transcript` takes a required `url`: a public post permalink or a direct hosted video URL. Optional `language` is a two-letter ISO 639-1 code when more than one caption track exists. On a completed 200, branch on `data.lookupStatus` (`found` / `not_found` / `lookup_failed`). When the post resolves, `data.post` carries `id`, `url`, and nullable `videoId`. `data.transcript` is either null or `{ plainText, language, segments }` with `text` / `startMs` / `endMs` per segment.
`found` does not guarantee a non-null transcript — the post can resolve while captions are missing. Unlike LinkedIn or Rumble, a completed lookup still bills the flat credit even when `transcript` is null. There is no `useAiFallback`. Confirm with `meta.creditsCharged`, and keep `meta.requestId` when a row looks wrong.
Reddit transcript API FAQ
How do I get a Reddit post transcript via API?
Call `GET /v1/reddit/posts/transcript` with your Social Fetch API key (`x-api-key`) and a public post or hosted video `url`. Optionally pass `language` as a two-letter ISO 639-1 code. Read `data.lookupStatus`, then `data.post` and `data.transcript`. Full parameters and examples are in the API docs.
How much does the Reddit transcript endpoint cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.
What URL formats does the Reddit transcript API accept?
Public Reddit post permalinks and direct hosted video URLs. Pass one link as `url`. Private, deleted, or otherwise unresolved media come back as `not_found`.
What format is the Reddit transcript response?
When captions are available, `data.transcript` has `plainText`, `language` (ISO 639-1 when reported), and `segments` (`text`, `startMs`, `endMs`). When captions are missing after a resolved post, `transcript` is null. Always check `data.lookupStatus` before assuming speech text arrived.
Does a found Reddit transcript lookup always return text?
No. `lookupStatus` of `found` means the post resolved. `data.transcript` can still be null when captions are not exposed. You still pay the credit for a completed lookup (unlike LinkedIn/Rumble found-only billing). Persist `meta.requestId` when you need to debug a miss.
When should I pass the language query param?
Use optional `language` (exactly two letters, ISO 639-1) when you want to prefer a caption track among several. Omit it when you do not care which language track is chosen.
Reddit transcript vs Reddit post comments?
Use `GET /v1/reddit/posts/transcript` for spoken text from a video post. Use `GET /v1/reddit/posts/comments` for the comment tree on a permalink. They are different paths on the Reddit hub.