# Subreddit posts API - Veezee

Read any subreddit's feed programmatically: one page of posts as structured JSON, in the community's own front-page order by default, or `sort=new` for monitoring loops that poll and diff. Reddit splices promoted posts into feeds; `include_promoted` controls whether they appear.

Each page costs 4 credits; a cursor page is a new call priced the same way.

## Try it now

No account, no card: mint a free key in one call, then call the endpoint.

```
curl -s -X POST https://api.veezee.io/v1/keys/mint
```

```
curl "https://api.veezee.io/v1/reddit/subreddit-posts?subreddit_name=webdev&sort=new" \
  -H "Authorization: Bearer $VEEZEE_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
```

## Over MCP

Point an MCP client at `https://mcp.veezee.io/reddit` (streamable-http; `https://mcp.veezee.io/all` serves every platform over one connection) and call `reddit_get_subreddit_posts`:

```json
{
  "method": "tools/call",
  "params": {
    "name": "reddit_get_subreddit_posts",
    "arguments": {
      "subreddit_name": "webdev",
      "sort": "new"
    }
  }
}
```

## Parameters

| Param | Required | Type | Description |
| --- | --- | --- | --- |
| `subreddit_name` | yes | `string` | Subreddit name without the r/ prefix, e.g. 'selfhosted'. |
| `sort` | no | `string` | Defaults to the subreddit's front-page order. |
| `range` | no | `string` | Required with sort=top or controversial, but currently not applied upstream on this feed (results are all-time). |
| `include_promoted` | no | `boolean` | Keep the promoted ads Reddit splices into the feed (marked is_promoted). Default drops them. |
| `cursor` | no | `string` | Cursor from a previous page for older posts. |
| `freshness` | no | `string` | 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_credits` | no | `integer` | 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. |

Returns a `reddit_posts` envelope. Full field list: https://veezee.io/docs/fields#reddit_posts

## Pricing

`reddit_get_subreddit_posts` costs 4 credits base per call (surcharges for optional sections, cursor pages, and batches: https://veezee.io/docs/tools/reddit_get_subreddit_posts). Every key starts with a free budget of 200 credits per IP per day, no account, no card; past that, credits are $2.00 per 1,000 with no subscription required.

## FAQ

**Can I get top posts of the week?**

Known gap, stated honestly: on this feed sort=top currently returns all-time top regardless of `range`. For time-windowed queries use [reddit_search](https://veezee.io/docs/tools/reddit_search), whose range does work.

**Several subreddits in one call?**

One per call; loop client-side.

**How do I read comments on a post I found?**

Its t3_ id goes to the [Reddit thread API](https://veezee.io/reddit-thread-api).

## Read next

- [reddit_get_subreddit_posts: the full reference](https://veezee.io/docs/tools/reddit_get_subreddit_posts)
- [Brand monitoring recipe](https://veezee.io/use-cases/brand-monitoring)
- [Reddit API for AI agents](https://veezee.io/reddit-api-for-ai-agents)
- [Pricing](https://veezee.io/pricing)
