Reddit API
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.
Developers searching for a Reddit API usually want to post to subreddits from an app: text, links, images, video, or polls. Reddit's own Data API can do that, but you must register a Reddit app, implement OAuth, respect a 10-minute gap between posts, stay under 100 requests/minute per token, and pay Reddit directly once you leave the free call allotment.
Aether is a Reddit API for products. You keep one REST client (and optional MCP tools) for Reddit plus Instagram, TikTok, LinkedIn, and the rest of the stack. Reddit Data API costs are included in your Aether plan — no per-call Reddit invoice.
Sign up, create an API key in the dashboard, and send the user a Connect Link. They authorize on Reddit. You receive a profileId and call posts.create(). That is the full Reddit API key flow — see also the Next.js posting guide and the Sprout Social API alternative if you are migrating off a dashboard vendor.
One call for link posts, text posts, and polls. Specify subreddit, post type, and flair in the overrides object.
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 keyimport 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 -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"
}
}
}'Aether returns a normalized post object immediately. Once published, publishResults includes the native Reddit post ID and permalink.
{
"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"
}
}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.
// 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"Reddit Data API costs are included in your Aether subscription. No separate billing relationship with Reddit, no per-call metering on your side.
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.
Each Reddit account is a separate connected profile with its own profileId. Manage multiple accounts for agencies, community managers, or multi-brand orgs.
Target any subreddit and specify post flair via the overrides.reddit object. Aether returns clear error messages when subreddit rules reject a post.
Reddit's 100 requests/minute limit is tracked per OAuth token. Aether queues excess requests and retries automatically with exponential backoff.
Pass scheduledFor to queue posts for future publishing. Works for all Reddit post types. Note: some subreddits flag posts from off-peak hours.
Upvotes, comments, awards, and karma delta — per post and per account. Historical data with custom date ranges via the Analytics API.
Every Reddit endpoint is an MCP tool. Claude, Cursor, and any MCP-compatible agent can post to subreddits and pull analytics without extra code.
Reddit's API is well-documented but has cost and complexity tradeoffs. Here's the comparison.
| Feature | Aether | Reddit API directly |
|---|---|---|
| API costs | ✓Included in Aether plan — no Reddit bill | ✗$0.24 per 1,000 calls beyond free tier |
| Authentication | ✓One API key | ✗OAuth 2.0 + client ID/secret per app |
| Rate limits | ✓Managed automatically | ✗100 requests/minute per OAuth token |
| Multi-account | ✓Multiple accounts via profileIds | ✗One token per account, manual rotation |
| API maintenance | ✓We absorb all breaking changes | ✗Your team's responsibility |
| Subreddit rules | Platform rules still apply | Platform rules still apply |
Platform-level limits set by Reddit. Aether queues and retries automatically — your integration does not need backoff logic.
| Operation | Limit | Error code | Note |
|---|---|---|---|
| API requests | 100 req / min per token | 429 | Per OAuth token |
| Post gap | 10 min between posts | RATELIMIT | Same account, anti-spam |
| Post title | 300 characters | 400 | Required field |
| Text post body | 40,000 characters | 400 | Markdown supported |
| Gallery images | 20 images max | 400 | Per gallery post |
| Poll options | 2–6 options | 400 | Duration 1–7 days |
| Code | Meaning | How Aether handles it |
|---|---|---|
| 401 | Invalid or expired access token | Aether auto-refreshes OAuth tokens — reconnect if it persists |
| 403 | Account banned or not allowed in subreddit | Check account standing and subreddit rules; contact sub moderators |
| 429 | Rate limit exceeded (100 req/min) | Aether queues and retries after the window resets |
| RATELIMIT | Posting too fast — 10 min gap required | Aether enforces the gap automatically between consecutive posts |
| 400 | Invalid post type or missing required field | Aether validates requests; check subreddit, title, and post type |
| SUBREDDIT_NOTALLOWED | Account not approved for restricted sub | Request subreddit access separately; Aether returns this as an error |
AI-Native
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.
# 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?"The Reddit API (Reddit Data API) is Reddit's official HTTP interface for posting to subreddits, reading listings, and managing accounts. Direct access requires a Reddit developer app, OAuth, and paid usage above Reddit's free tier ($0.24 per 1,000 API calls). Aether wraps that surface: one API key, Reddit Data API costs included in your plan, no separate Reddit billing.
You do not need a Reddit API key from reddit.com. Create a free Aether account, generate a Connect Link for Reddit, complete OAuth on Reddit's screen, and post with the returned profileId. That Aether key is the Reddit API key for your product — posting, scheduling, and analytics included.
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.
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.
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.
Reddit Data API costs are included in your Aether subscription. You do not have a separate billing relationship with Reddit — Aether handles that entirely.
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.
Free tier · 3 accounts · full API access · MCP server · no credit card.
Get your free API key →