Reddit API

Reddit posting API with no per-call billing surprises

Reddit's Data API charges $0.24 per 1,000 calls beyond the free tier. Aether includes Reddit API costs in your plan — post text, links, images, videos, and polls across any subreddit with one API key.

Post to Reddit in under 15 minutes

One call for link posts, text posts, and polls. Specify subreddit, post type, and flair in the overrides object.

Node.js / TypeScript
import Aether from "aether";

const aether = new Aether({ apiKey: process.env.AETHER_API_KEY });

// Post a link to a subreddit
const post = await aether.posts.create({
  text: "We built an open API for social media automation. Here's how it works...",
  profileIds: ["rd_user789"],
  overrides: {
    reddit: {
      subreddit: "r/webdev",
      postType: "link",
      url: "https://aetherhq.dev",
      flair: "Tool",
    },
  },
});

// Post a text post with a poll
const poll = await aether.posts.create({
  profileIds: ["rd_user789"],
  overrides: {
    reddit: {
      subreddit: "r/webdev",
      postType: "poll",
      title: "How do you currently post to social media from your app?",
      options: ["Direct platform APIs", "Third-party API (Aether etc.)", "Manual dashboard", "We don't"],
      duration: 3,
    },
  },
});

Free tier · 3 accounts · no credit card

Get your free API key

The same call in Python and cURL

Python
import os
import aether

client = aether.Aether(api_key=os.environ["AETHER_API_KEY"])

# Post a link to a subreddit
post = client.posts.create(
    text="We built an open API for social media automation...",
    profile_ids=["rd_user789"],
    overrides={
        "reddit": {
            "subreddit": "r/webdev",
            "post_type": "link",
            "url": "https://aetherhq.dev",
            "flair": "Tool",
        }
    },
)
cURL
curl -X POST https://api.aetherhq.dev/v1/posts \
  -H "Authorization: Bearer $AETHER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "We built an open API for social media automation.",
    "profileIds": ["rd_user789"],
    "overrides": {
      "reddit": {
        "subreddit": "r/webdev",
        "postType": "link",
        "url": "https://aetherhq.dev",
        "flair": "Tool"
      }
    }
  }'

The actual API response

Aether returns a normalized post object immediately. Once published, publishResults includes the native Reddit post ID and permalink.

JSON
{
  "success": true,
  "data": {
    "id": "post_8s0wx5d",
    "status": "publishing",
    "text": "We built an open API for social media automation.",
    "profileIds": ["rd_user789"],
    "mediaUrls": [],
    "mediaKeys": [],
    "scheduledFor": null,
    "publishResults": [],
    "publishedAt": null,
    "failedAt": null,
    "createdAt": "2026-06-08T14:23:11.000Z"
  }
}

Reddit OAuth — without the app registration

Getting direct Reddit API access means: registering a Reddit developer app, managing OAuth 2.0 client credentials, implementing token refresh, and keeping up with Reddit's evolving API terms.

Aether's Connect Link removes all of that. Call one endpoint, get a URL, send it to your user. They authorize on Reddit, and the account appears in your dashboard.

TypeScript
// Generate a Connect Link for your user to authenticate Reddit
const link = await aether.connectLinks.create({
  platform: "reddit",
  redirectUrl: "https://yourapp.com/settings/social",
});

// Send link.url to your user — they click, authorize on Reddit,
// and the account appears in your dashboard automatically.
// No Reddit developer app setup needed on your end.
console.log(link.url);      // "https://connect.aetherhq.dev/link/cl_rd5x8y..."
console.log(link.expiresAt); // "2026-06-15T14:23:11.000Z"

Everything the Reddit API gives you

No Reddit billing

Reddit Data API costs are included in your Aether subscription. No separate billing relationship with Reddit, no per-call metering on your side.

All post types

Text posts, link posts, image posts, video posts, polls, and gallery posts (multiple images). Each type is a single API call with type-specific fields.

Multi-account support

Each Reddit account is a separate connected profile with its own profileId. Manage multiple accounts for agencies, community managers, or multi-brand orgs.

Subreddit and flair

Target any subreddit and specify post flair via the overrides.reddit object. Aether returns clear error messages when subreddit rules reject a post.

Rate limit management

Reddit's 100 requests/minute limit is tracked per OAuth token. Aether queues excess requests and retries automatically with exponential backoff.

Scheduling

Pass scheduledFor to queue posts for future publishing. Works for all Reddit post types. Note: some subreddits flag posts from off-peak hours.

Analytics

Upvotes, comments, awards, and karma delta — per post and per account. Historical data with custom date ranges via the Analytics API.

MCP / AI agents

Every Reddit endpoint is an MCP tool. Claude, Cursor, and any MCP-compatible agent can post to subreddits and pull analytics without extra code.

Why not build directly on the Reddit Data API?

Reddit's API is well-documented but has cost and complexity tradeoffs. Here's the comparison.

FeatureAetherReddit API directly
API costsIncluded in Aether plan — no Reddit bill$0.24 per 1,000 calls beyond free tier
AuthenticationOne API keyOAuth 2.0 + client ID/secret per app
Rate limitsManaged automatically100 requests/minute per OAuth token
Multi-accountMultiple accounts via profileIdsOne token per account, manual rotation
API maintenanceWe absorb all breaking changesYour team's responsibility
Subreddit rulesPlatform rules still applyPlatform rules still apply

Reddit API rate limits

Platform-level limits set by Reddit. Aether queues and retries automatically — your integration does not need backoff logic.

OperationLimitError codeNote
API requests100 req / min per token429Per OAuth token
Post gap10 min between postsRATELIMITSame account, anti-spam
Post title300 characters400Required field
Text post body40,000 characters400Markdown supported
Gallery images20 images max400Per gallery post
Poll options2–6 options400Duration 1–7 days

Reddit API error codes reference

CodeMeaningHow Aether handles it
401Invalid or expired access tokenAether auto-refreshes OAuth tokens — reconnect if it persists
403Account banned or not allowed in subredditCheck account standing and subreddit rules; contact sub moderators
429Rate limit exceeded (100 req/min)Aether queues and retries after the window resets
RATELIMITPosting too fast — 10 min gap requiredAether enforces the gap automatically between consecutive posts
400Invalid post type or missing required fieldAether validates requests; check subreddit, title, and post type
SUBREDDIT_NOTALLOWEDAccount not approved for restricted subRequest subreddit access separately; Aether returns this as an error

AI-Native

Let your AI agent post to Reddit

Aether ships an MCP server that exposes every Reddit endpoint as a callable tool. Claude Desktop, Cursor, and any MCP-compatible agent can post to subreddits, create polls, and pull analytics — with no additional integration code.

Claude Desktop config
# Add to ~/.claude/claude_desktop_config.json
{
  "mcpServers": {
    "aether": {
      "command": "npx",
      "args": ["-y", "aether-mcp"],
      "env": { "AETHER_API_KEY": "sk_live_..." }
    }
  }
}

# Claude can now post to Reddit:
# "Post our launch to r/webdev as a link post with the Tool flair"
# "Create a poll in r/programming about API integration approaches"
# "What subreddits are our posts getting the most upvotes in?"

Frequently asked questions

Does Aether handle Reddit's per-subreddit rules?+

Aether posts via the official Reddit API on your behalf, but subreddit-specific rules (approved submitters, flair requirements, post type restrictions) still apply at the platform level. We return clear, actionable error messages when Reddit rejects a post.

Can I manage multiple Reddit accounts through Aether?+

Yes. Each Reddit account is a separate connected profile with its own profileId. You can post from multiple accounts independently — useful for community managers and agencies handling multiple clients.

What post types does Reddit support through the API?+

Text posts, link posts, image posts, video posts, and polls. Gallery posts (multiple images) are also supported. Each type has its own required fields accessible via the overrides.reddit object.

How does Reddit's API pricing work with Aether?+

Reddit Data API costs are included in your Aether subscription. You do not have a separate billing relationship with Reddit — Aether handles that entirely.

Can I schedule Reddit posts?+

Yes. Use the standard scheduledFor field. Note that some subreddits flag posts made at off-peak hours, so we recommend testing scheduling behavior in the specific subreddits you target.

Ready to ship your Reddit integration?

Free tier · 3 accounts · full API access · MCP server · no credit card.

Get your free API key →