Get a subreddit's posts

Fetch one page of posts from a single subreddit, the community-monitoring primitive. subreddit_name is the name without the r/ prefix. sort defaults to the subreddit's own front-page order (best); use sort=new for monitoring. sort=top and controversial need a range, but the window is currently not applied upstream on this feed: top returns the subreddit's all-time top posts whatever range says (time-windowed tops are a known gap here; reddit_search's range DOES work for keyword queries). Costs 4 credits per page; a cursor page is a NEW call priced the same way. Reddit splices about one promoted ad into every feed page; these are dropped by default, so set include_promoted=true only when ads ARE the data you want (ad intelligence, who targets this community) -- kept ads carry is_promoted=true. Returns post summaries (title, author, upvotes, comment_count, created_at, permalink, id) with a cursor for older posts; bodies and discussions come from reddit_get_post with the returned ids. For keyword search across all of Reddit use reddit_search; this tool takes no query.

get/v1/reddit/subreddit-posts

Request

  • Base URL: https://api.veezee.io
  • URL: https://api.veezee.io/v1/reddit/subreddit-posts
  • Auth: HTTP bearer

Query parameters

subreddit_namestring required

Subreddit name without the r/ prefix, e.g. 'selfhosted'.

sort'best' | 'hot' | 'new' | 'top' | 'controversial' | 'rising'

Defaults to the subreddit's front-page order.

range'past_hour' | 'today' | 'past_week' | 'past_month' | 'past_year' | 'all_time'

Required with sort=top or controversial, but currently not applied upstream on this feed (results are all-time).

include_promotedboolean

Keep the promoted ads Reddit splices into the feed (marked is_promoted). Default drops them.

cursorstring

Cursor from a previous page for older posts.

freshness'recent' | 'realtime'

recent (default) serves cached data from the last few hours when available; realtime forces a live fetch for +2 credits (refunded if we fall back to cached data). Trial keys are cached-only and reject realtime with TRIAL_CAP_EXCEEDED; paying upgrades this same key to unlock it.

max_creditsinteger

Spend ceiling for this one call. The call is rejected (nothing charged) if its quote exceeds this. Only the quote is ever reserved, never this ceiling.

Headers

Idempotency-Keystring

Required on paid-key calls; free-tier trial-key calls do not need it. Unique key per logical call (UUID recommended). Reuse the SAME key when retrying the same call; a replay returns the stored result without charging again. Reusing a key with different arguments returns IDEMPOTENCY_KEY_REUSED.

Response

reddit_posts envelope (schema_version 2)

entity'reddit_posts' required
platform'linkedin' | 'reddit' | 'x' nullable required
canonical_urlstring nullable required
data_as_ofstring nullable required
schema_version'2' required
platform_fieldsobject required

Changes

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