The Reddit connector exposes two endpoints:
| Endpoint | Purpose | Billed |
|---|---|---|
GET /v1/reddit/search | Keyword search across Reddit, optionally scoped to a subreddit | per page |
GET /v1/reddit/thread/{post_id} | A full thread — the post plus its nested comment tree | per page |
Post identifiers
A thread is identified by its post id — the short base-36 code in a comment URL. The API accepts any of these forms and normalises them:
https://www.reddit.com/r/Switzerland/comments/1n8xyz/some_title/
└────┘
post_id = 1n8xyz
- Bare id —
1n8xyz - Fullname —
t3_1n8xyz - Permalink —
/r/Switzerland/comments/1n8xyz/some_title/ - Full URL —
https://www.reddit.com/r/Switzerland/comments/1n8xyz/...
Post types
type | Meaning |
|---|---|
text | Self / text post (selftext populated) |
link | Outbound link post |
image | Single image |
gallery | Multi-image gallery |
video | Reddit-hosted or embedded video |
unknown | Type could not be determined |
Engagement vocabulary
Reddit's metric names are surfaced under stable keys:
| Field | Reddit meaning |
|---|---|
score | Net score (ups − downs) |
ups | Upvotes |
downs | Downvotes (Reddit usually reports 0) |
upvote_ratio | Fraction of votes that are upvotes (posts only) |
num_comments | Comment count on the post |
num_crossposts | Times the post was crossposted |
controversiality | Reddit's controversiality flag (comments only) |
total_awards_received | Awards on the item |
Why some fields are
null or 0Reddit omits or zeroes some metrics (notably downs, and vote counts on
archived or vote-fuzzed items). Missing fields are returned as null rather
than dropped, so your schema stays stable.
Latency & reliability
- The first request after a quiet period may be slower; subsequent requests are faster.
- Occasional
429 upstream_rate_limitedresponses indicate a transient block — retry with backoff and it will clear. See Errors. - Very large
max_pagesvalues run many sequential fetches; prefer modest page counts and paginate over multiple calls for big pulls.