Reddit

Reddit User Posts

Get a Reddit user's submitted posts by username or profile URL. Sort by newest, hot, top or controversial, with a time window (past hour to all time) for top and controversial. Returns title, text, subreddit, date, score, upvote ratio, comment count, flair, shared link, video and gallery links and NSFW flags for each post, 25 per page, up to about 1,000 posts. Supports fetching multiple pages in a single API call (billed per page).

Price: $0.003 per page. Free tier: 50 requests/month.

get/v1/reddit/user/posts

Request

  • Base URL: https://apidirect.io
  • URL: https://apidirect.io/v1/reddit/user/posts
  • Auth: API key in header X-API-Key

Query parameters

usernamestring

Reddit username, with or without u/ (3-20 characters). Provide exactly one of username or url.

urlstring

Reddit profile URL, e.g. https://www.reddit.com/user/spez (max 500 characters). Provide exactly one of username or url.

sort_by'most_recent' | 'hot' | 'top' | 'controversial'

Sort order: most_recent, hot, top, or controversial (default: most_recent)

posted_ago'1h' | '24h' | '7d' | '30d' | '12m' | 'all'

Time window for sort_by=top or sort_by=controversial: 1h, 24h, 7d, 30d, 12m, or all (default: all). Rejected with any other sort_by.

pagesinteger

Number of pages to fetch, 1-40 (default: 1). Each page returns up to 25 posts.

get_sentimentboolean

Set to true to add AI emotion analysis to each post (returned in the posts array). Adds a sentiment object containing emotions (joy, trust, fear, surprise, sadness, disgust, anger and anticipation, each scored 0-100), dominant_emotion, emotional_intensity (0-10), and polarity (positive, negative or neutral). Any post that cannot be scored returns sentiment: null.

Response

Successful response

usernamestring nullable
sort_bystring nullable
pagesnumber nullable
countnumber nullable

Changes

No recorded changes to this operation across all 1 revision of this API.