# Reddit

Publish text, link, image, gallery and native video posts to a subreddit with the Zernio API, with flairs, NSFW and spoiler tags.

import { Tab, Tabs } from 'fumadocs-ui/components/tabs';


<Callout type="warn">
**Reddit is temporarily unavailable.** Reddit has blocked third-party apps from its API: posts fail with a clear error, messages and analytics stop syncing, and Reddit-only endpoints return 503 `PLATFORM_DISABLED`. Accounts stay connected. Reddit Ads is not affected.
</Callout>

Publish text, link, image, gallery and native video posts to Reddit with `POST /v1/posts` and `platform: "reddit"`.

Every post targets one subreddit, and each subreddit has its own rules, so read them before you submit.

## Quick reference

The same account also serves DMs, comments and subreddit search.

| Property | Value |
|----------|-------|
| Title limit | 300 characters (required, cannot be edited after posting) |
| Body text | 40,000 characters |
| Images per post | 1 (single), 2 to 20 (gallery) |
| Videos per post | 1 |
| Video format | MP4 |
| Video max size | 1 GB |
| Image formats | JPEG, PNG, GIF |
| Image max size | 20 MB |
| Post types | Text, Link, Image, Gallery, Native video |
| Scheduling | Yes |
| Inbox (DMs) | Yes (text only) |
| Inbox (comments) | Yes |
| Editing published posts | Body of a text post; titles and link posts cannot be edited |
| Analytics | Limited (upvotes and comments only) |

## Before you start

Reddit requires a subreddit for every post, and each subreddit is moderated independently with its own rules. What one subreddit accepts, another removes.

Before posting to a subreddit through the API, check:

- that it allows your post type (text, link or image)
- whether it requires a flair (many subreddits auto-remove posts without one)
- whether it allows third-party or automated posting
- its karma and account-age requirements

[Get subreddit rules](/connect/get-subreddit-rules) returns a subreddit's posting rules plus Reddit's site-wide rules.

[Check subreddit](/validate/validate-subreddit) confirms that a subreddit exists and which post types it allows.

<Callout type="warn">
The title is permanent: Reddit titles cannot be edited after posting.
</Callout>

- **New accounts are restricted**: low karma and a young account block most subreddits.
- **Video rules vary by subreddit**: native video with body text fails if the subreddit blocks videos. Video posts without body text can fall back to a link post.

## Connect

Call `GET /v1/connect/reddit` with `profileId` on [Get OAuth connect URL](/connect/get-connect-url).

The [connecting accounts guide](/guides/connecting-accounts) covers the OAuth flow and [scopes](/guides/connecting-accounts#scopes). [Account health](/accounts/get-all-accounts-health) reports what a connected account can do with the scopes the user granted.

A connected account has a default subreddit.

[List Reddit subreddits](/connect/get-reddit-subreddits) returns the subreddits the account can post to and the current default. [Set default subreddit](/connect/update-reddit-subreddits) changes it without a second OAuth.

## Publish a post

This request publishes a text post to a subreddit right away. `platformSpecificData.subreddit` is required.

<Tabs items={['Node.js', 'Python', 'curl']}>
<Tab value="Node.js">
```typescript
import Zernio from '@zernio/node';

const zernio = new Zernio();

const { data: published } = await zernio.posts.createPost({
  body: {
    content: 'Tips for learning a new programming language\n\nHere is what worked for me:\n\n1. Start with the official tutorial\n2. Build a small project immediately\n3. Read other people\'s code',
    platforms: [
      {
        platform: 'reddit',
        accountId: '66b2e19d8c3f5a7e9d0b1c2d',
        platformSpecificData: { subreddit: 'learnprogramming' }
      }
    ],
    publishNow: true
  }
});

console.log(published.post.platforms[0].platformPostUrl);
```
</Tab>
<Tab value="Python">
```python
from zernio import Zernio

client = Zernio()

published = client.posts.create_post(
    content="Tips for learning a new programming language\n\nHere is what worked for me:\n\n1. Start with the official tutorial\n2. Build a small project immediately\n3. Read other people's code",
    platforms=[
        {
            "platform": "reddit",
            "accountId": "66b2e19d8c3f5a7e9d0b1c2d",
            "platformSpecificData": {"subreddit": "learnprogramming"}
        }
    ],
    publish_now=True
)

print(published["post"]["platforms"][0]["platformPostUrl"])
```
</Tab>
<Tab value="curl">
```bash
curl -X POST https://zernio.com/api/v1/posts \
  -H "Authorization: Bearer $ZERNIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Tips for learning a new programming language\n\nHere is what worked for me:\n\n1. Start with the official tutorial\n2. Build a small project immediately\n3. Read other people'\''s code",
    "platforms": [
      {
        "platform": "reddit",
        "accountId": "66b2e19d8c3f5a7e9d0b1c2d",
        "platformSpecificData": {"subreddit": "learnprogramming"}
      }
    ],
    "publishNow": true
  }'
```
</Tab>
</Tabs>

Every option is on [Posts](/platforms/reddit/posts).

## Why Reddit is unavailable

Since October 19, 2026, Reddit blocks every API call our app makes, for all Zernio customers at once. Nothing changed on the Zernio side, and we are working with Reddit to restore access.

While the block lasts:

- Scheduled and new Reddit posts fail with a `Reddit is temporarily unavailable` error. Other platforms in the same post still publish.
- Reddit messages, comments and analytics stop syncing. What was already synced stays readable.
- New Reddit connections are not possible. Connected accounts stay connected, so you do not need to reconnect once Reddit is back.
- Reddit Ads runs on a separate Reddit app and keeps working.

Once Reddit restores access, Reddit turns back on with no action from you. Retry the failed posts then.

## In this section

<PlatformPages platform="reddit" />

## Related

- [Connecting accounts](/guides/connecting-accounts): the OAuth flow.
- [Reddit Ads](/platforms/reddit-ads): paid campaigns and promoted posts, a separate connection.
- [Create post](/posts/create-post): every field of the request.
- [Reddit search](/reddit-search/search-reddit): search posts and browse subreddit feeds.
- [Get subreddit rules](/connect/get-subreddit-rules) and [List Reddit subreddits](/connect/get-reddit-subreddits): check a subreddit before posting.
- [Messages](/messages/list-inbox-conversations) and [Comments](/comments/list-inbox-comments): the inbox API.