Reddit API

Get Reddit data as clean JSON with one key: 21 endpoints, 1 to 2 credits per call, the same response shape as every other platform.

What you get#

Onekey exposes Reddit as 21 endpoints behind one API key: 4 endpoints return one record (data is an object) and 17 endpoints return a list (data is an array). Every answer uses the same envelope (success, data, metadata, error), the cost is reported in metadata.credits_charged, and fields are mapped onto the unified schema so the code you write for Reddit also works for the rest of the social networks category.

Endpoints#

EndpointWhat it doesParametersCreditsStatus
frontpageReddit r/all hot posts.cursor2beta may need a pack
new_subredditsNewly created subreddits.cursor2beta may need a pack
popular_subredditsPopular subreddits.cursor2beta may need a pack
postA Reddit post by id (with its listing metadata).id*2beta may need a pack
post_commentsTop-level comments of a Reddit post.id*2beta may need a pack
post_transcriptTranscript of a Reddit video post.url*2beta needs a pack
search_commentsSearch Reddit comments across all communities.query*1beta may need a pack
search_mediaSearch Reddit image and video posts.query*1beta may need a pack
search_postsSearch Reddit posts.q*, cursor2beta may need a pack
search_subredditSearch posts inside one subreddit.subreddit*, q*, cursor2beta may need a pack
search_subredditsSearch subreddits.q*, cursor2beta may need a pack
subreddit_aboutA subreddit's profile.subreddit*2beta may need a pack
subreddit_controversialControversial posts of a subreddit (past week).subreddit*, cursor2beta may need a pack
subreddit_hotHot posts of a subreddit.subreddit*, cursor2beta may need a pack
subreddit_newNewest posts of a subreddit.subreddit*, cursor2beta may need a pack
subreddit_risingRising posts of a subreddit.subreddit*, cursor2beta may need a pack
subreddit_rulesRules of a subreddit.subreddit*2beta may need a pack
subreddit_topTop posts of a subreddit (past week).subreddit*, cursor2beta may need a pack
user_aboutA Reddit user's profile.username*1beta may need a pack
user_commentsComments written by a Reddit user.username*, cursor2beta may need a pack
user_postsPosts submitted by a Reddit user.username*, cursor2beta may need a pack

A * marks a required parameter. Each endpoint name links to its reference page with the full parameter table, caching window and a recorded response.

Make a request#

This calls reddit.user_about (1 credit, beta). Replace YOUR_API_KEY with your key; sign up, no card. 1,000 free credits cover the open-platform endpoints. Hard-to-reach platforms (X, TikTok, Instagram, Reddit, and others marked on their page) need a verified email and a purchased pack.

curl "https://api.onekey.dev/v1/reddit/user_about?username=spez" \
  -H "x-api-key: YOUR_API_KEY"

Fields you get back#

These unified fields come back from Reddit, with the same names as on every other platform. The count is how many of its 21 mapped endpoints return the field; a field the source lacks is null, never missing. 3 platform-specific fields (ext.<name>) come on top, documented on each endpoint page.

FieldTypeEndpoints
content.createdAtISO 8601 date20
content.idstring19
content.textstring19
content.titlestring19
entity.namestring19
author.usernamestring15
engagement.likesinteger15
media.thumbnailUrlURL15
engagement.commentsinteger12
content.urlURL11
engagement.upvoteRationumber10
entity.stats.followersinteger4
author.avatarUrlURL1
author.idstring1
content.languagestring1
media.urlURL1

The full schema is in Unified schema.

Pricing#

Reddit calls cost 1 to 2 credits, flat per endpoint. Free when served from cache (0.2 credit for a cached response over 100 KB). Invalid, failed or not-found calls are not charged. See pricing for credit packs.